Orangescrum is a collaborative and open source web application written with CakePHP. This app is a simple and easy-to-use tool for managing projects, teams, documents, tasks and communicating with teams on important issues.
Orangescrum is a widely used tool for small and medium sized businesses. Orangescrum contains many useful features such asAgile project management, collaboration, problem tracking, notifications, reports, task management, thread conversations And many other features that will speed up the work process for producing high quality projects.
Tutorial requirements
- CentOS 8 Server.
- Log in as root user or regular user with sudo privileges.
- For database server, if STRICT mode is on, change it to off
Initial step
Update the operating system (software) package. This is an important first step as it ensures that you have the latest updates and security fixes for the default software packages for your operating system:
dnf update
Install LAMP Server.
For this tutorial, we selected LAMP (Linux, Apache, MariaDB, and PHP),
1. Install Apache web server
Install Apache web server using the following command:
sudo dnf -y install httpd
Now verify the Apache service using the following command
systemctl status httpd
If the Apache service is not running, turn it on and enable it to start at boot time, with the following command: –
sudo systemctl start httpd sudo systemctl enable httpd
2. Install and configure MariaDB
Install MariaDB Server by running the following command:
sudo dnf install mariadb-server
Now start the MariaDB service and enable it to start at boot up, then check the MariaDB service status with the following command:
sudo systemctl start mariadb sudo systemctl enable mariadb sudo systemctl status mariadb
Next, run the mysql_secure_installation script to perform the basic security improvements:
sudo mysql_secure_installation
This command will change the root password, delete anonymous users, block remote root logins, and delete the test database. Answer the questions as shown below and make sure to choose a secure root user password:
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
Once MariaDB is secured, log into the MariaDB shell with the following command:
sudo mysql -u root -p
Next, you need to disable MariaDB hard mode. First, check out the mode MariaDB is running in:
MariaDB [(none)]> SHOW VARIABLES LIKE 'sql_mode';
This will result in 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)
After that, you can disable Hard Mode by running the following command:
MariaDB [(none)]> SET GLOBAL sql_mode="NO_ENGINE_SUBSTITUTION";
Then, you can check whether Hard mode is disabled or not by running the following:
MariaDB [(none)]> SELECT @@GLOBAL.sql_mode;
Then restart the MariaDB service.
sudo systemctl restart mariadb
Next, you log into the MariaDB console and create a database for Orangescrum. Run the following command to create a database
sudo mysql -u root -p
Enter your root password then create a database and database user for Orangescrum with the following command:
CREATE DATABASE orangescrum; CREATE USER 'orangescrum_user'@'localhost' IDENTIFIED BY 'g4nt!_d3n9an_p4$$w0rd'; GRANT ALL PRIVILEGES ON orangescrum.* TO 'orangescrumuser'@'localhost' IDENTIFIED BY 'g4nt!_d3n9an_p4$$w0rd' WITH GRANT OPTION; FLUSH PRIVILEGES; exit;
3. Install and configure PHP
Next, you need to install 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 packages, now you need to make some changes to the files php.ini
As required by OrangeScrum:
First, copy the php.ini file and paste it with another name.
cp /etc/php.ini /etc/php.ini.bak
After that, edit the php.ini file
sudo nano /etc/php.ini
Find the value and change it from 2M to 200M:
post_max_size=200M upload_max_filesize=200M
Save and close the file.
After that, you must restart the apache web server to take effect 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
The decompress command will extract the directory orangescrum-master
Now move the orangescrum-master directory to the root of the Apache web directory. You can do this by running:
sudo mv orangescrum-master /var/www/html/
Next, grant the orangescrum-master folder the correct permissions:
sudo chown -R apache:apache /var/www/html/orangescrum-master sudo chmod -R 777 /var/www/html/orangescrum-master
Once done, we are ready to configure Apache for Orangescrum
First, create a default host file for Orangescrum,
sudo nano /etc/httpd/conf.d/orangescrum.conf
Add the following composition
<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>
When done, check the configuration syntax. To do this, run the following command:
sudo apachectl configtest
After the syntax check is complete, restart the Apache service:
sudo systemctl restart httpd
Orangescrum composition
Now import OrangeScrum data into 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:
nano /var/www/html/orangescrum-master/app/Config/database.php
Then find and change the following settings:
class DATABASE_CONFIG { public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'orangescrum_user', 'password' => 'g4nt!_d3n9an_P4$$w0rd', 'database' => 'orangescrum', 'prefix' => '', 'encoding' => 'utf8', ); }
Then save and exit the file. Here you will need to enter the username, password and database name that you specified when creating the MySQL database and the user.
Next, you need to edit the constants.php file for SMTP:
sudo nano /var/www/html/orangescrum-master/app/Config/constants.php
Edit the SMTP / Email settings according to your needs.
//Gmail SMTP define("SMTP_HOST", "ssl://smtp.gmail.com"); define("SMTP_PORT", "465"); define("SMTP_UNAME", "[email protected]"); define("SMTP_PWORD", "g4nt!_d3n9an_P4$$w0rd"); 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, change the firewall rules to allow access to the web:
sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --reload
You can disable SELinux temporarily using the command given below.
setenforce 0
Orangescrum test
From your web browser and visit http://serverIP
/ Enter your company name, email, and password, then click the Register button.
.
Originally posted 2020-11-18 19:00:02.