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
- http://www.redmine.org/wiki/redmine/RedmineInstall
- http://ubuntuforums.org/showthread.php?t=674598
- http://azureusonrails.rubyforge.org/wiki/wiki.pl?Install/Mongrel_Cluster_With_Apache_2.2
- http://redmineblog.com/articles/setup-redmine-to-send-email-using-gmail/
Recent Comments