Redmine on CentOS installation HOWTO » History » Revision 11
Redmine on CentOS installation HOWTO¶
- Table of contents
- Redmine on CentOS installation HOWTO
- Install pre-dependencies
- RubyGems 1.4.2
- Restart Apache
- Install Redmine
- Link Redmine to the Database
- Rails Settings
- Apache Settings
This works with CentOS versions 5 and 6 and describes how to get Redmine 1.3.2 set up.
- 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
yum -y install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel
Things after *#* are comments, and it is no use to type this stuff in ;)
cd ~/Downloads # YOUR FOLDER OF CHOICE ftp ftp.ruby-lang.org
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
tar zxvf ruby-1.8.7.pXXX.tar.gz
cd ruby-1.8.7.pXXX ./configure make make install
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".
(Only in case ruby -v is NOT working)
which ruby # TO CHECK WHERE IT SHOULD BE whereis ruby # TO CHECK WHERE IT IS INSTALLED
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).
Fix via adding /usr/local/bin to $PATH¶
(Do this with your editor of choice, if you do not like nano.)
Make the section with pathmunge look alike like this:
#Path manupulation if [ "$EUID" = "0" ]; then pathmunge /sbin pathmunge /usr/sbin pathmunge /usr/local/sbin pathmunge /usr/local/bin # ADDED THIS else pathmunge /usr/local/bin after # ADDED THIS pathmunge /usr/local/sbin after pathmunge /usr/sbin after pathmunge /sbin fi
OR ADD THIS AT THE END OF THE FILE:
nano /etc/profile export PATH="$PATH:/usr/local/bin"
This sets the PATH for all Users beside root. In case you want it for root to change, too:
nano ~/.bashrc export PATH="$PATH:/usr/local/bin"
Fix via Symlink Creation¶
This is not recommended, since if the ruby dependency is broken, others will likely be later on, too. Repair this by adding the folder to the $PATH variable like described before, else gem, rake, bundle, passenger-install-apache2-module will not work either... you would have to creat symlinks for them, too.
Symlinks are created like this
ln -s /usr/local/bin/ruby /usr/bin/ruby
Verify ruby to be working¶
ruby -v # NOW IT MUST RETURN RUBY VERSION, ELSE SOMETHING ELSE IS BROKEN cd ..
Does not work with Gems 1.5!
tar zxvf rubygems-1.4.2.tgz
cd rubygems-1.4.2 ruby setup.rb
In case this does not work...¶
... the solution is again creating a symlink, analogical like described in the ruby section above.
Regular install method¶
gem install passenger passenger-install-apache2-module
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!
Alternative install method¶
Install mod_passenger RPM for Apache from the following location:
rpm -Uvh http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm yum install mod_passenger
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
service httpd restart
wget http://rubyforge.org/frs/download.php/75910/redmine-1.3.2.tar.gz # GET LATEST VERSION ON RUBYFORGE
tar zxvf redmine-1.3.2.tar.gz
Copy the folder to its HTTP document root folder¶
mkdir /var/www/redmine cp -av redmine-1.3.2/* /var/www/redmine
Link Redmine to the Database¶
Install MySQL DB Server¶
yum install mysql-server chkconfig mysqld on service mysqld start /usr/bin/mysql_secure_installation
Create a MySQL database to use with Redmine¶
Latest MySQL Version¶
start the mysql client (
mysql -u root -p) and enter the following commands:create database redmine character set utf8; create user 'redmine'@'localhost' identified by 'my_password'; grant all privileges on redmine.* to 'redmine'@'localhost';
For versions of MySQL prior to 5.0.2¶
Skip the 'create user' step and do instead:grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'my_password';
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.
cp database.yml.example database.yml
todo: describe what to change there...
Dependency management with bundler¶
For more info go to the bundler site.
gem install bundler
You can of course use vi/vim as your editor of choice, if you know what you are doing. ;)
Put the following into the file you just opened:
# 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"
Save and exit the editor.
Install the provided dependencies:¶
cd /var/www/redmine bundle install
Set environment to "production"¶
Rails has the concept of environments to represent the stages of an application’s lifecycle: test, development, and production by default.
Specify your choice with the RAILS_ENV environment variable.
Production has less verbose logging and is a bit faster, testing and development environment are not needed anyway for your Redmine.
Uncomment the following line in file redmine/config/environment.rb:
ENV['RAILS_ENV'] ||= 'production'
Generate the session store¶
RAILS_ENV=production bundle exec rake generate_session_store
Migrate the database models¶
RAILS_ENV=production bundle exec rake db:migrate
Load default data (optional)¶
RAILS_ENV=production bundle exec rake redmine:load_default_data
Rename dispatch CGI files in /var/www/redmine/public/¶
mv dispatch.cgi.example dispatch.cgi mv dispatch.fcgi.example dispatch.fcgi mv dispatch.rb.example dispatch.rb
Configure Apache to host the documents¶
more information can be found here: HowTo configure Apache to run Redmine
Edit .htaccess file for CGI dispatch configuration¶
mv htaccess.fcgi.example .htaccess
Fix rights for the apache user¶
cd .. chown -R apache:apache redmine-1.x chmod -R 755 redmine-1.x
This should be everything.
Redmine is now installed and usable.