HowTo install Redmine on CentOS 5 » History » Version 41

Stephan Schuberth, 2012-03-27 17:40

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 40 Stephan Schuberth
22 1 Serafim J Fagundes
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 38 Stephan Schuberth
FTP session:
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 38 Stephan Schuberth
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 38 Stephan Schuberth
Unzip:
33 41 Stephan Schuberth
<pre>tar zxvf ruby-1.8.7.pXXX.tar.gz</pre>
34 38 Stephan Schuberth
Install:
35 41 Stephan Schuberth
<pre>cd ruby-1.8.7.pXXX
36 1 Serafim J Fagundes
./configure
37 1 Serafim J Fagundes
make
38 41 Stephan Schuberth
make install</pre>
39 38 Stephan Schuberth
Check Installation:
40 41 Stephan Schuberth
<pre>which ruby</pre>
41 38 Stephan Schuberth
If this doesnt work, because there is no ruby at /usr/bin
42 1 Serafim J Fagundes
Maybe you need to create a symlink:
43 1 Serafim J Fagundes
# check with 'whereis ruby' where it was installed into,
44 38 Stephan Schuberth
# if it returns like /usr/local/bin/ruby (thats where ruby lies)...
45 38 Stephan Schuberth
# ... create symlink: ln -s /usr/local/bin/ruby /usr/bin/ruby
46 41 Stephan Schuberth
<pre>ruby -v # MUST RETURN RUBY VERSION, ELSE SOMETHING IS BROKEN
47 41 Stephan Schuberth
cd ..</pre>
48 38 Stephan Schuberth
49 40 Stephan Schuberth
h2. Get Gems 1.4.2 (does not work with Gems 1.5)
50 1 Serafim J Fagundes
51 41 Stephan Schuberth
<pre>wget http://production.cf.rubygems.org/rubygems/rubygems-1.4.2.tgz
52 1 Serafim J Fagundes
tar zxvf rubygems-1.4.2.tgz
53 1 Serafim J Fagundes
cd rubygems-1.4.2
54 1 Serafim J Fagundes
ruby setup.rb
55 1 Serafim J Fagundes
gem -v
56 1 Serafim J Fagundes
which gem
57 41 Stephan Schuberth
cd ..</pre>
58 3 Mischa The Evil
59 1 Serafim J Fagundes
h2. Install Passenger (requires gcc)
60 1 Serafim J Fagundes
61 41 Stephan Schuberth
<pre>gem install passenger
62 41 Stephan Schuberth
passenger-install-apache2-module</pre>
63 26 Anonymous
64 26 Anonymous
An alternate method is to install mod_passenger RPM for Apache from the following location: 
65 26 Anonymous
http://passenger.stealthymonkeys.com/
66 26 Anonymous
67 26 Anonymous
RHEL/CentOS 5
68 41 Stephan Schuberth
<pre>rpm -Uvh http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm
69 41 Stephan Schuberth
yum install mod_passenger</pre>
70 26 Anonymous
71 1 Serafim J Fagundes
RHEL/CentOS 6
72 41 Stephan Schuberth
<pre>rpm --import http://passenger.stealthymonkeys.com/RPM-GPG-KEY-stealthymonkeys.asc
73 26 Anonymous
yum install http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm
74 41 Stephan Schuberth
yum install mod_passenger</pre>
75 26 Anonymous
76 40 Stephan Schuberth
h2. Restart Apache
77 1 Serafim J Fagundes
78 1 Serafim J Fagundes
<pre>service httpd restart</pre>
79 1 Serafim J Fagundes
80 1 Serafim J Fagundes
h2. Download Redmine
81 3 Mischa The Evil
82 40 Stephan Schuberth
Download page: http://rubyforge.org/frs/?group_id=1850
83 1 Serafim J Fagundes
84 41 Stephan Schuberth
<pre>wget http://rubyforge.org/frs/download.php/75597/redmine-1.3.0.tar.gz  # GET LATEST VERSION ON RUBYFORGE
85 41 Stephan Schuberth
tar zxvf redmine-1.3.0.tar.gz</pre>
86 16 Steven Verbeek
87 1 Serafim J Fagundes
h2. Copy the folder to its HTTP document root folder
88 1 Serafim J Fagundes
89 40 Stephan Schuberth
<pre>cp -av redmine-1.3.0/* /var/www/redmine</pre>
90 16 Steven Verbeek
91 26 Anonymous
h2. Configure Apache to host the documents
92 1 Serafim J Fagundes
93 40 Stephan Schuberth
more information can be found here: [[HowTo configure Apache to run Redmine]]
94 1 Serafim J Fagundes
95 40 Stephan Schuberth
h2. Install Bundler
96 4 Neil McFarlane
97 1 Serafim J Fagundes
<pre>gem install bundler</pre>
98 1 Serafim J Fagundes
99 1 Serafim J Fagundes
h2. Add the Bundler Boot and preinitializer code
100 1 Serafim J Fagundes
101 8 Erwin Baeyens
For more info go to the "Bundler site":http://gembundler.com/.
102 20 Johannes M.
103 22 Johannes M.
h2. Create the Gemfile and register these gems in it
104 20 Johannes M.
105 21 Johannes M.
<pre>vi /var/www/redmine/Gemfile</pre>
106 21 Johannes M.
107 41 Stephan Schuberth
<pre># file: /var/www/redmine/Gemfile
108 21 Johannes M.
source "http://rubygems.org"
109 21 Johannes M.
gem "rake", "0.8.3"
110 21 Johannes M.
gem "rack", "1.1.0"
111 21 Johannes M.
gem "i18n", "0.4.2"
112 20 Johannes M.
gem "rubytree", "0.5.2", :require => "tree"
113 1 Serafim J Fagundes
gem "RedCloth", "~>4.2.3", :require => "redcloth" # for CodeRay
114 3 Mischa The Evil
gem "mysql"
115 41 Stephan Schuberth
gem "coderay", "~>0.9.7"</pre>
116 1 Serafim J Fagundes
117 40 Stephan Schuberth
<pre>bundle install</pre>
118 23 Johannes M.
119 23 Johannes M.
h2. Create the Redmine MySQL database
120 23 Johannes M.
121 41 Stephan Schuberth
<pre>yum install mysql-server
122 23 Johannes M.
chkconfig mysqld on
123 23 Johannes M.
service mysqld start
124 41 Stephan Schuberth
/usr/bin/mysql_secure_installation</pre>
125 1 Serafim J Fagundes
126 23 Johannes M.
> For MySQL:
127 11 Erwin Baeyens
> start the mysql client (@mysql -u root -p@) and enter the following commands
128 11 Erwin Baeyens
> > <pre>create database redmine character set utf8;
129 11 Erwin Baeyens
create user 'redmine'@'localhost' identified by 'my_password';
130 10 Erwin Baeyens
grant all privileges on redmine.* to 'redmine'@'localhost'; </pre>
131 11 Erwin Baeyens
132 11 Erwin Baeyens
> For versions of MySQL prior to 5.0.2 - skip the 'create user' step and instead:
133 11 Erwin Baeyens
134 9 Erwin Baeyens
> > <pre> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password';</pre>
135 24 Johannes M.
136 40 Stephan Schuberth
h2. Configure /var/www/redmine/config/database.yml (rename database.yml.example)
137 1 Serafim J Fagundes
138 40 Stephan Schuberth
h2. Set the production environment (optional)
139 7 Thibault B
140 1 Serafim J Fagundes
Uncomment the following line in file redmine/config/environment.rb:
141 3 Mischa The Evil
142 1 Serafim J Fagundes
<pre>ENV['RAILS_ENV'] ||= 'production'</pre>
143 1 Serafim J Fagundes
144 40 Stephan Schuberth
h2. Generate the session store
145 3 Mischa The Evil
146 1 Serafim J Fagundes
<pre>RAILS_ENV=production bundle exec rake generate_session_store</pre>
147 1 Serafim J Fagundes
148 40 Stephan Schuberth
h2. Migrate the database models
149 3 Mischa The Evil
150 1 Serafim J Fagundes
<pre>RAILS_ENV=production bundle exec rake db:migrate</pre>
151 1 Serafim J Fagundes
152 40 Stephan Schuberth
h2. Load default data (optional)
153 3 Mischa The Evil
154 1 Serafim J Fagundes
<pre>RAILS_ENV=production bundle exec rake redmine:load_default_data</pre>
155 1 Serafim J Fagundes
156 1 Serafim J Fagundes
Follow instructions.
157 25 Johannes M.
158 40 Stephan Schuberth
h2. Rename dispatch CGI files in /var/www/redmine/public/
159 3 Mischa The Evil
160 3 Mischa The Evil
<pre>
161 1 Serafim J Fagundes
mv dispatch.cgi.example dispatch.cgi
162 1 Serafim J Fagundes
mv dispatch.fcgi.example dispatch.fcgi
163 3 Mischa The Evil
mv dispatch.rb.example dispatch.rb
164 1 Serafim J Fagundes
</pre>
165 1 Serafim J Fagundes
166 40 Stephan Schuberth
h2. Edit .htaccess file for CGI dispatch configuration
167 5 Mauro Mazzieri
168 5 Mauro Mazzieri
<pre>
169 5 Mauro Mazzieri
mv htaccess.fcgi.example .htaccess
170 1 Serafim J Fagundes
</pre>
171 1 Serafim J Fagundes
172 40 Stephan Schuberth
h2. Chown and Chmod files for read/write access for the Apache user
173 3 Mischa The Evil
174 3 Mischa The Evil
<pre>
175 1 Serafim J Fagundes
cd ..
176 1 Serafim J Fagundes
chown -R apache:apache redmine-1.x
177 3 Mischa The Evil
chmod -R 755 redmine-1.x
178 2 Serafim J Fagundes
</pre>
179 1 Serafim J Fagundes
180 40 Stephan Schuberth
h2. Redmine should be fully installed now and fully usable
181 1 Serafim J Fagundes
182 1 Serafim J Fagundes
Enjoy!