How to install OrangeScrum on CentOS 8

How to install OrangeScrum on CentOS 8

Orangescrum is an open source and collaborative web application written using CakePHP. Use 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 and medium businesses. Orangescrum has many useful features such as agile project management, collaboration, issue tracking, notifications, reporting, task management, conversation threads, and many other features that will speed up the workflow to deliver high-quality projects.

Claim

  • Operating System: –Centos 8
  • A non-root user with sudo privileges.
  • If Strict mode is On, turn it off. On the database server.

getting Started

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

dnf update

Install the LAMP server.

1. Install Apache Web Server

Install Apache Web Server with the following command:

sudo dnf -y install httpd

Now check the apache service using the following command

systemctl status httpd

If the apache service does not work, start it with the following command and enable it to start at startup:

sudo systemctl start httpdsudo 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 make it start at startup, then check the status of MariaDB service with the following command:

sudo systemctl start mariadbsudo systemctl enable mariadbsudo systemctl status mariadb

Next, you will need to secure the database server. To do this, run the following command in a terminal:-

sudo mysql_secure_installation

Here, set a secure password and answer all questions.

Set root password? [Y/n] YNew password:Re-enter new password:Remove anonymous users? [Y/n] YDisallow root login remotely? [Y/n] YRemove test database and access to it? [Y/n] YReload privilege tables now? [Y/n] Y

Now your MariaDB installation is secure.

Next, log in to the MariaDB console as follows:

sudo mysql -u root -p

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

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

It will display the following output:

+---------------+-------------------------------------------------------------------------------------------+| 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';

You can then verify that strict mode is disabled 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 Orangescrum. Create the database by running

sudo mysql -u root -p

Enter your root password when prompted and run the 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 to the database privileges.

Maria Database [(none)]Flushing privileges;

Next, exit MySQL Shell:

Maria Database [(none)]Exit

3. Install and configure PHP

Next, you will need to install the PHP package, run the 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

After installing all the packages, now you need to make some changes to the php.ini file as requested by OrangeScrum:

First, backup php.ini

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

Next edit the 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 need to restart the apache web server to apply the changes, run the following command:

sudo systemctl restart httpd

Install Orangescrum

To download the open source version of Orangescrum, run the following command:

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

Then unzip the downloaded file by running

sudo unzip master.zip

This will create the orangescrum-master directory. Now move the 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-mastersudo 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:

ServerName localhostDocumentRoot /var/www/html/orangescrum-masterAllowOverride AllOrder allow,denyallow from all

Save and exit:

:wq!

When done, check the syntax of the configuration. To do this, run the following command:-

sudo apachectl configtest

After completing the syntax check, restart the Apache service:

sudo systemctl restart httpd

Configure Orangescrum

Now, import 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 follows:

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 the file. Here, you must enter the database use name, password, and database name that you chose when you created 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 SMTPdefine("SMTP_HOST", "ssl://smtp.gmail.com");define("SMTP_PORT", "465");define("SMTP_UNAME", "[email protected]");define("SMTP_PWORD", "******");define("IS_SMTP", "0");define('FROM_EMAIL_NOTIFY', '[email protected]'); //(REQUIRED)define('SUPPORT_EMAIL', '[email protected]'); //(REQUIRED) From Email

Now restart the Apache service.

sudo systemctl restart httpd

Next, modify the firewall rules to allow web access:

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

You can temporarily disable SELinux using the command given below.

setenforce 0

Test Orangescrum

In a web browser, visit http: // yourserverIP and provide your company name, email, and password, and click the "Sign Up" button.

Now, explore more from OrangeScrum.

Sidebar