HowTo Install Redmine on Debian Squeeze with Postgresql Ruby-on-Rails and Apache2-Passenger¶
This howto is similar to the HowTo Install Redmine on Debian with Ruby-on-Rails and Apache2-Passenger, but a little shorter and uses Postgresql instead of Mysql as the database server.
It should be noted that Redmine and all it's dependencies are available as packages in Debians' repo's, so there is no need to download Redmine from svn as we will do in this howto.
First we become root and install some needed packages:
su apt-get install postgresql-8.4 apache2 subversion rake rubygems libopenssl-ruby libpgsql-ruby libapache2-mod-passenger gem install -v=2.3.5 rails
Before configuring redmine we need to create a user and a database in Postresql. Make sure to replace <password> with your password.
su postgres psql postgres=# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD '<password>' NOINHERIT VALID UNTIL 'infinity'; postgres=# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine TEMPLATE template0; postgres=# \q exit
Now, let's download Redmine and configure it
cd /tmp svn co http://redmine.rubyforge.org/svn/branches/1.0-stable redmine-1.0 mv redmine-1.0/ /var/lib/redmine cd /var/lib/redmine
First some database stuff. Replace <password> with your password.
echo "production: adapter: postgresql database: redmine host: localhost username: redmine password: <password> encoding: utf8 schema_search_path: public" > config/database.yml RAILS_ENV=production rake config/initializers/session_store.rb rake generate_session_store RAILS_ENV=production rake db:migrate RAILS_ENV=production rake redmine:load_default_data
Finally, we setup Apache. A symbolic link to the www dir and ownership given to www-data.
ln -s /var/lib/redmine/public /var/www/redmine chown -R www-data:www-data /var/www/redmine
We enable the site and restart Apache.
echo "RailsBaseURI /redmine" > /etc/apache2/sites-available/redmine a2ensite redmine /etc/init.d/apache2 restart
That's it. You will find Redmine at either:
localhost/redmine
your-ip/redmine or
your-domain/redmine
If you need run redmine with a normal domain without alias (/redmine) you can follow the following instructions.
There are two possibilities:- use mod_fcgid
- use the already installed mod_passenger
Use mod_fcgid
Install fcgid module for Apache
aptitude install libapache2-mod-fcgid
Configure a example VirtualHost /etc/apache2/sites-available/yourvirtualhost
<VirtualHost *:80> ServerAdmin mail@yourserver ServerName www.redmine.org DefaultInitEnv RAILS_ENV production DefaultInitEnv GEM_PATH /var/lib/gems/1.8 DocumentRoot /var/lib/redmine/public <Directory /var/lib/redmine/public> Options +FollowSymLinks +ExecCGI RewriteEngine On RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly" AllowOverride None #AllowOverride all Order allow,deny allow from all </Directory> # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ErrorLog /var/log/apache2/error.log ServerSignature Off </VirtualHost>
Enable the new VirtualHost and restart Apache mod-rewrite also needs
cd /etc/apache2/sites-available a2ensite yourvirtualhost a2enmod rewrite /etc/init.d/apache2 restart
Remember change owner and permissions of /var/lib/redmine/files/ (for upload files)
chown -R www-data:www-data /var/lib/redmine/files/ chmod -R 0777 /var/lib/redmine/files/
Log in with user: admin, password: admin
Use the already installed mod_passenger
(Tested with Debian 6.0.1, Apache 2.2.16 and mod_passenger 2.2.11)
Create a simple configuration file under /etc/apache2/sites-available:
<VirtualHost *:80> ServerAdmin mail@yourserver ServerName www.redmine.org DocumentRoot /var/lib/redmine/public <Directory /var/lib/redmine/public> Options -MultiViews allow from all </Directory> # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ErrorLog /var/log/apache2/error.log ServerSignature Off </VirtualHost>
Note: Remember to do the changes with owner and permissions.
Updated by C. X. over 13 years ago · 11 revisions