How to Install OrangeScrum on CentOS 8

Orangescrum is an open-source and collaboration web application written by using CakePHP. It is simple and easy to use tools to manage projects, teams, documents, tasks, and communicate with the team on important issues. It is a widely used tool for small to medium size businesses. Orangescrum has many useful features like agile project management, collaboration, issue tracking, notifications, reporting, task management, conversation thread and many other features that will speed up the work process to deliver high-quality projects.

Requirements

  • OS:- Centos 8
  • A non-root user with sudo privileges.
  • If STRICT mode is On, turn it Off. In Database Server.

Getting Started

First, log in to Centos system with sudo privileges and update system using the following command:-

dnf update

Install a LAMP server.

1. Install Apache Web Server

Install Apache Web Server by the following command:

sudo dnf -y install httpd

Now check apache service using the following command

systemctl status httpd

If apache service not working then start and enable it to start at boot time, using the following commands:-

sudo systemctl start httpd
sudo systemctl enable httpd

2. Install and configure MariaDB

Install MariaDB server by executing the following command:

sudo dnf install mariadb-server

Now start MariaDB service and enable it to start at boot time then check MariaDB service status with the following command:-

sudo systemctl start mariadbsudo systemctl enable mariadbsudo systemctl status mariadb

Next, you will need to secure database server, to do so run following command in Terminal:-

sudo mysql_secure_installation

Here, set up a strong password and answer yes to all questions

Set root password? [Y/n] Y
New password:
Re-enter new 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

Your MariaDB installation is now secure.

Next, log in to MariaDB console as shown below:

sudo mysql -u root -p

Next, you will need to disable strict mode for MariaDB. First, verify which mode MariaDB is running with:

MariaDB [(none)]> SHOW VARIABLES LIKE 'sql_mode';

It will show you output like the following:

+---------------+-------------------------------------------------------------------------------------------+| Variable_name | Value                                                                                     |+---------------+-------------------------------------------------------------------------------------------+| sql_mode      | STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |+---------------+-------------------------------------------------------------------------------------------+1 row in set (0.001 sec)

Next, You can disable strict mode by running the following command:

MariaDB [(none)]> SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';

Then, you can verify that strict mode disabled or not by running the following:

MariaDB [(none)]> SELECT @@GLOBAL.sql_mode;
Check MySQL mode

Then restart MariaDB service.

sudo systemctl restart mariadb

Next, you will need to log in to the MariaDB console and create a database for the Orangescrum. Run the following command to create the database

sudo mysql -u root -p

Enter your root password when prompted and run following command:-

MariaDB [(none)]> CREATE DATABASE orangescrum;
Now create a new user and grant the required permissions to the user for the database.
MariaDB [(none)]> CREATE USER 'orangescrum_user'@'localhost' IDENTIFIED BY 'YourStrongPassword'; 
Then grant privileges to the orangescrum database with the following command:
GRANT ALL PRIVILEGES ON orangescrum.* TO 'orangescrumuser'@'localhost' IDENTIFIED BY 'YourStrongPassword' WITH GRANT OPTION;

Now run the following command to immediately apply the changes on the database privileges.

MariaDB [(none)]> FLUSH PRIVILEGES;

Next, exit from the MySQL shell:

MariaDB [(none)]> exit

3. Install and configure PHP

Next, you will need to install PHP package, run following command from Terminal

sudo dnf install php php-cli php-mysqlnd php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-curl php-opcache php-bcmath php-fpm

Once all the packages are installed, Now you will need to make some changes in php.ini file as required by OrangeScrum:

First, take the backup of php.ini

cp /etc/php.ini /etc/php.ini.bak

Next edit php.ini file

sudo vim /etc/php.ini

Find and change the value from 2M to 200M:

post_max_size=200Mupload_max_filesize=200M

Save and close the file.

Next, You’ll need to restart your apache web server to apply changes, run following command:-

sudo systemctl restart httpd

Install Orangescrum

To download the Open Source version of Orangescrum run following command:

sudo wget https://github.com/Orangescrum/orangescrum/archive/master.zip

Then unzip downloaded file by running

sudo unzip master.zip

This will create the orangescrum-master directory.

Now move orangescrum-master directory to your Apache web directory. You can do this by running:

sudo mv orangescrum-master /var/www/html/

Next Give the orangescrum-master directory the correct permissions:

sudo chown -R apache:apache /var/www/html/orangescrum-master
sudo chmod -R 777 /var/www/html/orangescrum-master

Configure Apache for Orangescrum

First, create a virtual host file for Orangescrum,

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

Then add the following content:

<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html/orangescrum-master
<Directory /var/www/html/orangescrum-master>
AllowOverride AllOrder allow,denyallow from all
</Directory>
</VirtualHost>

Save and quit:

:wq!

When you are finished, check the syntax of the configurations.to do so run the following command:-

sudo apachectl configtest

After the syntax check is done, restart Apache service:

sudo systemctl restart httpd

Configure Orangescrum

Now Import the OrangeScrum data into the orangescrum database using the following command as shown below:

mysql -u orangescrum_user -p orangescrum < /var/www/html/orangescrum-master/database.sql

Now you need to edit the database.php file to update the database connection details:

vim /var/www/html/orangescrum-master/app/Config/database.php

Change the file as shown below:

class DATABASE_CONFIG {    
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'orangescrum_user', 
'password' => 'Your_StrongPassword',
'database' => 'orangescrum',
'prefix' => '',
'encoding' => 'utf8',
);
}

Then save and exit file. Here you have to enter your database usename, password and database name that you’ve chosen when creating the database and MySQL user.

Next, you need to edit the constants.php file for SMTP:

sudo vim /var/www/html/orangescrum-master/app/Config/constants.php
Next Find and Change the following lines as per your need:
//Gmail SMTP
define("SMTP_HOST", "ssl://smtp.gmail.com");
define("SMTP_PORT", "465");
define("SMTP_UNAME", "youremail@gmail.com");
define("SMTP_PWORD", "******");
define("IS_SMTP", "0");
define('FROM_EMAIL_NOTIFY', 'notify@mycompany.com');//(REQUIRED)
define('SUPPORT_EMAIL', 'support@mycompany.com'); //(REQUIRED) From Email

Now restart Apache service.

sudo systemctl restart httpd

Next, Modify firewall rules in order to allow web access:

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

You can disable SELinux temporarily using this below-given command.

setenforce 0

Test Orangescrum

From your web browser and visit http://yourserverIP and provide your company name, an email and a password then click on Sign Up button.

Now explore more from the OrangeScrum.

Facebook
Twitter
LinkedIn
Google+
WhatsApp
Telegram
Skype

Table of Contents

Article database