Project

General

Profile

HowTo install Redmine on CentOS 5 » History » Version 83

Stephan Schuberth, 2012-03-27 19:42

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
5 39 Stephan Schuberth
h1. Assumptions
6 33 Nick Shel
7 34 Nick Shel
* Apache is up and running
8
* Apache has previously been used and works quite well 
9
* MySQL is up and running
10
* MySQL has previously been used and works quite well
11 1 Serafim J Fagundes
* Your are logged as root
12
* 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
<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
</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
ftp> cd /pub/ruby
30
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
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
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
<pre>ln -s /usr/local/bin/ruby /usr/bin/ruby</pre>
60
Check again if it is working:
61
<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 72 Stephan Schuberth
h2. RubyGems 1.4.2 
65
66
*Does not work with Gems 1.5!*
67 1 Serafim J Fagundes
68 68 Stephan Schuberth
h3. Download
69 63 Stephan Schuberth
70
<pre>wget http://production.cf.rubygems.org/rubygems/rubygems-1.4.2.tgz</pre>
71
72 69 Stephan Schuberth
h3. Untar
73 63 Stephan Schuberth
74
<pre>tar zxvf rubygems-1.4.2.tgz</pre>
75
76
h3. Setup
77
78
<pre>cd rubygems-1.4.2
79
ruby setup.rb</pre>
80
81
h3. Check if it works
82
83
<pre>gem -v</pre>
84 62 Stephan Schuberth
85
h3. In case this does not work...
86
87
... the solution is again creating a symlink, analogical like described in the ruby section above.
88 3 Mischa The Evil
89 73 Stephan Schuberth
h2. Passenger 
90
91 83 Stephan Schuberth
h3. Regular install method
92
93 73 Stephan Schuberth
Requires gcc.
94 1 Serafim J Fagundes
95 41 Stephan Schuberth
<pre>gem install passenger
96
passenger-install-apache2-module</pre>
97 26 Anonymous
98 79 Stephan Schuberth
If the second line does not work, do *whereis passenger* to find out where it is installed.
99
So you can execute it like */usr/local/bin/passenger-install-apache2-module* ...
100
101 81 Stephan Schuberth
h3. Alternative install method 
102 82 Stephan Schuberth
103 80 Stephan Schuberth
Install mod_passenger RPM for Apache from the following location: 
104 26 Anonymous
http://passenger.stealthymonkeys.com/
105 56 Stephan Schuberth
106 81 Stephan Schuberth
_RHEL/CentOS 5_
107 1 Serafim J Fagundes
<pre>rpm -Uvh http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm
108 26 Anonymous
yum install mod_passenger</pre>
109 56 Stephan Schuberth
110 81 Stephan Schuberth
_RHEL/CentOS 6_
111 41 Stephan Schuberth
<pre>rpm --import http://passenger.stealthymonkeys.com/RPM-GPG-KEY-stealthymonkeys.asc
112 26 Anonymous
yum install http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm
113 41 Stephan Schuberth
yum install mod_passenger</pre>
114 26 Anonymous
115 40 Stephan Schuberth
h2. Restart Apache
116 1 Serafim J Fagundes
117
<pre>service httpd restart</pre>
118
119 75 Stephan Schuberth
h1. Install Redmine
120 74 Stephan Schuberth
121
h2. Download
122 3 Mischa The Evil
123 40 Stephan Schuberth
Download page: http://rubyforge.org/frs/?group_id=1850
124 1 Serafim J Fagundes
125 41 Stephan Schuberth
<pre>wget http://rubyforge.org/frs/download.php/75597/redmine-1.3.0.tar.gz  # GET LATEST VERSION ON RUBYFORGE
126
tar zxvf redmine-1.3.0.tar.gz</pre>
127 16 Steven Verbeek
128 1 Serafim J Fagundes
h2. Copy the folder to its HTTP document root folder
129
130 40 Stephan Schuberth
<pre>cp -av redmine-1.3.0/* /var/www/redmine</pre>
131 16 Steven Verbeek
132 26 Anonymous
h2. Configure Apache to host the documents
133 1 Serafim J Fagundes
134 40 Stephan Schuberth
more information can be found here: [[HowTo configure Apache to run Redmine]]
135 1 Serafim J Fagundes
136 40 Stephan Schuberth
h2. Install Bundler
137 4 Neil McFarlane
138 1 Serafim J Fagundes
<pre>gem install bundler</pre>
139
140
h2. Add the Bundler Boot and preinitializer code
141
142 8 Erwin Baeyens
For more info go to the "Bundler site":http://gembundler.com/.
143 20 Johannes M.
144 22 Johannes M.
h2. Create the Gemfile and register these gems in it
145 20 Johannes M.
146 21 Johannes M.
<pre>vi /var/www/redmine/Gemfile</pre>
147
148 41 Stephan Schuberth
<pre># file: /var/www/redmine/Gemfile
149 21 Johannes M.
source "http://rubygems.org"
150
gem "rake", "0.8.3"
151
gem "rack", "1.1.0"
152
gem "i18n", "0.4.2"
153 20 Johannes M.
gem "rubytree", "0.5.2", :require => "tree"
154 1 Serafim J Fagundes
gem "RedCloth", "~>4.2.3", :require => "redcloth" # for CodeRay
155 3 Mischa The Evil
gem "mysql"
156 41 Stephan Schuberth
gem "coderay", "~>0.9.7"</pre>
157 1 Serafim J Fagundes
158 40 Stephan Schuberth
<pre>bundle install</pre>
159 23 Johannes M.
160 77 Stephan Schuberth
h1. Link MySQL DB to Redmine
161 70 Stephan Schuberth
162 23 Johannes M.
h2. Create the Redmine MySQL database
163
164 41 Stephan Schuberth
<pre>yum install mysql-server
165 23 Johannes M.
chkconfig mysqld on
166
service mysqld start
167 41 Stephan Schuberth
/usr/bin/mysql_secure_installation</pre>
168 1 Serafim J Fagundes
169 67 Stephan Schuberth
h3. Latest MySQL Version
170 58 Stephan Schuberth
171
> start the mysql client (@mysql -u root -p@) and enter the following commands:
172 11 Erwin Baeyens
> > <pre>create database redmine character set utf8;
173 1 Serafim J Fagundes
create user 'redmine'@'localhost' identified by 'my_password';
174
grant all privileges on redmine.* to 'redmine'@'localhost'; </pre>
175 11 Erwin Baeyens
176 66 Stephan Schuberth
h3. For versions of MySQL prior to 5.0.2
177 1 Serafim J Fagundes
178 66 Stephan Schuberth
> Skip the 'create user' step and instead:
179
> >  <pre> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password';</pre>
180 24 Johannes M.
181 59 Stephan Schuberth
Now MySQL user and rights should be set.
182
183 60 Stephan Schuberth
h2. Configure /var/www/redmine/config/database.yml 
184
185
<pre>cp database.yml.example database.yml</pre>
186 1 Serafim J Fagundes
187 61 Stephan Schuberth
todo: describe what to change there...
188
189 76 Stephan Schuberth
h1. Rails Settings
190
191 40 Stephan Schuberth
h2. Set the production environment (optional)
192 7 Thibault B
193 1 Serafim J Fagundes
Uncomment the following line in file redmine/config/environment.rb:
194 3 Mischa The Evil
195 1 Serafim J Fagundes
<pre>ENV['RAILS_ENV'] ||= 'production'</pre>
196
197 40 Stephan Schuberth
h2. Generate the session store
198 3 Mischa The Evil
199 1 Serafim J Fagundes
<pre>RAILS_ENV=production bundle exec rake generate_session_store</pre>
200
201 40 Stephan Schuberth
h2. Migrate the database models
202 3 Mischa The Evil
203 1 Serafim J Fagundes
<pre>RAILS_ENV=production bundle exec rake db:migrate</pre>
204
205 40 Stephan Schuberth
h2. Load default data (optional)
206 3 Mischa The Evil
207 1 Serafim J Fagundes
<pre>RAILS_ENV=production bundle exec rake redmine:load_default_data</pre>
208
209
Follow instructions.
210 25 Johannes M.
211 40 Stephan Schuberth
h2. Rename dispatch CGI files in /var/www/redmine/public/
212 3 Mischa The Evil
213
<pre>
214 1 Serafim J Fagundes
mv dispatch.cgi.example dispatch.cgi
215
mv dispatch.fcgi.example dispatch.fcgi
216 3 Mischa The Evil
mv dispatch.rb.example dispatch.rb
217 1 Serafim J Fagundes
</pre>
218
219 78 Stephan Schuberth
h1. Apache Settings
220
221 40 Stephan Schuberth
h2. Edit .htaccess file for CGI dispatch configuration
222 5 Mauro Mazzieri
223
<pre>
224
mv htaccess.fcgi.example .htaccess
225 1 Serafim J Fagundes
</pre>
226
227 40 Stephan Schuberth
h2. Chown and Chmod files for read/write access for the Apache user
228 3 Mischa The Evil
229
<pre>
230 1 Serafim J Fagundes
cd ..
231
chown -R apache:apache redmine-1.x
232 3 Mischa The Evil
chmod -R 755 redmine-1.x
233 2 Serafim J Fagundes
</pre>
234 1 Serafim J Fagundes
235 40 Stephan Schuberth
h2. Redmine should be fully installed now and fully usable
236 1 Serafim J Fagundes
237
Enjoy!