HowTo install Redmine on CentOS 5 » History » Version 71

Stephan Schuberth, 2012-03-27 19:06

1 27 Yu Kobayashi
h1. HowTo install Redmine on CentOS 5 or 6
2 1 Serafim J Fagundes
3 3 Mischa The Evil
{{>toc}}
4 3 Mischa The Evil
5 39 Stephan Schuberth
h1. Assumptions
6 33 Nick Shel
7 34 Nick Shel
* Apache is up and running
8 34 Nick Shel
* Apache has previously been used and works quite well 
9 34 Nick Shel
* MySQL is up and running
10 34 Nick Shel
* MySQL has previously been used and works quite well
11 1 Serafim J Fagundes
* Your are logged as root
12 1 Serafim J Fagundes
* The next steps are done successively without errors
13 30 Nick Shel
14 71 Stephan Schuberth
h1. Install pre-dependencies
15 1 Serafim J Fagundes
16 1 Serafim J Fagundes
<pre>yum -y install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel</pre>
17 28 Nick Shel
18 71 Stephan Schuberth
h2. Ruby
19 45 Stephan Schuberth
20 44 Stephan Schuberth
Things after *#* are comments, and it is no use to type this stuff in ;) 
21 41 Stephan Schuberth
<pre>cd ~/Downloads  # YOUR FOLDER OF CHOICE
22 1 Serafim J Fagundes
ftp ftp.ruby-lang.org
23 1 Serafim J Fagundes
</pre>
24 45 Stephan Schuberth
25 44 Stephan Schuberth
h3. FTP session
26 45 Stephan Schuberth
27 41 Stephan Schuberth
<pre>ftp> Anonymous  # USERLOGIN
28 1 Serafim J Fagundes
ftp> 'none', just hit Enter  # NO PASSWORD
29 1 Serafim J Fagundes
ftp> cd /pub/ruby
30 1 Serafim J Fagundes
ftp> get ruby-1.8.7.pXXX.tar.gz  # XXX is currently 358, as of 03/2012
31 41 Stephan Schuberth
ftp> bye</pre>
32 45 Stephan Schuberth
33 64 Stephan Schuberth
h3. Untar
34 45 Stephan Schuberth
35 41 Stephan Schuberth
<pre>tar zxvf ruby-1.8.7.pXXX.tar.gz</pre>
36 45 Stephan Schuberth
37 44 Stephan Schuberth
h3. Install
38 45 Stephan Schuberth
39 41 Stephan Schuberth
<pre>cd ruby-1.8.7.pXXX
40 1 Serafim J Fagundes
./configure
41 1 Serafim J Fagundes
make
42 41 Stephan Schuberth
make install</pre>
43 45 Stephan Schuberth
44 44 Stephan Schuberth
h3. Check Installation
45 45 Stephan Schuberth
46 54 Stephan Schuberth
If this does not work, it is probably because there is no ruby at /usr/bin to be found. 
47 1 Serafim J Fagundes
If it works, skip directly to "Get Gems 1.4.2".
48 55 Stephan Schuberth
<pre>ruby -v</pre>
49 55 Stephan Schuberth
50 53 Stephan Schuberth
51 49 Stephan Schuberth
h3. Fix dependencies with a symlink
52 51 Stephan Schuberth
53 49 Stephan Schuberth
(Only in case _ruby -v_ is *NOT* working)
54 1 Serafim J Fagundes
<pre>which ruby  # TO CHECK WHERE IT SHOULD BE
55 43 Stephan Schuberth
whereis ruby  # TO CHECK WHERE IT IS INSTALLED</pre>
56 49 Stephan Schuberth
_which_ returns like /usr/bin/ along with other directories (where ruby is expected to be), and _whereis_ returns like /usr/local/bin/ruby (thats where ruby actually lies).
57 1 Serafim J Fagundes
58 49 Stephan Schuberth
Create the Link:
59 49 Stephan Schuberth
<pre>ln -s /usr/local/bin/ruby /usr/bin/ruby</pre>
60 49 Stephan Schuberth
Check again if it is working:
61 49 Stephan Schuberth
<pre>ruby -v # NOW IT MUST RETURN RUBY VERSION, ELSE SOMETHING ELSE IS BROKEN
62 41 Stephan Schuberth
cd ..</pre>
63 38 Stephan Schuberth
64 40 Stephan Schuberth
h2. Get Gems 1.4.2 (does not work with Gems 1.5)
65 1 Serafim J Fagundes
66 68 Stephan Schuberth
h3. Download
67 63 Stephan Schuberth
68 63 Stephan Schuberth
<pre>wget http://production.cf.rubygems.org/rubygems/rubygems-1.4.2.tgz</pre>
69 63 Stephan Schuberth
70 69 Stephan Schuberth
h3. Untar
71 63 Stephan Schuberth
72 63 Stephan Schuberth
<pre>tar zxvf rubygems-1.4.2.tgz</pre>
73 63 Stephan Schuberth
74 63 Stephan Schuberth
h3. Setup
75 63 Stephan Schuberth
76 63 Stephan Schuberth
<pre>cd rubygems-1.4.2
77 63 Stephan Schuberth
ruby setup.rb</pre>
78 63 Stephan Schuberth
79 63 Stephan Schuberth
h3. Check if it works
80 63 Stephan Schuberth
81 63 Stephan Schuberth
<pre>gem -v</pre>
82 62 Stephan Schuberth
83 62 Stephan Schuberth
h3. In case this does not work...
84 62 Stephan Schuberth
85 62 Stephan Schuberth
... the solution is again creating a symlink, analogical like described in the ruby section above.
86 3 Mischa The Evil
87 1 Serafim J Fagundes
h2. Install Passenger (requires gcc)
88 1 Serafim J Fagundes
89 41 Stephan Schuberth
<pre>gem install passenger
90 41 Stephan Schuberth
passenger-install-apache2-module</pre>
91 26 Anonymous
92 26 Anonymous
An alternate method is to install mod_passenger RPM for Apache from the following location: 
93 26 Anonymous
http://passenger.stealthymonkeys.com/
94 26 Anonymous
95 56 Stephan Schuberth
h3. RHEL/CentOS 5
96 57 Stephan Schuberth
97 41 Stephan Schuberth
<pre>rpm -Uvh http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm
98 41 Stephan Schuberth
yum install mod_passenger</pre>
99 26 Anonymous
100 56 Stephan Schuberth
h3. RHEL/CentOS 6
101 57 Stephan Schuberth
102 41 Stephan Schuberth
<pre>rpm --import http://passenger.stealthymonkeys.com/RPM-GPG-KEY-stealthymonkeys.asc
103 26 Anonymous
yum install http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm
104 41 Stephan Schuberth
yum install mod_passenger</pre>
105 26 Anonymous
106 40 Stephan Schuberth
h2. Restart Apache
107 1 Serafim J Fagundes
108 1 Serafim J Fagundes
<pre>service httpd restart</pre>
109 1 Serafim J Fagundes
110 1 Serafim J Fagundes
h2. Download Redmine
111 3 Mischa The Evil
112 40 Stephan Schuberth
Download page: http://rubyforge.org/frs/?group_id=1850
113 1 Serafim J Fagundes
114 41 Stephan Schuberth
<pre>wget http://rubyforge.org/frs/download.php/75597/redmine-1.3.0.tar.gz  # GET LATEST VERSION ON RUBYFORGE
115 41 Stephan Schuberth
tar zxvf redmine-1.3.0.tar.gz</pre>
116 16 Steven Verbeek
117 1 Serafim J Fagundes
h2. Copy the folder to its HTTP document root folder
118 1 Serafim J Fagundes
119 40 Stephan Schuberth
<pre>cp -av redmine-1.3.0/* /var/www/redmine</pre>
120 16 Steven Verbeek
121 26 Anonymous
h2. Configure Apache to host the documents
122 1 Serafim J Fagundes
123 40 Stephan Schuberth
more information can be found here: [[HowTo configure Apache to run Redmine]]
124 1 Serafim J Fagundes
125 40 Stephan Schuberth
h2. Install Bundler
126 4 Neil McFarlane
127 1 Serafim J Fagundes
<pre>gem install bundler</pre>
128 1 Serafim J Fagundes
129 1 Serafim J Fagundes
h2. Add the Bundler Boot and preinitializer code
130 1 Serafim J Fagundes
131 8 Erwin Baeyens
For more info go to the "Bundler site":http://gembundler.com/.
132 20 Johannes M.
133 22 Johannes M.
h2. Create the Gemfile and register these gems in it
134 20 Johannes M.
135 21 Johannes M.
<pre>vi /var/www/redmine/Gemfile</pre>
136 21 Johannes M.
137 41 Stephan Schuberth
<pre># file: /var/www/redmine/Gemfile
138 21 Johannes M.
source "http://rubygems.org"
139 21 Johannes M.
gem "rake", "0.8.3"
140 21 Johannes M.
gem "rack", "1.1.0"
141 21 Johannes M.
gem "i18n", "0.4.2"
142 20 Johannes M.
gem "rubytree", "0.5.2", :require => "tree"
143 1 Serafim J Fagundes
gem "RedCloth", "~>4.2.3", :require => "redcloth" # for CodeRay
144 3 Mischa The Evil
gem "mysql"
145 41 Stephan Schuberth
gem "coderay", "~>0.9.7"</pre>
146 1 Serafim J Fagundes
147 40 Stephan Schuberth
<pre>bundle install</pre>
148 23 Johannes M.
149 70 Stephan Schuberth
h1. Set up the database
150 70 Stephan Schuberth
151 23 Johannes M.
h2. Create the Redmine MySQL database
152 23 Johannes M.
153 41 Stephan Schuberth
<pre>yum install mysql-server
154 23 Johannes M.
chkconfig mysqld on
155 23 Johannes M.
service mysqld start
156 41 Stephan Schuberth
/usr/bin/mysql_secure_installation</pre>
157 1 Serafim J Fagundes
158 67 Stephan Schuberth
h3. Latest MySQL Version
159 58 Stephan Schuberth
160 58 Stephan Schuberth
> start the mysql client (@mysql -u root -p@) and enter the following commands:
161 11 Erwin Baeyens
> > <pre>create database redmine character set utf8;
162 1 Serafim J Fagundes
create user 'redmine'@'localhost' identified by 'my_password';
163 1 Serafim J Fagundes
grant all privileges on redmine.* to 'redmine'@'localhost'; </pre>
164 11 Erwin Baeyens
165 66 Stephan Schuberth
h3. For versions of MySQL prior to 5.0.2
166 1 Serafim J Fagundes
167 66 Stephan Schuberth
> Skip the 'create user' step and instead:
168 66 Stephan Schuberth
> >  <pre> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password';</pre>
169 24 Johannes M.
170 59 Stephan Schuberth
Now MySQL user and rights should be set.
171 59 Stephan Schuberth
172 60 Stephan Schuberth
h2. Configure /var/www/redmine/config/database.yml 
173 60 Stephan Schuberth
174 60 Stephan Schuberth
<pre>cp database.yml.example database.yml</pre>
175 1 Serafim J Fagundes
176 61 Stephan Schuberth
todo: describe what to change there...
177 61 Stephan Schuberth
178 40 Stephan Schuberth
h2. Set the production environment (optional)
179 7 Thibault B
180 1 Serafim J Fagundes
Uncomment the following line in file redmine/config/environment.rb:
181 3 Mischa The Evil
182 1 Serafim J Fagundes
<pre>ENV['RAILS_ENV'] ||= 'production'</pre>
183 1 Serafim J Fagundes
184 40 Stephan Schuberth
h2. Generate the session store
185 3 Mischa The Evil
186 1 Serafim J Fagundes
<pre>RAILS_ENV=production bundle exec rake generate_session_store</pre>
187 1 Serafim J Fagundes
188 40 Stephan Schuberth
h2. Migrate the database models
189 3 Mischa The Evil
190 1 Serafim J Fagundes
<pre>RAILS_ENV=production bundle exec rake db:migrate</pre>
191 1 Serafim J Fagundes
192 40 Stephan Schuberth
h2. Load default data (optional)
193 3 Mischa The Evil
194 1 Serafim J Fagundes
<pre>RAILS_ENV=production bundle exec rake redmine:load_default_data</pre>
195 1 Serafim J Fagundes
196 1 Serafim J Fagundes
Follow instructions.
197 25 Johannes M.
198 40 Stephan Schuberth
h2. Rename dispatch CGI files in /var/www/redmine/public/
199 3 Mischa The Evil
200 3 Mischa The Evil
<pre>
201 1 Serafim J Fagundes
mv dispatch.cgi.example dispatch.cgi
202 1 Serafim J Fagundes
mv dispatch.fcgi.example dispatch.fcgi
203 3 Mischa The Evil
mv dispatch.rb.example dispatch.rb
204 1 Serafim J Fagundes
</pre>
205 1 Serafim J Fagundes
206 40 Stephan Schuberth
h2. Edit .htaccess file for CGI dispatch configuration
207 5 Mauro Mazzieri
208 5 Mauro Mazzieri
<pre>
209 5 Mauro Mazzieri
mv htaccess.fcgi.example .htaccess
210 1 Serafim J Fagundes
</pre>
211 1 Serafim J Fagundes
212 40 Stephan Schuberth
h2. Chown and Chmod files for read/write access for the Apache user
213 3 Mischa The Evil
214 3 Mischa The Evil
<pre>
215 1 Serafim J Fagundes
cd ..
216 1 Serafim J Fagundes
chown -R apache:apache redmine-1.x
217 3 Mischa The Evil
chmod -R 755 redmine-1.x
218 2 Serafim J Fagundes
</pre>
219 1 Serafim J Fagundes
220 40 Stephan Schuberth
h2. Redmine should be fully installed now and fully usable
221 1 Serafim J Fagundes
222 1 Serafim J Fagundes
Enjoy!