How to Install OrangeScrum on CentOS 7

OrangeScrum is a free and open source project management tool which is widely used in small and medium businesses.

In this article, I will walk you through the procedure of installing OrangeScrum on a CentOS 7 server.


  • A fresh Vultr CentOS 7 server instance with minimum 2G of memory.
  • A sudo user.

Step 1: Update the CentOS 7 system

Log into your machine as a sudo user, and then update the system to the latest stable status:

sudo yum install epel-release -ysudo yum update -ysudo shutdown -r now

After the system getting started again, log in as the same sudo user to proceed.

Step 2: Install and configure Apache

Install Apache 2.4 using YUM:

sudo yum install httpd -y

Remove the pre-set Apache welcome page:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Prevent Apache from exposing files and directories in visitors’ web browser:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Start the Apache service:

sudo systemctl start httpd.servicesudo systemctl enable httpd.service

Step 3: Install and configure MariaDB

OrangeScrum requires MySQL 5.5 which can be installed using the built-in YUM repos:

sudo yum install mariadb mariadb-server -y

Modify MariaDB database settings:

sudo vi /etc/my.cnf

To change the collation settings, append a few lines to the [mysqld] segment as below:

[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockinit_connect='SET collation_connection=utf8_unicode_ci'init_connect='SET NAMES utf8'character-set-server=utf8collation-server=utf8_unicode_ciskip-character-set-client-handshake

Save and quit:


Start the MariaDB service:

sudo systemctl start mariadb.servicesudo systemctl enable mariadb.service

Secure MariaDB’s installation:

sudo /usr/bin/mysql_secure_installation

During this interactive process, answer questions as below:

Enter current password for root (enter for none): EnterSet root password? [Y/n]: YNew password: <your-password>Re-enter new password: <your-password>Remove anonymous users? [Y/n]: YDisallow root login remotely? [Y/n]: YRemove test database and access to it? [Y/n]: YReload privilege tables now? [Y/n]: Y

Step 4: Install and configure PHP

Because PHP 5.5.x and earlier PHP versions have reached EOL (End of Life), a recommended practice is to install PHP 5.6.x using the IUS YUM repo.

Setup the IUS YUM repo:

cdwget rpm -Uvh ius-release.rpm

Install PHP 5.6.x and necessary extensions using the IUS YUM repo:

sudo yum install php56u php56u-mysqlnd php56u-gd php56u-imap php56u-ldap php56u-odbc php56u-xml php56u-xmlrpc php56u-mbstring php56u-mcrypt php56u-mssql php56u-snmp php56u-soap php56u-tidy php56u-pear curl libcurl-devel -y

Increase the upload file size to 200 MB as required by OrangeScrum:

sudo cp /etc/php.ini /etc/php.ini.baksudo sed -i "s/post_max_size = 8M/post_max_size = 200M/" /etc/php.inisudo sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 200M/" /etc/php.ini

Restart Apache in order to load new components:

sudo systemctl restart httpd.service

Step 5: Install OrangeScrum

1) Download and unzip the latest stable version of OrangeScrum which is 1.6.1 at the time of writing:

cdwget -zxvf v1.6.1.tar.gz

2) Move all OrangeScrum files to the web root directory /var/www/html and then setup appropriate permissions:

sudo mv ~/orangescrum-1.6.1 /var/www/html && sudo chown root:root -R /var/www/htmlsudo chmod -R 0777 /var/www/html/orangescrum-1.6.1/{app/Config,app/tmp,app/webroot}

3) Setup a virtual host for OrangeScrum:

sudo vi /etc/httpd/conf.d/orangescrum.conf

Populate the file with the following settings:

<VirtualHost *:80>ServerName orangescrum.example.comDocumentRoot /var/www/html/orangescrum-1.6.1<Directory /var/www/html/orangescrum-1.6.1>Options Indexes FollowSymLinks MultiViewsAllowOverride AllOrder allow,denyallow from all</Directory></VirtualHost>

Save and quit:


4) Create a database for OrangeScrum:

Log into the MySQL shell as root:

mysql -u root -p

Use the MariaDB root password you set earlier to log in.

In the MySQL shell, create a database named orangescrum and a database user named orangescrumuser with the password yourpassword, and then grant all privileges on this database to this database user.

Note: On your machine, make sure to replace these parameters in each and every command with your own ones.

CREATE DATABASE orangescrum;CREATE USER 'orangescrumuser'@'localhost' IDENTIFIED BY 'yourpassword';GRANT ALL PRIVILEGES ON orangescrum.* TO 'orangescrumuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;FLUSH PRIVILEGES;EXIT;

Import OrangeScrum data into the orangescrum database:

mysql -u root -p orangescrum < /var/www/html/orangescrum-1.6.1/database.sql

5) Modify OrangeScrum configuration files:

To update database credentials:

sudo vi /var/www/html/orangescrum-1.6.1/app/Config/database.php

Find the following lines:

'login' => 'root','password' => '','database' => 'orangescrum',

Change them to:

'login' => 'orangescrumuser','password' => 'yourpassword','database' => 'orangescrum',

Save and quit:


To update email details:

sudo vi /var/www/html/orangescrum-1.6.1/app/Config/constants.php

Find the following lines separately, and then replace these email addresses and the password with your own ones:

define("SMTP_UNAME", "");define("SMTP_PWORD", "******");define('FROM_EMAIL_NOTIFY', '');define('SUPPORT_EMAIL', '');

Save and quit:


6) Restart Apache in order to put your changes into effect:

sudo systemctl restart httpd.service

7) Modify firewall rules in order to allow web access:

sudo firewall-cmd --zone=public --permanent --add-service=httpsudo firewall-cmd --reload

8) Point your web browser to http://<your-server-IP>, provide your company name, an email ID, and a password to login. Feel free to explore OrangeScrum.

That concludes our tutorial. Thank you for reading.

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article

No comments

Powered by Blogger.