aBinaryMind

Some thoughts, some info, some rants

Redmine installation guide (Ubuntu)

Following is a guid to install Redmine (svn trunk) on Ubuntu 9.10.

The assumed location of Redmine is /srv/redmine

Phase 1: Setup Redmine

Step 1
Install required packages.

$ sudo apt-get install ruby rake ruby-dev rubygems libmysqlclient-dev libopenssl-ruby

Step 2
Check out Redmine trunk.

$ cd /srv
$ sudo svn co http://redmine.rubyforge.org/svn/trunk redmine

Step 3
Install required ruby gems:

$ sudo gem install rails mongrel mongrel_cluster daemons mysql actionmailer

Note 1: We may need to update Rails RAILS_GEM_VERSION in file [redmine]/config/environment.rb to reflect actual version of Rails gems installed.

Note 2: We may need to create soft link for rails & mongrel executables for convenient

$ sudo ln -s /var/lib/gems/1.8/bin/mongrel_rails /usr/local/bin/
$ sudo ln -s /var/lib/gems/1.8/bin/rails /usr/local/bin/
$ sudo ln -s /var/lib/gems/1.8/bin/mongrel_cluster_ctl /usr/local/bin/

Step 4
Create mysql database

$ mysql -u root -p
# Enter mysql root password when prompted

Run the following code in mysql, substitute your own database name, password, …

CREATE DATABASE redmine character SET utf8;
CREATE user 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL privileges ON redmine.* TO 'redmine'@'localhost';

Step 5
Create/Update database parameters in [redmine]/config/database.yml accordingly to prior step info.

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: my_password
  encoding: utf8

Step 6
Initialize the database

# Initialize session hash
$ sudo rake config/initializers/session_store.rb

# Load db schema
$ sudo rake db:migrate RAILS_ENV="production"

$ sudo rake redmine:load_default_data RAILS_ENV="production"

Step 7
Create redmine user & setting up directory permission

# Context: root:[redmine_dir]
$ sudo useradd redmine
$ sudo mkdir tmp public/plugin_assets
$ sudo chown -R redmine:redmine  files log tmp
$ sudo chmod -R 755 files log tmp public

Step 8
Testing the application server

$ sudo ruby script/server -e production

The server is listening on [http://localhost:3000].

Phase 2: Setup Apache & Mongrel Cluster

Step 1
Create mongrel cluster configuration files for Redmine.

$ sudo mongrel_rails cluster::configure -e production -p 3000 -N 3 -c /srv/redmine -a 127.0.0.1 --user redmine --group redmine

# Test mongrel_installation
$ sudo mongrel_rails cluster::start

Step 2
Create apache virtual host file at /etc/apache/sites-available/

<VirtualHost *:80>
  ServerName your.virtual-host.com
  DocumentRoot /srv/redmine

  <Directory /srv/redmine/public>
    AllowOverride FileInfo Indexes
  </Directory>

  RewriteEngine On

  # Redirect all non-static requests to Mongrel
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule ^/(.*)$ balancer://redmine_cluster%{REQUEST_URI} [P,QSA,L]

  ProxyPassReverse / balancer://redmine_cluster
  ProxyPreserveHost on

  <Proxy balancer://redmine_cluster>
    BalancerMember http://localhost:3000
    BalancerMember http://localhost:3001
    BalancerMember http://localhost:3002
  </Proxy>

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  # Block access to .svn directories
  <DirectoryMatch "^/.*/\.svn/">
    ErrorDocument 403 /404.html
    Order allow,deny
    Deny from all
    Satisfy All
  </DirectoryMatch>
</VirtualHost>

Step 3
Turn on the virtual host and required modules

$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_balancer
$ sudo a2ensite <your-virtualhost-file>

# Restart web server
$ sudo /etc/init.d/apache2 restart

Phase 3: Surviving the reboot & G!Mail SMTP

Step 1
Create global mongrel_cluster configuration

$ sudo mkdir /etc/mongrel_cluster
$ cd /etc/mongrel_cluster
$ sudo ln -s /srv/redmine/config/mongrel_cluster.yml /etc/mongrel_cluster/redmine.yml

Step 2
Update the services

$ cd /etc/init.d
$ sudo cp /var/lib/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster /etc/init.d/
$ sudo chmod +x /etc/init.d/mongrel_cluster
$ sudo /usr/sbin/update-rc.d -f mongrel_cluster defaults

Step 3
Configure G!Mail

$ sudo ruby script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git
# File: config/email.yml
production:
  delivery_method: :smtp
  smtp_settings:
    tls: true
    address: "smtp.gmail.com"
    port: '587'
    domain: "smtp.gmail.com"
    authentication: :plain
    user_name: "your_email@gmail.com"
    password: "your_password"

References

  1. http://www.redmine.org/wiki/redmine/RedmineInstall
  2. http://ubuntuforums.org/showthread.php?t=674598
  3. http://azureusonrails.rubyforge.org/wiki/wiki.pl?Install/Mongrel_Cluster_With_Apache_2.2
  4. http://redmineblog.com/articles/setup-redmine-to-send-email-using-gmail/

How to hide files in Nautilus

In Linux, files which name start by a dot ‘.’ are hidden by default in most file managers. However, there are cases when we want to hide dot-file from our view. For examples:

  • Desktop folder in our home folder.
  • Dropbox
  • lost+found directory at the partition root

In Nautilus (default GNOME file manager) there’s a way. Add a file named

.hidden

with each line is the name of the file/folder you want to hide.

For example, if you want to hide Desktop from home folder you may type this command in the terminal:

$ echo "Desktop" > ~/.hidden

Note: This trick only works in Nautilus. It won’t work in Konqueror or Dolphin. I don’t know if it works in other file managers or not.

gnome-colors

The GNOME-Colors is a project that aims to make the GNOME desktop as elegant, consistent and colorful as possible.

The current goal is to allow full color customization of themes, icons, GDM logins and splash screens. There are already five full color-schemes available; Brave (Blue), Human (Orange), Wine (Red), Noble (Purple) and Wise (Green).

GNOME-Colors is mostly inspired/based on Tango, GNOME, Elementary, Tango-Generator and many other open-source projects.

via gnome-colors – Google Code.

If you want to update all the packages other than one package in your Ubuntu system follow this procedure

There are three ways of holding back packages, with dpkg, aptitude or with dselect.

Using dpkg

Put a package on hold

sudo echo “package hold” | dpkg --set-selections

Example

sudo echo “apache2 hold” | dpkg --set-selections

Remove the hold

sudo echo “package install” | dpkg --set-selections

Example

sudo echo “apache2 install” | dpkg --set-selections

Knowing the status of your packages

sudo dpkg --set-selections

Using aptitude

With aptitude, you can hold a package using

sudo aptitude hold package_name

Example

sudo aptitude hold apache2

and remove the hold with

sudo aptitude unhold package_name

Example

sudo aptitude unhold apache2

Using dselect

With dselect, you just have to enter the [S]elect screen, find the package you wish to hold in its present state, and press the `=’ key (or `H’). The changes will go live immediately after you exit the [S]elect screen.

via How to prevent a package from being updated in Ubuntu | Ubuntu Geek.

  • 0 Comments
  • Filed under: Bookmarks
  • About Me

    I'm an introvert & a geek. If you have enough time, patience and curiosity, please read this and this . After that, I'm sure we're gonna get along very well ;-)

    Bookmarks