Home > CentOS, Redmine > How to install Redmine 1.4 (CentOS 5.8)

How to install Redmine 1.4 (CentOS 5.8)

Install the Apache

Install the MySQL 5.1

# yum install mysql mysql-devel mysql-server
# chkconfig --levels 235 mysqld on
# /etc/init.d/mysqld start

Create database for Redmine:

# mysql -u root -p
CREATE DATABASE redmine CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'redmine';
GRANT ALL ON redmine.* TO 'redmine'@'localhost';

 

Installing Ruby

# yum install gcc-c++ openssl openssl-devel zlib zlib-devel mysql-devel postgresql-devel subversion wget
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.gz
# tar zxvf ruby-1.8.7.tar.gz
# cd ruby-1.8.7
# ./configure
# make && make install

math.c:37:13: error: missing binary operator before token "("
make: *** [math.o] Error 1
Just open math.c [Don’t locate any where just use vi math.c from the same same location where you are executing the command ‘make’]
And look at the line
“#elif define(ERANGE)” it should be “#elif defined(ERANGE)”
Note: not “define”, it is “defined” => d is missing in this phrase

 

Installing RubyGems

# wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.7.tgz
# tar zxvf rubygems-1.8.7.tgz
# cd rubygems-1.8.7
# ruby setup.rb

 

Installing Redmine

# cd /opt
# svn co http://redmine.rubyforge.org/svn/branches/1.4-stable redmine-1.4

Installing Bundler

# gem install bundler

Installing Rails

# cd /opt/redmine-1.4
# bundle install --without development test postgresql sqlite rmagick

 

Created lets configure our database settings for Redmine:

# cd /opt/redmine-1.4
# cp  config/database.yml.example config/database.yml

Edit config/database.yml and set your settings:

# vi config/database.yml
 production:
    adapter: mysql
    database: redmine
    host: localhost
    username: redmine
    password: redmine

Generate a session store secret:

# cd /opt/redmine-1.4
# rake config/initializers/session_store.rb

Create the database structure:

# RAILS_ENV=production rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data

Configure email settings:

cd /opt/redmine-1.4
cp config/email.yml.example config/email.yml

 

Option 1. Running under Apache

# yum install httpd-devel curl-devel apr-devel gcc gcc-c++
# gem install passenger
# passenger-install-apache2-module
# cd /opt/redmine-1.4
# chown -R root:root .
# chown -R apache:apache files log tmp public/plugin_assets
# chmod -R 755 files log tmp public/plugin_assets
# chown -R apache:apache config/environment.rb
# vi /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.12/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.12
PassengerRuby /usr/local/bin/ruby

# delete HTTP header which would be added by Passenger
Header always unset "X-Powered-By"
Header always unset "X-Rack-Cache"
Header always unset "X-Content-Digest"
Header always unset "X-Runtime"

# for passenger tuning
PassengerLogLevel 0
RailsAutoDetect On
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerUseGlobalQueue on
#PassengerHighPerformance on !!! conflict with DAV svn
PassengerStatThrottleRate 10
RailsSpawnMethod smart
RailsAppSpawnerIdleTime 86400
RailsFrameworkSpawnerIdleTime 0
PassengerUserSwitching On
PassengerDefaultUser apache
PassengerMaxRequests 3000
PassengerMinInstances 3
# vi /etc/httpd/conf/httpd.conf
DocumentRoot "/opt/redmine-1.4/public"
# ln -sf /opt/redmine-1.4/public /var/www/html/redmine

Redmine under a subdirectory

# vi /etc/httpd/conf/httpd.conf
RailsAutoDetect off
PassengerAppRoot /opt/redmine-1.4
RailsBaseURI  /redmine
Alias "/redmine" /opt/redmine-1.4/public

Check disable SElinux !!!
[error] *** Passenger could not be initialized because of this error: Unable to start the Phusion Passenger watchdog (/usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.11/agents/PassengerWatchdog): Permission denied (13)
How to disable SElinux

Option 2. Running under Apache

# yum install yum-priorities
# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# yum update
# yum install curl-devel apr-devel
# yum install openssl openssl-devel
# yum install zlib zlib-devel
# yum install gcc gcc-c++
# yum install subversion mod_dav_svn
# yum install perl-HTML-Parser perl-SVN-Notify

Installing Thin

# gem install thin
# thin install
# chkconfig --levels 235 thin on

Configure Thin

# thin config -C /etc/thin/redmine.yml -c /opt/redmine --servers 3 -e production
# service thin start

 

Configure Apache and add a Redmine config file

# vi /etc/httpd/conf/httpd.conf

Uncomment

