HowTo install Redmine on CentOS 5 » History » Version 114

Version 113 (Stephan Schuberth, 2012-03-27 23:04) → Version 114/115 (Stephan Schuberth, 2012-03-27 23:06)

h1. HowTo install Redmine on CentOS5 / CentOS6 installation HOWTO CentOS 5 or 6

{{>toc}}

h2. Assumptions

* Apache is up and running
* Apache has previously been used and works quite well
* MySQL is up and running
* MySQL has previously been used and works quite well
* Your are logged as root
* The next steps are done successively without errors

h1. Install pre-dependencies

<pre>yum -y install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel</pre>

h2. Ruby

Things after *#* are comments, and it is no use to type this stuff in ;)
<pre>cd ~/Downloads # YOUR FOLDER OF CHOICE
ftp ftp.ruby-lang.org
</pre>

h3. FTP session

<pre>ftp> Anonymous # USERLOGIN
ftp> 'none', just hit Enter # NO PASSWORD
ftp> cd /pub/ruby
ftp> get ruby-1.8.7.pXXX.tar.gz # XXX is currently 358, as of 03/2012
ftp> bye</pre>

h3. Untar

<pre>tar zxvf ruby-1.8.7.pXXX.tar.gz</pre>

h3. Install

<pre>cd ruby-1.8.7.pXXX
./configure
make
make install</pre>

h3. Check installation

If this does not work, it is probably because there is no ruby at /usr/bin to be found.
If it works, skip directly to "Get Gems 1.4.2".
<pre>ruby -v</pre>

h3. Fix dependencies with a symlink

(Only in case _ruby -v_ is *NOT* working)
<pre>which ruby # TO CHECK WHERE IT SHOULD BE
whereis ruby # TO CHECK WHERE IT IS INSTALLED</pre>
_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).

Create the Link:
<pre>ln -s /usr/local/bin/ruby /usr/bin/ruby</pre>
Check again if it is working:
<pre>ruby -v # NOW IT MUST RETURN RUBY VERSION, ELSE SOMETHING ELSE IS BROKEN
cd ..</pre>

h2. RubyGems 1.4.2

*Does not work with Gems 1.5!*

h3. Download

<pre>wget http://production.cf.rubygems.org/rubygems/rubygems-1.4.2.tgz</pre>

h3. Untar

<pre>tar zxvf rubygems-1.4.2.tgz</pre>

h3. Setup

<pre>cd rubygems-1.4.2
ruby setup.rb</pre>

h3. Check installation

<pre>gem -v</pre>

h3. In case this does not work...

... the solution is again creating a symlink, analogical like described in the ruby section above.

h2. Passenger

h3. Regular install method

Requires gcc.

<pre>gem install passenger
passenger-install-apache2-module</pre>

If the second line does not work, do *whereis passenger* to find out where it is installed.
So you can execute it like */usr/local/bin/passenger-install-apache2-module* ...

The install process is interactive and you wil be told what to do. READ!

h3. Alternative install method

Install mod_passenger RPM for Apache from the following location:

> http://passenger.stealthymonkeys.com/

_RHEL/CentOS 5_
<pre>rpm -Uvh http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm
yum install mod_passenger</pre>

_RHEL/CentOS 6_
<pre>rpm --import http://passenger.stealthymonkeys.com/RPM-GPG-KEY-stealthymonkeys.asc
yum install http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm
yum install mod_passenger</pre>

h2. Restart Apache

<pre>service httpd restart</pre>

h1. Install Redmine

h3. Download

Download page:
> http://rubyforge.org/frs/?group_id=1850

<pre>wget http://rubyforge.org/frs/download.php/75910/redmine-1.3.2.tar.gz # GET LATEST VERSION ON RUBYFORGE</pre>

h3. Untar

<pre>tar zxvf redmine-1.3.2.tar.gz</pre>



h3. Copy the folder to its HTTP document root folder

<pre>mkdir /var/www/redmine
cp -av redmine-1.3.2/* /var/www/redmine</pre>



h1. Configure Apache to host the documents

more information can be found here: [[HowTo configure Apache to run Redmine]]



h1. Link Redmine to the Database



h2. Install MySQL DB Server

<pre>yum install mysql-server
chkconfig mysqld on
service mysqld start
/usr/bin/mysql_secure_installation</pre>

h2. Create a MySQL database to use with Redmine

h3. Latest MySQL Version

> start the mysql client (@mysql -u root -p@) and enter the following commands:
> > <pre>create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'my_password';
grant all privileges on redmine.* to 'redmine'@'localhost'; </pre>



h3. For versions of MySQL prior to 5.0.2

> Skip the 'create user' step and do instead:
> > <pre> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password';</pre>

Now the database is created and a user to be used with it. Also the user has the rights to work on the database that was created.



h2. Configure /var/www/redmine/config/database.yml

<pre>cp database.yml.example database.yml</pre>

todo: describe what to change there...



h1. Rails Settings

h2. Dependency management with bundler

For more info go to the "bundler site":http://gembundler.com/.

h3. Install

<pre>gem install bundler</pre>



h3. Create Gemfile

You can of course use vi/vim as your editor of choice, if you know what you are doing. ;)
<pre>nano /var/www/redmine/Gemfile</pre>



h3. Register gems

Put the following into the file you just opened:
<pre># file: /var/www/redmine/Gemfile
source "http://rubygems.org"
gem "rake", "0.8.3"
gem "rack", "1.1.0"
gem "i18n", "0.4.2"
gem "rubytree", "0.5.2", :require => "tree"
gem "RedCloth", "~>4.2.3", :require => "redcloth" # for CodeRay
gem "mysql"
gem "coderay", "~>0.9.7"</pre>
Save and exit the editor.



h3. Install the provided dependencies:

<pre>bundle install</pre>



h2. OPTIONAL: Set the production environment

Uncomment the following line in file redmine/config/environment.rb:

<pre>ENV['RAILS_ENV'] ||= 'production'</pre>

h2. Generate the session store

<pre>RAILS_ENV=production bundle exec rake generate_session_store</pre>

h2. Migrate the database models

<pre>RAILS_ENV=production bundle exec rake db:migrate</pre>

h2. Load default data (optional)

<pre>RAILS_ENV=production bundle exec rake redmine:load_default_data</pre>

Follow instructions.

h2. Rename dispatch CGI files in /var/www/redmine/public/

<pre>
mv dispatch.cgi.example dispatch.cgi
mv dispatch.fcgi.example dispatch.fcgi
mv dispatch.rb.example dispatch.rb
</pre>

h1. Apache Settings

h2. Edit .htaccess file for CGI dispatch configuration

<pre>
mv htaccess.fcgi.example .htaccess
</pre>

h2. Fix rights for the apache user

<pre>
cd ..
chown -R apache:apache redmine-1.x
chmod -R 755 redmine-1.x
</pre>

This should be everything.
*
Redmine is now installed and usable.*

*Enjoy!*