HowTo Install Redmine on Debian Squeeze with Postgresql Ruby-on-Rails and Apache2-Passenger » History » Version 10

Carlos Miranda Molina, 2011-04-24 12:52
I added a complete Apache VirtualHost example

1 1 Kaj Ailomaa
h1. HowTo Install Redmine on Debian Squeeze with Postgresql Ruby-on-Rails and Apache2-Passenger
2 1 Kaj Ailomaa
3 7 Kaj Ailomaa
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.
4 7 Kaj Ailomaa
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.
5 1 Kaj Ailomaa
6 1 Kaj Ailomaa
First we become root and install some needed packages:
7 1 Kaj Ailomaa
<pre>
8 1 Kaj Ailomaa
su
9 1 Kaj Ailomaa
apt-get install postgresql-8.4 apache2 subversion rake rubygems libopenssl-ruby libpgsql-ruby libapache2-mod-passenger
10 3 Kaj Ailomaa
gem install -v=2.3.5 rails
11 1 Kaj Ailomaa
</pre>
12 8 Kaj Ailomaa
Before configuring redmine we need to create a user and a database in Postresql. Make sure to replace <password> with your password.
13 1 Kaj Ailomaa
<pre>
14 1 Kaj Ailomaa
su postgres
15 1 Kaj Ailomaa
psql
16 1 Kaj Ailomaa
postgres=# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD '<password>' NOINHERIT VALID UNTIL 'infinity';
17 9 Frédéric Stemmelin
postgres=# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine TEMPLATE template0;
18 2 Kaj Ailomaa
postgres=# \q
19 2 Kaj Ailomaa
exit
20 1 Kaj Ailomaa
</pre>
21 7 Kaj Ailomaa
Now, let's download Redmine and configure it
22 1 Kaj Ailomaa
<pre>
23 6 Kaj Ailomaa
cd /tmp
24 1 Kaj Ailomaa
svn co http://redmine.rubyforge.org/svn/branches/1.0-stable redmine-1.0
25 1 Kaj Ailomaa
mv redmine-1.0/ /var/lib/redmine
26 1 Kaj Ailomaa
cd /var/lib/redmine
27 1 Kaj Ailomaa
</pre>
28 1 Kaj Ailomaa
First some database stuff. Replace <password> with your password.
29 1 Kaj Ailomaa
<pre>
30 1 Kaj Ailomaa
echo "production:
31 1 Kaj Ailomaa
 adapter: postgresql
32 1 Kaj Ailomaa
 database: redmine
33 1 Kaj Ailomaa
 host: localhost
34 1 Kaj Ailomaa
 username: redmine
35 1 Kaj Ailomaa
 password: <password>
36 1 Kaj Ailomaa
 encoding: utf8
37 1 Kaj Ailomaa
 schema_search_path: public" > config/database.yml
38 1 Kaj Ailomaa
39 1 Kaj Ailomaa
RAILS_ENV=production rake config/initializers/session_store.rb
40 1 Kaj Ailomaa
rake generate_session_store
41 1 Kaj Ailomaa
RAILS_ENV=production rake db:migrate
42 1 Kaj Ailomaa
RAILS_ENV=production rake redmine:load_default_data 
43 1 Kaj Ailomaa
</pre>
44 1 Kaj Ailomaa
Finally, we setup Apache. A symbolic link to the www dir and ownership given to www-data.
45 1 Kaj Ailomaa
<pre>
46 1 Kaj Ailomaa
ln -s /var/lib/redmine/public /var/www/redmine
47 1 Kaj Ailomaa
chown -R www-data:www-data /var/www/redmine
48 1 Kaj Ailomaa
</pre>
49 7 Kaj Ailomaa
We enable the site and restart Apache.
50 1 Kaj Ailomaa
<pre>
51 1 Kaj Ailomaa
echo "RailsBaseURI /redmine" > /etc/apache2/sites-available/redmine
52 1 Kaj Ailomaa
a2ensite redmine
53 1 Kaj Ailomaa
/etc/init.d/apache2 restart
54 1 Kaj Ailomaa
</pre>
55 7 Kaj Ailomaa
That's it. You will find Redmine at either: 
56 5 Kaj Ailomaa
57 5 Kaj Ailomaa
localhost/redmine 
58 5 Kaj Ailomaa
your-ip/redmine or 
59 1 Kaj Ailomaa
your-domain/redmine 
60 10 Carlos Miranda Molina
61 10 Carlos Miranda Molina
62 10 Carlos Miranda Molina
If you need run redmine with a normal domain without alias (/redmine) you can follow the following instructions.
63 10 Carlos Miranda Molina
Install fcgid module for Apache
64 10 Carlos Miranda Molina
<pre>
65 10 Carlos Miranda Molina
aptitude install libapache2-mod-fcgid
66 10 Carlos Miranda Molina
</pre>
67 10 Carlos Miranda Molina
68 10 Carlos Miranda Molina
Configure a example VirtualHost /etc/apache2/sites-available/yourvirtualhost
69 10 Carlos Miranda Molina
<pre>
70 10 Carlos Miranda Molina
<VirtualHost *:80>
71 10 Carlos Miranda Molina
  ServerAdmin mail@yourserver
