h1. Installing Redmine using an existing redmine DB + MySQL on CentOS 5 {{>toc}} h2. Requirements: * Ruby 1.8.7 * MySQL 4.1 or higher (recommended) * openssl + openssl-devel * zlib + zlib-devel * Lighttpd * fastcgi * RubyGems > # actionmailer (2.3.5) > # actionpack (2.3.5) > # activerecord (2.3.5) > # activeresource (2.3.5) > # activesupport (2.3.5) > # cgi_multipart_eof_fix (2.5.0) > # daemons (1.0.10) > # fastthread (1.0.7) > # fcgi (0.8.8) > # gem_plugin (0.2.3) > # mongrel (1.1.5) > # mysql (2.8.1) > # rack (1.0.1) > # rails (2.3.5) > # rake (0.8.7) > # rmagick (2.0.0) Lets install all required packages before compiling ruby. h2. Add rpmforge to depots
yum install wget rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm rpm -ihv rpmforge-release-0.3.6-1.el5.rf.i386.rpmNow we will have the latest software that is not updated on official repos. h2. Installing all required software from repos:
yum install gcc-c++ mysql-server mysql-devel openssl openssl-devel zlib zlib-devel subversion makeh2. Start mysql server and change the pasword for user root in mysql (by default its empty):
service mysqld start mysqladmin -u root password newpassword chkconfig mysqld onNow we should be ready for ruby installation. h2. Installing Ruby:
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 installh2. Installing RubyGems:
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz tar zxvf rubygems-1.3.5.tgz cd rubygems-1.3.5 ruby setup.rbh2. Installing Rails:
gem install rails -v=2.3.5h2. Installing Redmine:
useradd -M redmine # doesn't create home directory cd /opt svn co http://redmine.rubyforge.org/svn/trunk redmine mkdir /opt/redmine/public/plugin_assets chown -R redmine:redmine /opt/redmine/public/plugin_assets cd redmine chown -R redmine:redmine files log tmp chmod -R 755 files log tmph2. Create Database and give access rights
mysql -u root -p create database redmine character set utf8; create user 'redmine'@'localhost' identified by 'my_password'; grant all privileges on redmine.* to 'redmine'@'localhost';h2. Migrate configuration files:
cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml # /opt/redmine/config/database.yml production: adapter: mysql database: redmine host: localhost username: redmine password: mysql_password encoding: utf8 cp /opt/redmine/config/email.yml.example /opt/redmine/config/email.yml # /opt/redmine/config/email.yml production: delivery_method: :smtp smtp_settings: address: 127.0.0.1 port: 25 domain: mail_server_domain authentication: :noneh2. Generate a session store secret:
cd /opt/redmine rake config/initializers/session_store.rbh2. Migrate or Install Database :
gem install mysql On projects : mysqldump --single-transaction --add-drop-table -u root -p redmine | gzip -9 > redmine.sql.gz On new redmine : gunzip redmine.sql.gz mysql -u root -p redmine < redmine.sql # upgrade the migrated database for the new version RAILS_ENV=production rake db:migrate # you will now see the upgrades appear on the screen # IF INSTALLING FOR FIRST TIME USE RAILS_ENV=production rake redmine:load_default_datah2. Migrate Files if there are any :
On projects : cd /opt/redmine/files tar -czf /root/files.tar.gz /opt/redmine/files/* On new redmine : cp /root/migration/files.tar.gz /opt/redmine/files/ tar -zxvf files.tar.gzh2. Test Server : h3. On new redmine :
cd /opt/redmine ruby script/server webrick -p 8000 -e productionh3. on a local machine
http://redmine_server_ip_address:8000/ Login with your current redmine identification, the ldap is already installed # Configure ldap authentication Administration LDAP Authentication New authentication mode Name ldap_ServerName Host ldap_server_ip_address Port 389 Account cn=ldapuser,o=ldapOrganization Password xxxxxxxxxxxx Base DN o=ldapOrganization On-the-fly user creation # check this if you want users to be added to redmine when the user logs in, check this On new redmine : Stop webrick with CTRL-Ch2. Install lighttpd h3. Install packages from Centos
yum install lighttpd lighttpd-fastcgi php-cli vi /etc/php.ini [...] cgi.fix_pathinfo = 1h3. Install FastCGI Gem
cd /tmp wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz tar -zxvf fcgi-2.4.0.tar.gz cd fcgi-2.4.0 ./configure --prefix=/usr/local/fcgi --exec-prefix=/usr/local/fcgi make make install gem install fcgi -r -- --with-fcgi-lib=/usr/local/fcgi/lib --with-fcgi-include=/usr/local/fcgi/includeh3. Set Permissions & Create Log Directories
chown redmine:redmine -R /var/log/lighttpd mkdir /var/log/redmine chown redmine:redmine -R /var/log/redmineh3. Enable dispatch.fgci
cd /opt/redmine cp dispatch.fcgi.example dispatch.fcgi chown redmine:redmine -R /opt/redmine/public/plugin_assetsh2. Lighttpd vhost
$HTTP["host"] =~ "redmine\.somecompany\.(eu|fr|net|com)$" { server.document-root = "/opt/redmine/public/" server.use-ipv6 = "disable" fastcgi.debug = 1 alias.url = () server.indexfiles = ( "dispatch.fcgi" ) server.error-handler-404 = "/dispatch.fcgi" server.errorlog = "/var/log/redmine/redmine-error.log" accesslog.filename = "/var/log/redmine/redmine-access.log" server.follow-symlink = "enable" url.rewrite-once = ( "^/(.*\..+(?!html))$" => "$0", "^/(.*)\.(.*)" => "$0", ) fastcgi.server = ( ".fcgi" => ( "redmine" => ( "socket" => "/opt/redmine/tmp/sockets/redmine.socket", "bin-path" => "/usr/local/bin/ruby /opt/redmine/public/dispatch.fcgi", "min-procs" => 1, "max-procs" => 4, "idle-timeout" => 120, "check-local" => "disable", "bin-environment" => ( "RAILS_ENV" => "production" ), )) ) }h2. Test the lighttpd configuration
[root@projects ~]# lighttpd -t -f /etc/lighttpd/lighttpd.conf Syntax OKh2. Install the init script
cp /etc/init.d/lighttpd /etc/init.d/redmine chkconfig redmine onh2. Start the redmine server /etc/init.d/redmine start h2. Install ImageMagick
yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel cd /root/source wget http://image_magick.veidrodis.com/image_magick/ImageMagick-6.3.2-9.tar.gz tar -zxvf ImageMagick-6.3.2-9.tar.gz cd ImageMagick-6.3.2 ./configure --prefix=/usr/local --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes make clean make make install gem install rmagick -v=2.0 --no-rdoc --no-rih2. Install the redmine basecamp theme
mkdir /opt/redmine.old/public/themes/basecamp mv basecamp.tar.gz basecamp cd /opt/redmine.old/public/themes/basecamp/ tar -zxvf basecamp.tar.gz mkdir -p /opt/redmine/public/themes/basecamp cp -Rp stylesheets /opt/redmine/public/themes/basecamp/h2. Install postfix
yum install postfix /etc/postfix/main.cf relayhost = smtp_server_address:smtp port chkconfig postfix on /etc/init.d/postfix start Add the public address as a host in the networks table on proxmox