HowTo install Redmine on CentOS 5 » History » Version 88

Stephan Schuberth, 2012-03-27 20:47

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