72 10 Carlos Miranda Molina
  ServerName  www.redmine.org
73 10 Carlos Miranda Molina
74 10 Carlos Miranda Molina
  DefaultInitEnv RAILS_ENV production
75 10 Carlos Miranda Molina
  DefaultInitEnv GEM_PATH /var/lib/gems/1.8
76 10 Carlos Miranda Molina
77 10 Carlos Miranda Molina
  DocumentRoot /var/lib/redmine/public
78 10 Carlos Miranda Molina
  <Directory /var/lib/redmine/public>
79 10 Carlos Miranda Molina
    Options +FollowSymLinks +ExecCGI
80 10 Carlos Miranda Molina
    RewriteEngine On
81 10 Carlos Miranda Molina
    RewriteRule ^$ index.html [QSA]
82 10 Carlos Miranda Molina
    RewriteRule ^([^.]+)$ $1.html [QSA]
83 10 Carlos Miranda Molina
    RewriteCond %{REQUEST_FILENAME} !-f
84 10 Carlos Miranda Molina
    RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
85 10 Carlos Miranda Molina
    ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
86 10 Carlos Miranda Molina
    AllowOverride None
87 10 Carlos Miranda Molina
    #AllowOverride all
88 10 Carlos Miranda Molina
    Order allow,deny
89 10 Carlos Miranda Molina
    allow from all
90 10 Carlos Miranda Molina
  </Directory>
91 10 Carlos Miranda Molina
  # Possible values include: debug, info, notice, warn, error, crit,
92 10 Carlos Miranda Molina
  # alert, emerg.
93 10 Carlos Miranda Molina
  LogLevel warn
94 10 Carlos Miranda Molina
95 10 Carlos Miranda Molina
  CustomLog /var/log/apache2/access.log combined
96 10 Carlos Miranda Molina
  ErrorLog /var/log/apache2/error.log
97 10 Carlos Miranda Molina
98 10 Carlos Miranda Molina
  ServerSignature Off
99 10 Carlos Miranda Molina
</VirtualHost>
100 10 Carlos Miranda Molina
</pre>
101 10 Carlos Miranda Molina
102 10 Carlos Miranda Molina
Enable the new VirtualHost and restart Apache mod-rewrite also needs
103 10 Carlos Miranda Molina
<pre>
104 10 Carlos Miranda Molina
cd /etc/apache2/sites-available
105 10 Carlos Miranda Molina
a2ensite yourvirtualhost
106 10 Carlos Miranda Molina
a2enmod rewrite
107 10 Carlos Miranda Molina
/etc/init.d/apache2 restart
108 10 Carlos Miranda Molina
</pre>
109 10 Carlos Miranda Molina
110 10 Carlos Miranda Molina
Remember change owner and permissions of /var/lib/redmine/files/ (for upload files)
111 10 Carlos Miranda Molina
<pre>
112 10 Carlos Miranda Molina
chown -R www-data:www-data /var/lib/redmine/files/
113 10 Carlos Miranda Molina
chmod -R 0777 /var/lib/redmine/files/
114 10 Carlos Miranda Molina
</pre>
115 5 Kaj Ailomaa
116 5 Kaj Ailomaa
Log in with user: admin, password: admin