OrangeScrum is a free and open source project management tool which is widely used in small and medium businesses. This article describes 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.
Log into your machine as a sudo user and update the system.
$ sudo yum install epel-release -y
$ sudo yum update -y
$ sudo shutdown -r now
After the system reboots, log in as the same sudo user to proceed.
Install Apache.
$ 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
Install MariaDB.
$ sudo yum install mariadb mariadb-server -y
Modify the MariaDB database settings.
$ sudo nano /etc/my.cnf
To change the collation settings, append a few lines to the [mysqld]
segment as shown 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 exit the editor.
Start the MariaDB service.
$ sudo systemctl start mariadb.service
$ sudo systemctl enable mariadb.service
Secure the MariaDB installation.
$ sudo /usr/bin/mysql_secure_installation
During this interactive process, answer questions as shown 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
Install the PHP Packages.
$ sudo yum -y install php
$ sudo yum -y install php-mysql
$ sudo yum -y install php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel
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 to load the new configuration.
$ sudo systemctl restart httpd.service
Locate the latest stable version of OrangeScrum.
Download and unzip the file.
$ cd
$ wget https://github.com/Orangescrum/orangescrum/archive/<VERSION>.tar.gz
$ tar -zxvf v1.6.1.tar.gz
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}
Setup a virtual host for OrangeScrum.
$ sudo nano /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 exit the editor.
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 all commands with your values.
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
Update OrangeScrum database credentials.
$ sudo nano /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 exit the editor.
Update email details.
$ sudo nano /var/www/html/orangescrum-1.6.1/app/Config/constants.php
Find the following lines. Replace the email addresses and the password with your values.
define("SMTP_UNAME", "youremail@gmail.com");
define("SMTP_PWORD", "******");
define('FROM_EMAIL_NOTIFY', 'notify@mycompany.com');
define('SUPPORT_EMAIL', 'support@mycompany.com');
Save and exit the editor.
Restart Apache to load the new configuration.
$ sudo systemctl restart httpd.service
Change the firewall rules to allow web access.
$ sudo firewall-cmd --zone=public --permanent --add-service=http
$ sudo firewall-cmd --reload
Navigate to http://<your-server-IP>
, enter your company name, an email ID, and a password to login.