« Previous -
Version 4/5
(diff) -
Next » -
Current version
Rob Freeman, 01/22/2009 10:56 AM
HOWTO: Install Subversion and Redmine on CentOS5 (& RHEL5)¶
NOTES- This HOWTO is written for CentOS 5.2
- Replace [FQDN] with either your IP address or the hostname (or FQDN) which you’ll be using to access the interface.
- Replace [user] with the username under whom's home directory the Subversion repository database will be located. e.g. /home/[user]/svn-repos
- This HOWTO will be using the following variables:
Install and set up Subversion
- You will be running apache as the user ‘apache’
- The subversion repository root folder will be under /home/[user]/subversion/
- The vhost's folder locationg will be /var/www/svn
- The subversion repository to be created will be called ‘example-repo’
yum install mod_dav_svn subversionAdd the group [user] to the user apache and make the subversion base URL readable and writable...
usermod -aG [user] apache chmod g+x /home/[user] mkdir /home/[user]/subversion chmod g+rwx /home/[user]/subversionMake the web directory:
mkdir /var/www/svn chown apache.apache /var/www/svnPut the following into /etc/httpd/conf.d/svn.conf (this is for a sub-repo called 'example-repo')
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/var/www/svn"
ServerName [FQDN]
<Location /example-repo>
DAV svn
SVNPath /home/[user]/subversion/example-repo
AuthType Basic
AuthName "Subversion repo"
AuthUserFile /var/www/passwd
Require valid-user
</Location>
<Directory "/var/www/svn">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
Add an HTTP auth user...htpasswd -cm /var/www/passwd [user]
Create a proper SVN repository
cd /home/[user]/subversion su [user] -c "svnadmin create example-repo"
Import any SVN repos by doing:
su [user] -c "svnadmin load example-repo < /path/to/repo/dump/file"Make sure the permissions are correct
chmod g+rwx /home/[user]/subversion chown -R [user].[user] /home/[user]
Now on to Redmine itself
*NOTE: Redmine installation requires the EPEL yum repository.su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm'Let's get rails up and running first... [NOTE: not on an SElinux environment cba with that]
yum install httpd httpd-devel apr make gcc-c++ mysql-server mysql ruby ruby-devel ruby-docs ruby-ri \ ruby-libs ruby-mode ruby-tcltk ruby-irb ruby-rdoc fcgi fcgi-devel mod_fcgid rubygems subversion-rubyNow we'll install passenger (aka mod_rails)
gem install passenger passenger-install-apache2-module
Create and insert this text into /etc/httpd/conf.d/rails.conf (or alternatively edit the existing svn.conf created when we set up subversion)
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6
PassengerRuby /usr/bin/ruby
NameVirtualHost *:80
<VirtualHost *:80>
ServerName 192.168.10.17
DocumentRoot /var/www/rails/redmine/public
</VirtualHost>
Get Redmine 0.8 from http://www.redmine.org/wiki/redmine/Downloadcd /usr/src svn co http://redmine.rubyforge.org/svn/branches/0.8-stable redmine-0.8 mkdir /var/www/rails/ cd /var/www/rails/ cp -r /usr/src/redmine-0.8/ redmine/ chown -R apache.apache redmine cd redmineCreate a clean backup of source files
tar czf Redmine0.8-clean.tar.gz .Initialise mySQL:
service mysqld startTo secure mysql:
mysql_secure_installationCreate a mysql database for redmine...
mysql -u<username> -pAt the prompt enter:
create database redmine character set utf8;Quit with:
quitCopy the example database file to the "live" location
cd /var/www/rails/redmine cp config/database.yml.example config/database.ymlEnter the appropriate settings for the [production] section ensuring that host is set to 127.0.0.1
vim /var/www/rails/redmine/config/database.ymlSet up email
cd /var/www/rails/redmine cp config/email.yml.example config/email.ymlEnter the appropriate settings for the [production] section ensuring that "address" is set to the IP address of the SMTP host
vim /var/www/rails/redmine/config/email.ymlInstall rails for redmine using gem...
cd /var/www/rails/redmine/app/ gem install -v=2.1.2 railsImport the redmine database into the live database specified in the above config file
cd /var/www/rails/redmine/app/ rake db:migrate RAILS_ENV="production"Install default configuration data in database (this is entirely optional, but recommended).
cd /var/www/rails/redmine/app/ rake redmine:load_default_data RAILS_ENV="production"Bring up the testing webserver, once loaded check your config by browsing to http://[FQDN]:3000
cd /var/www/rails/redmine/ ruby script/server -e productionMake sure your apache config file edits are ok and that the services will start at boot by doing:
service httpd configtest service httpd restart chkconfig httpd on chkconfig mysqld onAdd the following to your crontab which will create a database backup in the /home/[user] directory
/usr/bin/mysqldump -u <user> -p <password> <database> | gzip > /home/[user]/redmine_`date +%y_%m_%d`.gz