Project

General

Profile

HowTo install Redmine on CentOS 5 » History » Version 96

Stephan Schuberth, 2012-03-27 20:59

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