HowTo Install Redmine 212 in Ubuntu 1210 and Apache Passenger » History » Version 3

Julian Perelli, 2012-11-07 18:32

1 1 Julian Perelli
h1. HowTo Install Redmine 212 in Ubuntu 1210 and Apache Passenger
2 1 Julian Perelli
3 1 Julian Perelli
Inspired in "HowTo Install Redmine 210 on Debian Squeeze with Apache Passenger", from this same wiki, so meta-kudos, to the original authors.
4 1 Julian Perelli
5 1 Julian Perelli
h2. Assumptions
6 1 Julian Perelli
7 1 Julian Perelli
* We will be using redmine.example.com; so every time you see this below, replace it by your own domain
8 3 Julian Perelli
* For this to work maybe you shold edit /etc/hosts file adding a line "127.0.0.1 redmine.example.com"
9 1 Julian Perelli
* If you are behind a proxy, you could do export http_proxy="http://proxy.domain.tld:port" and the installation should work ok.
10 1 Julian Perelli
11 1 Julian Perelli
h2. Warming up
12 1 Julian Perelli
13 1 Julian Perelli
We will first need to install basic packages:
14 1 Julian Perelli
<pre>
15 1 Julian Perelli
apt-get install ruby rubygems libruby libapache2-mod-passenger
16 1 Julian Perelli
</pre>
17 1 Julian Perelli
Download the latest version of Redmine (2.1.2 in our case) and untar it, then move it to /usr/local/share
18 1 Julian Perelli
<pre>
19 2 Julian Perelli
wget http://rubyforge.org/frs/download.php/76495/redmine-2.1.2.tar.gz
20 1 Julian Perelli
tar -xzvf redmine-2.1.2.tar.gz
21 1 Julian Perelli
ln /usr/local/share/redmine-2.1.2 /usr/local/share/redmine
22 1 Julian Perelli
chown -R root:root /usr/local/share/redmine-2.1.2
23 1 Julian Perelli
</pre>
24 1 Julian Perelli
25 2 Julian Perelli
Install development libraries for MySQL and Imagick:
26 1 Julian Perelli
<pre>
27 2 Julian Perelli
apt-get install libmysqlclient-dev libmagickcore-dev libmagickwand-dev (install shitload of packages)
28 1 Julian Perelli
</pre>
29 1 Julian Perelli
30 1 Julian Perelli
h2. Running the Gem stuff
31 1 Julian Perelli
32 1 Julian Perelli
Install Bundler (removing useless module, which would otherwise create dependencies):
33 1 Julian Perelli
<pre>
34 1 Julian Perelli
gem install bundler
35 1 Julian Perelli
cd /usr/local/share/redmine/
36 3 Julian Perelli
bundle install --without development test postgresql sqlite
37 1 Julian Perelli
</pre>
38 1 Julian Perelli
39 1 Julian Perelli
h2. Configuration
40 1 Julian Perelli
41 1 Julian Perelli
Copy config/database.yml.example to config/database.yml and edit this file in order to configure your database settings for "production" environment.
42 1 Julian Perelli
Example for a MySQL database using ruby1.8 or jruby:
43 1 Julian Perelli
<pre>
44 1 Julian Perelli
production:
45 3 Julian Perelli
  adapter: mysql2
46 1 Julian Perelli
  database: redmine
47 1 Julian Perelli
  host: localhost
48 1 Julian Perelli
  username: redmine
49 1 Julian Perelli
  password: my_password
50 1 Julian Perelli
</pre>
51 1 Julian Perelli
52 1 Julian Perelli
Generate a session store secret:
53 1 Julian Perelli
<pre>
54 3 Julian Perelli
rake generate_secret_token
55 1 Julian Perelli
</pre>
56 1 Julian Perelli
57 1 Julian Perelli
Generate the database structure:
58 1 Julian Perelli
<pre>
59 3 Julian Perelli
RAILS_ENV=production rake db:migrate
60 1 Julian Perelli
</pre>
61 1 Julian Perelli
62 1 Julian Perelli
Generate default configuration data:
63 1 Julian Perelli
<pre>
64 3 Julian Perelli
RAILS_ENV=production rake redmine:load_default_data
65 1 Julian Perelli
</pre>
66 1 Julian Perelli
(using “es” for Spanish language in terminal prompt)
67 1 Julian Perelli
68 1 Julian Perelli
Setup config file in config/configuration.yml
69 1 Julian Perelli
70 1 Julian Perelli
Change database_ciphr_key: *******
71 1 Julian Perelli
<pre>
72 3 Julian Perelli
rake db:encrypt RAILS_ENV=production
73 1 Julian Perelli
</pre>
74 1 Julian Perelli
75 1 Julian Perelli
h2. Apache
76 1 Julian Perelli
77 1 Julian Perelli
Setup Apache’s VirtualHost config
78 1 Julian Perelli
79 1 Julian Perelli
<pre>
80 1 Julian Perelli
# 8080 in this case is because we use a reverse proxy before Apache. Otherwise simply use "*:80"
81 1 Julian Perelli
82 1 Julian Perelli
<VirtualHost *:8080>
83 1 Julian Perelli
 ServerName redmine.example.com
84 1 Julian Perelli
 DocumentRoot /usr/local/share/redmine/public
85 1 Julian Perelli
 <Directory /usr/local/share/redmine/public>
86 1 Julian Perelli
   AllowOverride all
87 1 Julian Perelli
   Options -MultiViews
88 1 Julian Perelli
 </Directory>
89 1 Julian Perelli
</VirtualHost>
90 1 Julian Perelli
</pre>
91 1 Julian Perelli
92 3 Julian Perelli
Once you enable this virtual host (a2ensite redmine.example.com) and reload Apache (apache2ctl graceful), you should see your site running on http://redmine.example.com.
93 1 Julian Perelli
94 1 Julian Perelli
The default login/password is admin/admin (don't forget to change this).
95 1 Julian Perelli
96 1 Julian Perelli
h2. Sources of inspiration
97 1 Julian Perelli
98 1 Julian Perelli
We used the following resources as a starting point. Thanks to their respective authors.
99 1 Julian Perelli
100 1 Julian Perelli
* http://madpropellerhead.com/random/20100820-installing-redmine-on-debian-with-apache (outdated, for Lenny)
101 1 Julian Perelli
* http://www.redmine.org/projects/redmine/wiki/RedmineInstall
102 1 Julian Perelli
* http://hodza.net/2012/03/15/howto-install-redmine-on-debian-6-squeeze-ruby-on-rails-apache2-passenger/
103 1 Julian Perelli
* http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Debian_with_Ruby-on-Rails_and_Apache2-Passenger