This is an old revision of the document!
Table of Contents
Redmine Project Management
Redmine is a bug tracking, source code and project management web application (similar to Trac).
- Official install guide: http://www.redmine.org/wiki/redmine/RedmineInstall
- Unofficial install guide: http://library.linode.com/development/project-management/redmine/ubuntu-9.10
- Arch Linux wiki guide: http://wiki.archlinux.org/index.php/Redmine_setup
Install dependencies
apt-get
# apt-get install build-essential ruby rubygems libopenssl-ruby libopenssl-ruby libsqlite3-dev
Ruby gems
$ sudo gem install rails -v=2.3.5 $ sudo gem install sqlite3 $ sudo gem install fastthread $ sudo gem install -v=0.4.2 i18n
Configure Redmine
Download and unzip the latest stable tarball:
$ wget http://rubyforge.org/frs/download.php/70486/redmine-0.9.4.tar.gz $ tar zxf redmine-0.9.4.tar.gz
Move redmine
Move redmine somewhere universal, outside of your home folder. We will configure Apache to serve redmine from this location:
$ sudo mv redmine-0.9.4 /opt/ $ cd /opt/redmine-0.9.4
Configure the database
We can either use MySQL or SQLite. SQLite has less overhead, and I'm not sure if it's any slower so we'll use that.
Edit config/database.yml:
production: adapter: sqlite3 dbfile: db/redmine.db
Initialize the database
$ chmod 600 config/database.yml $ rake rake generate_session_store $ RAILS_ENV=production rake db:migrate $ RAILS_ENV=production rake redmine:load_default_data
Test the server
Before we can use Redmine with Apache, we have to make sure the installation worked fine. Use the built-in webserver to test first:
$ script/server -e production
If you get an error about not finding ruby, make sure the ruby version in the script/server
script is correct.
Navigate to http://ip:3000 to see Redmine working. The default username and password are "admin"
Configure Apache
Install Phusion Passenger
Phusion Passenger ("mod_rails") is an Apache module which allows Apache to run ruby code (like mod_perl, mod_php, etc).
- Reference: http://www.modrails.com/install.html
- Also the guide on the Arch Linux wiki
Install the gem
# gem install passenger
Install the Apache module
Edit the invocation line of the passenger installer program to point to ruby1.8
instead of ruby
:
# vim /var/lib/gems/1.8/gems/passenger-2.2.14/bin/passenger-install-apache2-module
Run the installer:
# /var/lib/gems/1.8/gems/passenger-2.2.14/bin/passenger-install-apache2-module
Configure Apache settings
Apache will serve Redmine via Phusion Passenger, which doesn't rely on CGI or FastCGI! Make sure the .htaccess in redmine/public
is not enabled or it might try to serve Redmine via dispatch.cgi
.
Configure mod_rail.conf
/etc/apache2/conf.d/mod_rails.conf:
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.14/ext/apache2/mod_passenger.so PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.14 PassengerRuby /usr/bin/ruby1.8
Configure redmine.conf
/etc/apache2/conf.d/redmine.conf:
RailsBaseURI /redmine RailsEnv production <Directory "/var/www/redmine"> AllowOverride all Options -MultiViews #Options Indexes ExecCGI FollowSymLinks Order allow,deny Allow from all </Directory>
Link the Redmine installation to the web document root; make sure to use the same name as in your Apache configuration:
# ln -s /opt/redmine-0.9.4/public/ /var/www/redmine
Fix permissions
Change permissions so the web server can read/write important files/folders:
$ chown -R www-data:www-data /opt/redmine-0.9.4
Restart Apache
# apache2ctl graceful
Test the install
Migrate Trac projects
- Reference: http://www.redmine.org/wiki/1/RedmineMigrate
Install sqlite3-ruby
My Trac 11.x databases were in sqlite3 format, so I needed the sqlite3-ruby
gem:
# gem install sqlite3-ruby
Migrate project
From the Redmine directory:
# rake redmine:migrate_from_trac RAILS_ENV="production" (in /opt/redmine-0.9.4) WARNING: a new project will be added to Redmine during this process. Are you sure you want to continue ? [y/N] y Trac directory []: /var/lib/trac/sampler Trac database adapter (sqlite, sqlite3, mysql, postgresql) [sqlite]: sqlite3 Trac database encoding [UTF-8]: Target project identifier []: sampler Migrating components.. Migrating milestones.... Migrating custom fields Migrating tickets Migrating wiki........ Components: 2/2 Milestones: 4/4 Tickets: 0/0 Ticket files: 0/0 Custom values: 0/0 Wiki edits: 8/8 Wiki files: 0/0
Make sure you don't use spaces in the project identifier; this is part of the URL path for the Redmine interface.
Active Directory Authentication
None of this seems to work…
- Reference: http://www.redmine.org/wiki/1/RedmineLDAP
Patch
http://www.redmine.org/issues/4283
# cd /opt/redmine-0.9.4 # patch -p1 < /home/aorth/src/lookup_LDAP_attributes_as_user.patch
Updating Redmine from SVN
See the the official instructions on upgrading via SVN. Also done below on a real instance, 1.0.0 → 1.0.1:
# cd /opt # tar cjf redmine_before_1.0.1.tar.bz2 redmine/ # cd redmine # svn update # rake db:migrate RAILS_ENV=production # rake db:migrate_plugins RAILS_ENV=production # rake tmp:cache:clear # rake tmp:sessions:clear # apache2ctl graceful
Change local administrator password manually
# cd /opt/redmine # RAILS_ENV=production ruby1.8 script/runner 'user = User.find(:first, :conditions => {:admin => true}) ; user.password, user.password_confirmation = "my_password"; user.save!'