How to Install RedMine on CentOS

Install Redmine on Centos 6.3

1. As a Root Install Following Packages.
yum install make gcc gcc-c++ zlib-devel ruby-devel rubygems ruby-libs apr-devel apr-util-devel httpd-devel mysql-devel mysql-server automake autoconf ImageMagick ImageMagick-devel curl-devel

2. gem install bundle

3. Install Redmine
    mkdir /var/www/redmine
    wget http://rubyforge.org/frs/download.php/76255/redmine-1.4.4.tar.gz
    (I am not sure if this method will work for newer version)

4. Install Ruby Dependencies
    cd /var/www/redmine
    bundle install – -without postgresql sqlite test development

5. service mysqld start

6. mysql_secure_installation

7. Create Database and User for Redmine
    $ mysql -p
    mysql> create database redmine character set utf8;
    mysql> grant all privileges on redmine.* to ‘redmine’@‘localhost’ identified by     ‘my_password’;
    mysql> flush privileges;
    mysql> quit

8. Redmine DB Configuration
    cd /var/www/redmine/config
    cp database.yml.example database.yml
    On database.yml change password for Production
9. Create and Populate Database with Rake
    cd /var/www/redmine
    rake generate_session_store
    rake db:migrate RAILS_ENV-"production"
    rake redmine:load_default_data RAILS_ENV=’production’

10. Configure iptables and SElinux according to your need.

11. gem install passenger
12. passenger-install-apache2-module

13. Apache Configuration
    cd /etc/httpd
    mv conf.d available
    mkdir conf.d
    vi /etc/httpd/conf.d/redmine.conf

    Paste following in the redmine.conf file
   # Loading Passenger
    LoadModule passenger_module/usr/lib/ruby/gems/1.8/gems/passenger-3.0.13/ext/apache2/mod_passenger.so    
    PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.13

    #Please check your Passenger Version and do change here          
    PassengerRuby /usr/bin/ruby

<VirtualHost *:80>
    ServerName www.yourname.com
    DocumentRoot /var/www/redmine/public
<Directory /var/www/redmine/public>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews allow from all
</Directory>
ErrorLog "|/usr/sbin/rotatelogs /etc/httpd/logs/redmine-error.%Y-%m-%d.log 86400"
CustomLog "|/usr/sbin/rotatelogs /etc/httpd/logs/redmine-access.%Y-%m-%d.log 86400" "%h %l %u %t %D "%r" %>s %b "%{Referer}i" "%{User-Agent}i""
</VirtualHost>

14. vi /etc/httpd/conf/httpd.conf
   uncomment or remove ‘#’ from NameVirtualHost *.80
    uncomment or remove ‘#’ and do  Include conf.d/redmine.conf

15. Give Full Permission to Apache for the Redmine Folder.
    chown -R apache:root /var/www/redmine
    httpd -t

Thats It, Good Luck