Project

General

Profile

HowTo install Redmine on CentOS 5 » History » Version 70

Stephan Schuberth, 2012-03-27 19:05

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