NameVirtualHost *:80
# vi /etc/httpd/conf.d/redmine.conf
<VirtualHost *:80>
        DocumentRoot /opt/redmine-1.4
        ServerName redmine.how2centos.com
        <Proxy balancer://redminecluster>
                 BalancerMember http://127.0.0.1:3000
                 BalancerMember http://127.0.0.1:3001
                 BalancerMember http://127.0.0.1:3002
        </Proxy>
        ProxyPass / balancer://redminecluster/
        ProxyPassReverse / balancer://redminecluster/
        ErrorLog /var/log/httpd/redmine_error.log
        CustomLog /var/log/httpd/redmine_access.log combined
</VirtualHost>

(13)Permission denied: proxy: HTTP: attempt to connect
# setsebool -P httpd_can_network_connect=1

Option 3. Starting Redmine on built-in WEBrick web server

# cd /opt/redmine-1.4
# ruby script/server webrick -p 8000 -e production

Change IPTables

# vi /etc/sysconfig/iptables

Includes the following before the REJECT line:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT
# service iptables restart

 
After its started you can access Redmine on the following URL:

http://your.ser.ver.ip:8000/

Use default administrator account to log in:

    * login: admin
    * password: admin

 

Optional Intall ImageMagick

# yum install ImageMagick ImageMagick-devel libpng libpng-devel freetype freetype-devel giflib giflib-devel
# yum erase ImageMagick ImageMagick-devel
# wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
# tar -xzvf ImageMagick.tar.gz
# cd ImageMagick-6.6.7-6
# ./configure --without-perl
# make
# make install
gem install rmagick

 
Can’t install RMagick 2.13.1. Can’t find MagickWand.h.

C_INCLUDE_PATH=/usr/src/ImageMagick-6.7.4-8 gem install rmagick

 

Optional Imtall SVN

# yum install mod_dav_svn subversion
# mkdir /opt/svn
# chown root:apache /opt/svn
# chmod 0750 /opt/svn
# ln -s /opt/redmine/extra/svn/Redmine.pm /usr/lib/perl5/5.8.8/Redmine.pm

 

# vi /etc/httpd/conf.d/svn.conf
PerlLoadModule Redmine
<Location /svn>
    DAV svn
    SVNParentPath "/opt/svn"
    AuthType Basic
    AuthName "Redmine SVN Repository"
    Require valid-user

    PerlAccessHandler Apache::Authn::Redmine::access_handler
    PerlAuthenHandler Apache::Authn::Redmine::authen_handler

    RedmineDSN "DBI:mysql:database=redmine;host=localhost"

    RedmineDbUser "redmine"
    RedmineDbPass "redmine"
</Location>

 

Optional Autocreate Subversion Repositories

Go to Administration -> Settings -> Repositoryand check Enable WS for repository management.

# vi /etc/cron.d/redmine
*/10 * * * * root ruby /opt/redmine/extra/svn/reposman.rb --redmine localhost --svn-dir /opt/svn/ --owner apache --url file:///opt/svn/ --verbose >> /var/log/reposman.log

 

Trac to Redmine migration

# yum install ruby-devel sqlite sqlite-devel ruby-rdoc
# gem install sqlite3-ruby --version=1.2.5
# rake redmine:migrate_from_trac RAILS_ENV=production --trace

Upgrade 1.3 to 1.4

A key is required to write a cookie containing the session data. Use config.action_controller.session = { :key => “_myapp_session”, :secret => “some secret phrase” } in config/environment.rb

#rake config/initializers/session_store.rb
Categories: CentOS, Redmine Tags:
  1. Zee
    October 12, 2011 at 14:02 | #1

    Finally, someone with clear instruction that work, THANK YOU!@!@!

    *Note
    passenger installed 3.0.9 so make note in the passenger.conf that says 3.0.7 and update it to whatever version you end up installing and you should all be good.

    Also, on the rake config/initializers/session_store.rb
    I got a warning:

    WARNING: ‘task :t, arg, :needs => [deps]‘ is deprecated. Please use ‘task :t, [args] => [deps]‘ instead.
    at /opt/redmine/lib/tasks/email.rake:170

    so I changed the line:
    task :test, :login, :needs => :environment do |task, args|

    to read as:
    task :test,[ :login, :needs] => [ :environment] do |task, args|

    If you add the brackets the warning goes away.
    You will still get the rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+) message
    but everything should still work.

  2. Asela
    March 19, 2012 at 09:25 | #2

    Thank you very much.
    This is the best guide to installing redmine in CentOS 5.6
    Everything works perfectly.

    Small correction here
    C_INCLUDE_PATH=/usr/src/ImageMagick-6.7.4-8 gem install rmagick ;-)
    I had to use this
    C_INCLUDE_PATH=/usr/local/include/ImageMagick gem install rmagick

  1. No trackbacks yet.