InstallRedmineOnDebianStableApacheMysqlPassenger » History » Version 9

Jan Niggemann (redmine.org team member), 2013-02-17 18:36
Added PDF

1 3 Jan Niggemann (redmine.org team member)
h1. InstallRedmineOnDebianStableApacheMysqlPassenger
2 1 Jan Niggemann (redmine.org team member)
3 4 Jan Niggemann (redmine.org team member)
h1. Preface
4 1 Jan Niggemann (redmine.org team member)
5 9 Jan Niggemann (redmine.org team member)
Last updated: 2013-02-17
6 9 Jan Niggemann (redmine.org team member)
7 9 Jan Niggemann (redmine.org team member)
Download a PDF of the original document from my site: http://files.hz6.de/redmine/installing_redmine.pdf
8 1 Jan Niggemann (redmine.org team member)
9 4 Jan Niggemann (redmine.org team member)
*After reading this guide you should have a working redmine instance*.
10 4 Jan Niggemann (redmine.org team member)
If this is not the case or if a step fails, please post details on the forums and refer to this wiki page. Make sure to include the output of @gem env@ and / or @RAILS_ENV=production /opt/redmine/script/about@.
11 4 Jan Niggemann (redmine.org team member)
If this guide has issues, please "contact me":http://www.redmine.org/users/55460 or correct it yourself.
12 4 Jan Niggemann (redmine.org team member)
13 3 Jan Niggemann (redmine.org team member)
h2. About this guide
14 1 Jan Niggemann (redmine.org team member)
15 1 Jan Niggemann (redmine.org team member)
This is a step-by-step guide to install redmine on "Debian stable" (called Squeeze at the moment of writing).
16 3 Jan Niggemann (redmine.org team member)
It is written for people who are familiar with Debian, the shell, MySQL, Apache and Linux in general.
17 4 Jan Niggemann (redmine.org team member)
To keep this guide short, it does not explain every step in detail, but 
18 1 Jan Niggemann (redmine.org team member)
19 4 Jan Niggemann (redmine.org team member)
*The filenames and paths in this document are subject to frequent change. I'll do my best to keep them up-to-date, but please check anyway.*
20 3 Jan Niggemann (redmine.org team member)
21 4 Jan Niggemann (redmine.org team member)
*%{color:red}Please note:%* I'm assuming that you know how to use the tools at hand. If that's not the case (eg. you don't know how to create a new database or you don't know how to restart apache) please use the search engine of your choice and come back afterwards.
22 4 Jan Niggemann (redmine.org team member)
23 3 Jan Niggemann (redmine.org team member)
h1. Chapter 1: Install ruby, rails, gems and passenger
24 1 Jan Niggemann (redmine.org team member)
25 1 Jan Niggemann (redmine.org team member)
{{collapse(Read chapter 1)
26 1 Jan Niggemann (redmine.org team member)
27 1 Jan Niggemann (redmine.org team member)
h2. 1.1 Prepare your system
28 1 Jan Niggemann (redmine.org team member)
29 8 Jan Niggemann (redmine.org team member)
<pre>apt-get install gcc build-essential zlib1g zlib1g-dev zlibc libzlib-ruby libssl-dev libyaml-dev libcurl4-openssl-dev apache2-mpm-prefork apache2-prefork-dev libapr1-dev checkinstall</pre>
30 1 Jan Niggemann (redmine.org team member)
31 1 Jan Niggemann (redmine.org team member)
h2. 1.2 download, build and install ruby
32 1 Jan Niggemann (redmine.org team member)
33 4 Jan Niggemann (redmine.org team member)
<pre>cd ~
34 4 Jan Niggemann (redmine.org team member)
wget ftp://ftp.ruby-lang.org/pub/ruby/stable/ruby-1.9.3-p374.tar.gz
35 4 Jan Niggemann (redmine.org team member)
tar xvfz ruby-1.9.3-p374.tar.gz
36 4 Jan Niggemann (redmine.org team member)
cd ruby-1.9.3-p374
37 1 Jan Niggemann (redmine.org team member)
./configure --enable-pthread --prefix=/usr/local
38 8 Jan Niggemann (redmine.org team member)
make && checkinstall --type=debian --install=yes --fstrans=no --pakdir='~'</pre>
39 1 Jan Niggemann (redmine.org team member)
40 1 Jan Niggemann (redmine.org team member)
h2. 1.3 check if ruby works
41 1 Jan Niggemann (redmine.org team member)
42 4 Jan Niggemann (redmine.org team member)
Expected output: @ruby 1.9.3p374 (2013-01-15 revision 38858) [i686-linux]@
43 1 Jan Niggemann (redmine.org team member)
<pre>ruby –v</pre>
44 1 Jan Niggemann (redmine.org team member)
45 1 Jan Niggemann (redmine.org team member)
h2. 1.4 make ruby support OpenSSL
46 1 Jan Niggemann (redmine.org team member)
47 4 Jan Niggemann (redmine.org team member)
<pre>cd ext/openssl/
48 1 Jan Niggemann (redmine.org team member)
ruby extconf.rb
49 8 Jan Niggemann (redmine.org team member)
make && checkinstall --type=debian --install=yes --fstrans=no --pakdir='~'</pre>
50 1 Jan Niggemann (redmine.org team member)
51 1 Jan Niggemann (redmine.org team member)
h2. 1.5 gem installed?
52 1 Jan Niggemann (redmine.org team member)
53 4 Jan Niggemann (redmine.org team member)
Ruby 1.9 comes with RubyGems by default, so by now @gem@ should be installed. If correctly installed, the following command will output a version number like @1.8.2x@:
54 1 Jan Niggemann (redmine.org team member)
<pre>gem -v</pre>
55 1 Jan Niggemann (redmine.org team member)
56 1 Jan Niggemann (redmine.org team member)
h2. 1.6 install rails
57 1 Jan Niggemann (redmine.org team member)
58 1 Jan Niggemann (redmine.org team member)
<pre>gem install rails</pre>
59 1 Jan Niggemann (redmine.org team member)
60 1 Jan Niggemann (redmine.org team member)
h2. 1.7 install passenger (application server)
61 1 Jan Niggemann (redmine.org team member)
62 1 Jan Niggemann (redmine.org team member)
<pre>gem install passenger
63 1 Jan Niggemann (redmine.org team member)
passenger-install-apache2-module</pre>
64 1 Jan Niggemann (redmine.org team member)
65 1 Jan Niggemann (redmine.org team member)
h2. 1.8 configure apache
66 1 Jan Niggemann (redmine.org team member)
67 4 Jan Niggemann (redmine.org team member)
Put this in @/etc/apache/mods-available/passenger.load@ (remember to adjust the paths if necessary).
68 1 Jan Niggemann (redmine.org team member)
<pre>LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.18/ext/apache2/mod_passenger.so</pre>
69 1 Jan Niggemann (redmine.org team member)
70 4 Jan Niggemann (redmine.org team member)
And put this in @/etc/apache/mods-available/passenger.conf@ (remember to adjust the paths if necessary).
71 1 Jan Niggemann (redmine.org team member)
<pre>PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.18
72 1 Jan Niggemann (redmine.org team member)
PassengerRuby /usr/local/bin/ruby
73 1 Jan Niggemann (redmine.org team member)
PassengerDefaultUser www-data</pre>
74 1 Jan Niggemann (redmine.org team member)
75 1 Jan Niggemann (redmine.org team member)
76 1 Jan Niggemann (redmine.org team member)
h2. 1.9 activate module
77 1 Jan Niggemann (redmine.org team member)
78 3 Jan Niggemann (redmine.org team member)
<pre>a2enmod passenger</pre>
79 3 Jan Niggemann (redmine.org team member)
80 3 Jan Niggemann (redmine.org team member)
}}
81 2 Jan Niggemann (redmine.org team member)
82 1 Jan Niggemann (redmine.org team member)
h1. Chapter 2: Install redmine
83 2 Jan Niggemann (redmine.org team member)
84 1 Jan Niggemann (redmine.org team member)
{{collapse(Read chapter 2)
85 2 Jan Niggemann (redmine.org team member)
86 2 Jan Niggemann (redmine.org team member)
h2. 2.1 download redmine
87 2 Jan Niggemann (redmine.org team member)
88 4 Jan Niggemann (redmine.org team member)
Get latest zip from "here":http://rubyforge.org/frs/?group_id=1850 and unpack to /opt/redmine
89 2 Jan Niggemann (redmine.org team member)
90 2 Jan Niggemann (redmine.org team member)
h2. 2.2 further prepare the system
91 2 Jan Niggemann (redmine.org team member)
92 2 Jan Niggemann (redmine.org team member)
Note: Installing @libmagick9-dev@ installs a lot of packages (depends / recommends)
93 2 Jan Niggemann (redmine.org team member)
<pre>gem install bundler
94 1 Jan Niggemann (redmine.org team member)
apt-get install libmagick9-dev
95 4 Jan Niggemann (redmine.org team member)
cd /opt/redmine
96 2 Jan Niggemann (redmine.org team member)
bundle install --without postgresql</pre>
97 2 Jan Niggemann (redmine.org team member)
98 4 Jan Niggemann (redmine.org team member)
h2. 2.3 create database
99 2 Jan Niggemann (redmine.org team member)
100 2 Jan Niggemann (redmine.org team member)
<pre>create database redmine character set utf8;
101 2 Jan Niggemann (redmine.org team member)
create user 'redmine'@'localhost' identified by 'XXX';
102 2 Jan Niggemann (redmine.org team member)
grant all privileges on redmine.* to 'redmine'@'localhost';
103 4 Jan Niggemann (redmine.org team member)
</pre>
104 1 Jan Niggemann (redmine.org team member)
105 1 Jan Niggemann (redmine.org team member)
106 1 Jan Niggemann (redmine.org team member)
h2. 2.4 configure DB-connection
107 1 Jan Niggemann (redmine.org team member)
108 1 Jan Niggemann (redmine.org team member)
Put this in /opt/redmine/config/database.yml
109 2 Jan Niggemann (redmine.org team member)
<pre>production:
110 6 Jan Niggemann (redmine.org team member)
  adapter: mysql2
111 6 Jan Niggemann (redmine.org team member)
  database: redmine
112 6 Jan Niggemann (redmine.org team member)
  host: localhost
113 6 Jan Niggemann (redmine.org team member)
  username: redmine
114 6 Jan Niggemann (redmine.org team member)
  password: XXX</pre>
115 2 Jan Niggemann (redmine.org team member)
116 2 Jan Niggemann (redmine.org team member)
h2. 2.5 generate a session store secret
117 1 Jan Niggemann (redmine.org team member)
118 1 Jan Niggemann (redmine.org team member)
<pre>rake generate_secret_token</pre>
119 1 Jan Niggemann (redmine.org team member)
120 1 Jan Niggemann (redmine.org team member)
h2. 2.6 prepare database / create tables
121 1 Jan Niggemann (redmine.org team member)
122 1 Jan Niggemann (redmine.org team member)
<pre>RAILS_ENV=production rake db:migrate</pre>
123 2 Jan Niggemann (redmine.org team member)
124 1 Jan Niggemann (redmine.org team member)
h2. 2.7 set filesystem permissions
125 1 Jan Niggemann (redmine.org team member)
126 4 Jan Niggemann (redmine.org team member)
<pre>cd /opt/redmine
127 4 Jan Niggemann (redmine.org team member)
mkdir tmp tmp/pdf public/plugin_assets
128 4 Jan Niggemann (redmine.org team member)
chown -R www-data:www-data files log tmp public/plugin_assets
129 4 Jan Niggemann (redmine.org team member)
chmod -R 755 files log tmp public/plugin_assets
130 4 Jan Niggemann (redmine.org team member)
</pre>
131 1 Jan Niggemann (redmine.org team member)
132 1 Jan Niggemann (redmine.org team member)
h2. 2.8 test if it works
133 4 Jan Niggemann (redmine.org team member)
134 5 Jan Niggemann (redmine.org team member)
<pre>ruby script/rails server webrick -e production</pre>
135 3 Jan Niggemann (redmine.org team member)
Now go to http://localhost:3000 and see redmine in action.
136 3 Jan Niggemann (redmine.org team member)
137 3 Jan Niggemann (redmine.org team member)
}}
138 3 Jan Niggemann (redmine.org team member)
139 3 Jan Niggemann (redmine.org team member)
h1. Chapter 3: Configure apache and passenger
140 3 Jan Niggemann (redmine.org team member)
141 3 Jan Niggemann (redmine.org team member)
In this guide, we deploy to a sub-URI. Read other guides if you want a name-based virtual host configuration.
142 3 Jan Niggemann (redmine.org team member)
143 3 Jan Niggemann (redmine.org team member)
{{collapse(Read chapter 3)
144 3 Jan Niggemann (redmine.org team member)
145 4 Jan Niggemann (redmine.org team member)
h2. 3.1 Configure apache (subURI deployment)
146 3 Jan Niggemann (redmine.org team member)
147 4 Jan Niggemann (redmine.org team member)
<pre>ln -s /opt/redmine/public /var/www/redmine</pre>
148 3 Jan Niggemann (redmine.org team member)
149 4 Jan Niggemann (redmine.org team member)
Put this in @/etc/apache2/sites-available/redmine@
150 4 Jan Niggemann (redmine.org team member)
<pre>
151 4 Jan Niggemann (redmine.org team member)
<Location /redmine>
152 3 Jan Niggemann (redmine.org team member)
		RailsEnv production
153 3 Jan Niggemann (redmine.org team member)
		RailsBaseURI /redmine
154 3 Jan Niggemann (redmine.org team member)
		Options –MultiViews
155 4 Jan Niggemann (redmine.org team member)
</Location>
156 3 Jan Niggemann (redmine.org team member)
</pre>
157 4 Jan Niggemann (redmine.org team member)
158 4 Jan Niggemann (redmine.org team member)
Restart apache, test if http://yourhost.com/redmine is working, rejoice if it is :-)
159 4 Jan Niggemann (redmine.org team member)
160 4 Jan Niggemann (redmine.org team member)
If you see something unexpected, please post details on the forums and refer to this wiki page. Make sure to include the output of @gem env@ and / or @RAILS_ENV=production /opt/redmine/script/about@.
161 3 Jan Niggemann (redmine.org team member)
162 1 Jan Niggemann (redmine.org team member)
}}