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.
Prerequisites
- 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 -y
sudo yum update -y
sudo 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.service
sudo 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/mysql
socket=/var/lib/mysql/mysql.sock
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
Save and quit:
:wq!
Start the MariaDB service:
sudo systemctl start mariadb.service
sudo 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): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload 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:
cd
wget https://centos7.iuscommunity.org/ius-release.rpm
sudo 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.bak
sudo sed -i "s/post_max_size = 8M/post_max_size = 200M/" /etc/php.ini
sudo 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:
cd
wget https://github.com/Orangescrum/orangescrum/archive/v1.6.1.tar.gz
tar -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/html
sudo 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.com
DocumentRoot /var/www/html/orangescrum-1.6.1
<Directory /var/www/html/orangescrum-1.6.1>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Save and quit:
:wq!
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:
:wq!
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", "youremail@gmail.com");
define("SMTP_PWORD", "******");
define('FROM_EMAIL_NOTIFY', 'notify@mycompany.com');
define('SUPPORT_EMAIL', 'support@mycompany.com');
Save and quit:
:wq!
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=http
sudo 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
Suggest an update
Request an article