This page shows how to install Redmine on a CentOS server. We use the bitnami stack to run Redmine.
You must have a CentOS machine already set up in accordance with the “Install CentOS 6” guide.
By default, the bitnami installer will try to use port 8080/8443 if running as a non root user and 3307 for mysql. We want to use non standard ports so that the server can still use the CentOS supplied MySQL database and Tomcat/Apache. Install these first as root and get them running. Then, when you get to install Bitnami Redmine, the installer will realise the ports are in use and allow you to specify which ports you want to use.
Download the Linux x64 bit of bitnami (latest release) [http://bitnami.com/stack/redmine/installer here].
We run redmine as the user 'bitnami'
su - useradd bitnami passwd bitnami mkdir -p /data/bitnami lvcreate -L 10G -n bitnami datavg mkfs -t ext4 /dev/mapper/datavg-bitnami FILENAME=/etc/fstab echo '/dev/mapper/datavg-bitnami /data/bitnami ext4 defaults 1 2' >> $FILENAME mount -a chown -R bitnami:bitnami /data/bitnami chown -R root:root /data/bitnami/lost+found
su cd /tmp chmod u+x ./bitnami-redmine-2.3.3-1-linux-x64-installer.run ./bitnami-redmine-2.3.2-1-linux-x64-installer.run
Please select the installation language Please choose an option [1] : 1 PhpMyAdmin [Y/n] : n Is the selection above correct? [Y/n]: Y Select a folder [/home/bitnami/redmine-2.3.2-0]: (do not enter anything, just press enter) Login [user]: bitnamiadmin Password : Your real name [User Name]: Bitnami Admin Email Address [mail@example.com]: redmineadmin@example.com Apache Web Server Port [8080]: 3000 Web Server Port SSL Port [8443]: 3443 MySQL Server port [3306]: 3307 Please choose an option [4] : 4 Do you want to configure mail support? [y/N]: y Default email provider: Please choose an option [1] : 2 Username []: redmine@example.com Password : SMTP Host []: mail.example.com SMTP Port []: 25 Please choose an option [3] : 1 Do you want to continue? [Y/n]: y ... Setup has finished installing BitNami Redmine Stack on your computer. Launch Redmine application. [Y/n]: n Info: To access the BitNami Redmine Stack, go to http://localhost:3000 from your browser. Press [Enter] to continue :
Note, the password for bitnamiadmin can also be used to log into the redmine mysql database. However, you will have to use the username root instead of bitnamiadmin.
cd /data/bitnami ln -s redmine-2.3.2-1 redmine mv /data/bitnami/redmine/apache2/htdocs/index.html /data/bitnami/redmine/apache2/htdocs/index.html.original
vi ~/.bash_profile PATH=$PATH:$HOME/bin; export PATH PATH="/data/bitnami/redmine/perl/bin:/data/bitnami/redmine/git/bin:/data/bitnami/redmine/sqlite/bin:/data/bitnami/redmine/ruby/bin:/data/bitnami/redmine/subversion/bin:/data/bitnami/redmine/php/bin:/data/bitnami/redmine/mysql/bin:/data/bitnami/redmine/apache2/bin:/data/bitnami/redmine/common/bin:$PATH" export PATH
Rig it so that the default page of the redmine http server will automatically redirect to the redmine homepage (http://server:3000 points to http://server:3000/redmine)
mv /data/bitnami/redmine/apache2/htdocs/index.html /data/bitnami/redmine/apache2/htdocs/index.html.original
cat << EOF >> /data/bitnami/redmine/apache2/htdocs/index.html
<!DOCTYPE HTML>
<html lang="en-GB">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1;url=http://redmine.example.com:3000/redmine">
<script type="text/javascript">
window.location.href = "http://redmine.example.com:3000/redmine"
</script>
<title>Page Redirection</title>
</head>
<body>
<!-- Note: don't tell people to 'click' the link, just tell them that it is a link. -->
If you are not redirected automatically, follow the <a href='http://redmine.example.com:3000/redmine'>link to example</a>
</body>
</html>
EOF
su - iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 3443 -j ACCEPT service iptables save service iptables restart
cd /data/bitnami/redmine ./ctlscript.sh start
su - cat << EOF > /etc/init.d/redmine # chkconfig: 2345 95 20 # description: Script to Start | Stop redmine PATH="/data/bitnami/redmine/perl/bin:/data/bitnami/redmine/git/bin:/data/bitnami/redmine/sqlite/bin:/data/bitnami/redmine/ruby/bin:/data/bitnami/redmine/subversion/bin:/data/bitnami/redmine/php/bin:/data/bitnami/redmine/mysql/bin:/data/bitnami/redmine/apache2/bin:/data/bitnami/redmine/common/bin:$PATH"; export PATH REDMINE_USER=bitnami case $1 in start) su $REDMINE_USER -c "sh /data/bitnami/redmine/ctlscript.sh start" ;; stop) su $REDMINE_USER -c "sh /data/bitnami/redmine/ctlscript.sh start" ;; esac exit 0 END_OF_TEXT
Ensure redmine starts on boot.
su - chmod u+x /etc/init.d/redmine chkconfig --add redmine chkconfig redmine on service redmine start
The following commands in this section should be run as the user 'bitnami' unless stated otherwise. For the most part, you should be in the following directory.
cd /data/bitnami/redmine/apps/redmine/htdocs/plugins
If, when trying to run these commands, an error occurs due to the incorrect version of grails run the following and try again
gem install rails -version=<version number>
su - bitnami cd /data/bitnami/redmine/apps/redmine/htdocs git clone -b redmine2 https://github.com/jperelli/Redmine-Periodic-Task.git plugins/periodictask rake redmine:plugins:migrate NAME=periodictask RAILS_ENV=production
crontab -e
5 * * * * cd /data/bitnami/redmine/apps/redmine/htdocs; rake redmine:check_periodictasks RAILS_ENV="production"
Homepage found [https://github.com/mbasset/project_overview| here].
su - bitnami cd /data/bitnami/redmine/apps/redmine/htdocs/plugins git clone git://github.com/mbasset/project_overview.git cd /data/bitnami/redmine/apps/redmine/htdocs bundle install bundle exec rake redmine:plugins NAME=project_overview RAILS_ENV=production
su - bitnami cd /data/bitnami/redmine/apps/redmine/htdocs/plugins git clone git://github.com/denispeplin/redmine-projects-table.git projects_table
su - bitnami cd /data/bitnami/redmine/apps/redmine/htdocs git clone git://github.com/pharmazone/redmine_charts2 plugins/redmine_charts2 cd plugins/redmine_charts2 git checkout redmine21 cd /data/bitnami/redmine/apps/redmine/htdocs git clone git://github.com/pullmonkey/open_flash_chart.git plugins/open_flash_chart cd /data/bitnami/redmine/apps/redmine/htdocs cp -r plugins/open_flash_chart/assets public/plugin_assets/open_flash_chart rake redmine:plugins RAILS_ENV=production
su - yum -y install mercurial su - bitnami cd /data/bitnami/redmine/apps/redmine/htdocs/plugins hg clone https://bitbucket.org/StrangeWill/redmine-inline-attach-screenshot redmine_inline_attach_screenshot
Download from http://redminecrm.com. Check it for the latest filename
su - bitnami FILENAME=redmine_issue_checklist-2_0_5.zip cd /data/bitnami/redmine/apps/redmine/htdocs/plugins wget http://redminecrm.com/license_manager/4200/$FILENAME unzip $FILENAME rm $FILENAME bundle exec rake redmine:plugins NAME=redmine_issue_checklist RAILS_ENV=production
Download from http://redminecrm.com. Check it for the latests filename
su - bitnami cd /data/bitnami/redmine/apps/redmine/htdocs/plugins git clone git://github.com/Undev/redmine_my_page_queries.git rake my_page_queries:upgrade RAILS_ENV=production
Download from http://redminecrm.com. Check it for the latests filename
su - bitnami cd /data/bitnami/redmine/apps/redmine/htdocs/plugins git clone https://github.com/neowit/redmine_last_updated_by_column.git
We backup to /backup/redmine.
mkdir -p /backup/redmine/apps/redmine/htdocs
mkdir -p /backup/redmine/db_backup
Put the following in backupRedmine.sh in /backup/redmine
PATH=/opt/redmine/perl/bin:/opt/redmine/git/bin:/opt/redmine/sqlite/bin:/opt/redmine/ruby/bin:/opt/redmine/subversion/bin:/opt/redmine/mysql/bin:/opt/redmine/apache2/bin:/opt/redmine/common/bin:/usr/bin:/bin FILENAME=/backup/redmine/db_backup/redmine_backup_`date +"%A"`.sql echo "Backing up redmine database to $FILENAME" /data/bitnami/redmine/mysql/bin/mysqldump -u root -pPASSWORD bitnami_redmine > $FILENAME echo "Finished backing up redmine database" echo "Starting file sync" rsync -a /data/bitnami/redmine/apps/redmine/htdocs/files /backup/redmine/apps/redmine/htdocs echo "Finished file sync" exit 0
su - bitnami crontab -e
45 * * * * cd /backup/redmine; ./backupRedmine.sh
We can create redmine tasks through email. To set this up, see Configure Redmine Email.
In addition, you need to ensure that redmine can email people
vi /data/bitnami/redmine/apps/redmine/htdocs/config/configuration.yml
# default configuration options for all environments
default:
# Outgoing emails configuration (see examples above)
email_delivery:
delivery_method: :smtp
smtp_settings:
address: mail.example.com
port: 25
domain: mail.example.com
authentication: :login
user_name: redmine@example.com
password: pa55word
For this, Redmine has to be running in order to get the database backup.
su - bitnami
cd /data/bitnami/redmine
mysqldump -h localhost -u root -pPASSWORD bitnami_redmine > /backup/redmine/redmine_db_backup_`date +%Y_%m_%d`.sql
rsync -a /data/bitnami/redmine/apps/redmine/htdocs/files /backup/redmine/apps/redmine/htdocs
For this, stop redmine before running the 'backup'.
su - bitnami
cd /data/bitnami
/data/bitnami/redmine/ctlscript stop
ls -l
tar -zcvf redmine_full_backup_`date +%Y_%m_%d`.tar.gz redmine-2.3.3-1
mv ./redmine_full_backup_*.tar.gz /backup/redmine
su - bitnami
'Ensure you have taken BOTH the normal backup and the full backup as shown above.''Ensure that redmine is not running.'/data/bitnami/redmine/ctlscript.sh stop
cd /data/bitnami
rm -f redmine
ln -s redmine-x.y.z-a redmine
./redmine/ctlscript.sh start
http://redmine:3000/redmine
mysql -u root -pPASSWORD bitnami_redmine < /backup/redmine/db_backup/redmine_db_backup_YYY_MM_DD.sql
cp /data/bitnami/redmine-o.l.d-x/apps/redmine/htdocs/lib/redmine/configuration.rb /data/bitnami/redmine/apps/redmine/htdocs/lib/redmine/configuration.rb
rsync -a /backup/redmine/apps/redmine/htdocs/files /data/bitnami/redmine/apps/redmine/htdocs
cd /data/bitnami/redmine/apps/redmine/htdocs
ruby bin/rake db:migrate RAILS_ENV=production
ruby bin/rake redmine:plugins RAILS_ENV="production"
ruby bin/rake redmine:plugins:migrate RAILS_ENV=production
ruby bin/rake tmp:cache:clear
ruby bin/rake tmp:sessions:clear
/data/bitnami/redmine/ctlscript.sh stop
/data/bitnami/redmine/ctlscript.sh start
/data/bitnami/redmine/apps/redmine/htdocs/config/configuration.yml
# default configuration options for all environments
default:
# Outgoing emails configuration (see examples above)
email_delivery:
delivery_method: :smtp
smtp_settings:
address: mail.example.com
port: 25
domain: mail.example.com
authentication: :login
user_name: redmine@example.com
password: pa55word