×


Install OrangeScrum on CentOS 8 - Step by step guide ?

Orangescrum is a free, open-source, flexible project management web application written using CakePHP.  It helps you to manage projects, teams, documents, and tasks, all in one place. Orangescrum provides various features like agile project management, collaboration, issue tracking, notifications, reporting, task management, and traditional project management functionality for small / medium businesses.

Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to perform related open-source Software Installation queries.

In this context, we shall look into how to install OrangeScrum on CentOS 8.


Steps to Install OrangeScrum on CentOS 8

1. Perform System Update

To begin, ensure that your system is up-to-date with the below command:

$ sudo dnf install epel-release
$ sudo dnf update


2. Install LAMP server

Here you need to install LAMP server on your CentOS system.

i. 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

ii. 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 mariadb
$ sudo systemctl enable mariadb
$ sudo 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 with the below command:

$ 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 command:

MariaDB [(none)]> SELECT @@GLOBAL.sql_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 'orangescrumuser'@'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

iii. 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=200M
upload_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


3. Install Orangescrum on the system

Now we download the Open Source version of Orangescrum run the following command:

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

After downloading, you will need to unzip the master.zip. To do this, run:

$ sudo unzip master.zip
$ sudo mv orangescrum-master /var/www/html/

We will need to change some folders permissions:

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


4. 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 All
Order allow,deny
allow 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


5. 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' => 'orangescrumuser',
            '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


6. Install an SSL certificate

First, download the required packages and create a new system binary with the below commands:

$ wget https://dl.eff.org/certbot-auto
$ sudo mv certbot-auto /usr/local/bin/certbot-auto
$ sudo chown root /usr/local/bin/certbot-auto
$ sudo chmod 0755 /usr/local/bin/certbot-auto

Next, run the certbot a command that will download and install all of its dependencies:

$ sudo /usr/local/bin/certbot-auto --apache


7. Configure Firewall

Modify firewall rules in order to allow web access:

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


How to access OrangeScrum ?

OrangeScrum will be available on HTTP port 80 by default. 

Open your favorite browser and navigate to https://your-domain.com/ or https://server-ip-address and complete the required steps to finish the installation.


[Need help in fixing Software Configuration on CentOS Linux system ? We can help you. ]


Conclusion

This article covers How to Install OrangeScrum on CentOS 8. In fact, Orangescrum is an open-source and collaboration web application for managing projects, teams, documents, tasks, and communicate with the team on important issues.