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. This article describes 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.
1. Update the CentOS 7 system
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.
2. Install and Configure Apache
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
3. Install and Configure MariaDB
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
4. Install and Configure PHP
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
5. Install OrangeScrum
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.
6. Create an OrangeScrum Database
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 namedorangescrumuser
with the passwordyourpassword
, 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.