InstallRedmineOnDebianStableApacheMysqlPassenger » History » Version 3
Jan Niggemann (redmine.org team member), 2013-01-22 11:26
1 | 3 | Jan Niggemann (redmine.org team member) | h1. InstallRedmineOnDebianStableApacheMysqlPassenger |
---|---|---|---|
2 | 1 | Jan Niggemann (redmine.org team member) | |
3 | 3 | Jan Niggemann (redmine.org team member) | Last updated: January 2012 |
4 | 1 | Jan Niggemann (redmine.org team member) | |
5 | 3 | Jan Niggemann (redmine.org team member) | h1. Chapter 0: Preface |
6 | 1 | Jan Niggemann (redmine.org team member) | |
7 | 3 | Jan Niggemann (redmine.org team member) | h2. About this guide |
8 | |||
9 | This is a step-by-step guide to install redmine on "Debian stable" (called Squeeze at the moment of writing). |
||
10 | It is written for people who are familiar with Debian, the shell, MySQL, Apache and Linux in general. |
||
11 | To keep this guide short, it does not explain every step in detail, but *after reading, even novices should end up with a working redmine instance*. |
||
12 | |||
13 | *%{color:red}Please note:%* We're 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. |
||
14 | |||
15 | h1. Chapter 1: Install ruby, rails, gems and passenger |
||
16 | |||
17 | {{collapse(Read chapter 1) |
||
18 | |||
19 | 1 | Jan Niggemann (redmine.org team member) | h2. 1.1 Prepare your system |
20 | |||
21 | <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</pre> |
||
22 | |||
23 | h2. 1.2 download, build and install ruby |
||
24 | |||
25 | <pre>wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz |
||
26 | tar xvfz ruby-1.9.3-p327.tar.gz |
||
27 | cd ruby-1.9.2-p0 |
||
28 | ./configure --enable-pthread --prefix=/usr/local |
||
29 | make && make install</pre> |
||
30 | |||
31 | h2. 1.3 check if ruby works |
||
32 | |||
33 | <pre>ruby –v</pre> |
||
34 | |||
35 | h2. 1.4 make ruby support OpenSSL |
||
36 | |||
37 | <pre>cd ruby-1.9.2-p0 |
||
38 | cd ext/openssl/ |
||
39 | ruby extconf.rb |
||
40 | make && make install</pre> |
||
41 | |||
42 | h2. 1.5 gem installed? |
||
43 | |||
44 | By now, gem should already be installed, check: |
||
45 | <pre>gem -v</pre> |
||
46 | |||
47 | h2. 1.6 install rails |
||
48 | |||
49 | <pre>gem install rails</pre> |
||
50 | |||
51 | h2. 1.7 install passenger (application server) |
||
52 | |||
53 | <pre>gem install passenger |
||
54 | passenger-install-apache2-module</pre> |
||
55 | |||
56 | h2. 1.8 configure apache |
||
57 | |||
58 | Put this in /etc/apache/mods-available/passenger.load |
||
59 | <pre>LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.18/ext/apache2/mod_passenger.so</pre> |
||
60 | |||
61 | And put this in /etc/apache/mods-available/passenger.conf |
||
62 | <pre>PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.18 |
||
63 | PassengerRuby /usr/local/bin/ruby |
||
64 | PassengerDefaultUser www-data</pre> |
||
65 | |||
66 | |||
67 | h2. 1.9 activate module |
||
68 | |||
69 | <pre>a2enmod passenger</pre> |
||
70 | |||
71 | 3 | Jan Niggemann (redmine.org team member) | }} |
72 | 1 | Jan Niggemann (redmine.org team member) | |
73 | 3 | Jan Niggemann (redmine.org team member) | h1. Chapter 2: Install redmine |
74 | |||
75 | {{collapse(Read chapter 2) |
||
76 | |||
77 | 2 | Jan Niggemann (redmine.org team member) | h2. 2.1 download redmine |
78 | |||
79 | Get latest zip from "here":http://rubyforge.org/frs/?group_id=1850 and unpack to /opt |
||
80 | |||
81 | h2. 2.2 further prepare the system |
||
82 | |||
83 | Note: Installing @libmagick9-dev@ installs a lot of packages (depends / recommends) |
||
84 | <pre>gem install bundler |
||
85 | apt-get install libmagick9-dev |
||
86 | bundle install --without postgresql</pre> |
||
87 | |||
88 | h2. 2.3 create databases |
||
89 | |||
90 | We now create 2 databases, one for production and one for development. |
||
91 | I won't give detailed instructions on how to use mysql, please use you favorite search engine to find information you need. |
||
92 | |||
93 | <pre>create database redmine character set utf8; |
||
94 | create database redmine_dev character set utf8; |
||
95 | create user 'redmine'@'localhost' identified by 'XXX'; |
||
96 | grant all privileges on redmine.* to 'redmine'@'localhost'; |
||
97 | grant all privileges on redmine_dev.* to 'redmine'@'localhost';</pre> |
||
98 | |||
99 | |||
100 | h2. 2.4 configure DB-connection |
||
101 | |||
102 | Put this in /opt/redmine/config/database.yml |
||
103 | <pre>production: |
||
104 | adapter: mysql2 |
||
105 | database: redmine |
||
106 | host: localhost |
||
107 | username: redmine |
||
108 | password: my_password</pre> |
||
109 | |||
110 | h2. 2.5 generate a session store secret |
||
111 | |||
112 | <pre>rake generate_secret_token</pre> |
||
113 | |||
114 | h2. 2.6 prepare database / create tables |
||
115 | |||
116 | <pre>RAILS_ENV=production rake db:migrate</pre> |
||
117 | |||
118 | h2. 2.7 set filesystem permissions |
||
119 | |||
120 | <pre>mkdir /opt/redmine/plugin_assets (oder public/plugin_assets?) |
||
121 | chown www-data:www-data /opt/redmine/plugin_assets</<pre> |
||
122 | 1 | Jan Niggemann (redmine.org team member) | |
123 | h2. 2.8 test if it works |
||
124 | <pre>ruby script/rails server webrick -e production</<pre> |
||
125 | Now go to http://localhost:3000 and see redmine in action. |
||
126 | 3 | Jan Niggemann (redmine.org team member) | |
127 | }} |
||
128 | |||
129 | h1. Chapter 3: Configure apache and passenger |
||
130 | |||
131 | In this guide, we deploy to a sub-URI. Read other guides if you want a name-based virtual host configuration. |
||
132 | |||
133 | {{collapse(Read chapter 3) |
||
134 | |||
135 | h2. Deployment in subURI |
||
136 | <pre> |
||
137 | ln -s /opt/redmine/public /var/www/redmine |
||
138 | |||
139 | /etc/apache2/sites-available/redmine |
||
140 | |||
141 | [Location /redmine-dev] |
||
142 | RailsEnv development |
||
143 | RailsBaseURI /redmine-dev |
||
144 | Options –MultiViews |
||
145 | [/Location] |
||
146 | [Location /redmine] |
||
147 | RailsEnv production |
||
148 | RailsBaseURI /redmine |
||
149 | Options –MultiViews |
||
150 | [/Location] |
||
151 | </pre> |
||
152 | |||
153 | }} |