HowTo install Redmine on CentOS 5 » History » Version 62

Stephan Schuberth, 2012-03-27 18:44

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