How to Install and Configure OrangeScrum on Ubuntu 18.04 LTS

 

OrangeScrum is a free and open source project management and collaboration tool written in PHP with CakePHP framework. It is simple, easy to use and ideal for small or medium businesses. It is used to manage projects, teams, documents, task, and communicate with the team on important issues. Orangescrum comes with lots of features like, Visual representation, kanban view, All in one screen, daily email catch-up, Gantt Charts, conversation thread, ticketing system, Dropbox integration, and many more. You can easily collaborate with Employees, Leaders, Clients and Freelancers from the central location.

In this tutorial, we will explain the installation and configuration of OrangesCrum on Ubuntu 18.04 LTS server.

Requirements

  • A server running Ubuntu 18.04.
  • A non-root user with sudo privileges.

Getting Started

First, update your system with the latest version by running the following command:

sudo apt-get update -y
sudo apt-get upgrade -y

Once your system is updated, restart your system to apply the changes.

Install LAMP Server

Before starting, you will need to install Apache, MariaDB, PHP and other PHP modules to your system. You can install all of them by running the following command:

sudo apt-get install apache2 mariadb-server php7.2 php7.2-bcmath php7.2-cgi php7.2-cli php7.2-common php-curl php7.2-dba php7.2-enchant php7.2-fpm php7.2-gd php7.2-imap php7.2-intl php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php-imagick php-memcache php7.2-soap php7.2-tidy php7.2-xml php7.2-zip libapache2-mod-php7.2 xvfb libfontconfig wkhtmltopdf unzip wget -y

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

sudo nano /etc/php/7.2/apache2/php.ini
post_max_size = 200M
upload_max_filesize = 200M
max_execution_time = 300
memory_limit = 512M
max_input_vars = 5000

Save and close the file. Then, start Apache and MariaDB service and enable them to start on boot time with the following command:

sudo systemctl start apache2
sudo systemctl start mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb

Configure Database

By default, MariaDB is not secure. So, you will need to secure it first. You can secure it by running the following command:

sudo mysql_secure_installation

Answer all the questions as shown below:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    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 the MariaDB is secured, log in to MariaDB shell:

mysql -u root -p

Enter your root password, then create a database and user for Orangscrum:

MariaDB [(none)]> CREATE DATABASE orangescrumdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON orangescrumdb.* TO 'orangescrumuser'@'localhost' IDENTIFIED BY 'password';

Replace ‘password’ with a secure password in the abive SQL command.

Next, flush the privileges and exit from the MariaDB shell:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

Next, you will need to disable strict mode for MariaDB. You can do this by creating disable_strict_mode.cnf file:

sudo nano /etc/mysql/conf.d/disable_strict_mode.cnf

Add the following lines:

[mysqld]
sql_mode="IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Save and close the file. Then, restart MariaDB to apply all the changes:

sudo systemctl restart mariadb

Install Orangescrum

First, download the latest version of Orangescrum from https://www.orangescrum.org/free-download.

cd /tmp
wget https://www.orangescrum.org/free-download/418ae4d8ef1309695804a7837cd4fc65/ubuntu18-php7 -O orangescrum-ubuntu18-php7.zip

Once the download is completed, extract the downloaded file with the following command:

unzip orangescrum-ubuntu18-php7.zip

Next, copy the extracted directory to the Apache web root directory:

sudo cp -r orangescrum-orangescrum-ubuntu18-php7 /var/www/html/orangescrum-master

Next, change the directory to the /var/www/html/orangescrum-master and import OrangeScrum database into your newly created database:

cd /var/www/html/orangescrum-master
sudo mysql -u orangescrumuser -p orangescrumdb < database.sql

Enter the password that you have chosen for the ‘orangescrumuser’ MySQL user when requested by the mysql command.

Next, edit the database.php file:

sudo nano app/Config/database.php

Make the following changes:

class DATABASE_CONFIG {

        public $default = array(
                'datasource' => 'Database/Mysql',
                'persistent' => false,
                'host' => 'localhost',
                'login' => 'orangescrumuser',
                'password' => 'password',
                'database' => 'orangescrumdb',
                'prefix' => '',
                'encoding' => 'utf8',
        );
}

Replace the password with the password that you’ve chosen when creating the database and MySQL user. Save and close the file. Then, edit config.ini.php file:

sudo nano app/Config/config.ini.php

Add your SMTP server details as per your need:

[EMAIL INFO]
SMTP_UNAME = admin  
SMTP_PWORD = password
SMTP_HOST = smtp.example.com
SMTP_PORT = 25

[PDF PATH]
PDF_LIB_PATH = /usr/bin/wkhtmltopdf

Save and close the file.

Next, give proper permissions to the orangescrum directory:

sudo chown -R www-data:www-data /var/www/html/orangescrum-master/
sudo chmod -R 775 /var/www/html/orangescrum-master/

Configure Apache for Orangescrum

Next, create an Apache virtual host file for Orangescrum. You can do this with the following command:

sudo nano /etc/apache2/sites-available/orangescrum.conf

Add the following lines:

<VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/orangescrum-master/
        ServerName example.com
    <Directory /var/www/html/orangescrum-master/>
             DirectoryIndex index.php index.html
             AllowOverride All
             Allow from all
             Order allow,deny
             Options Indexes FollowSymlinks
    </Directory>
</VirtualHost>

Replace example.com with your own domain name in the vhost file. Save and close the file.

Then, enable Apache virtual host file with the following command:

sudo a2ensite orangescrum.conf

Next, enable mbstring, rewrite and headers module with the following command:

sudo phpenmod mbstring
sudo a2enmod rewrite
sudo a2enmod headers

Finally, restart Apache service to apply all the changes by running the following command:

sudo systemctl restart apache2

Access Orangescrum Web Interface

Now, open your web browser and type the URL http://example.com. You will be redirected to the Orangescrum welcome page:

Sign up for admin account

The error about write permissions in tmp folder can be ignored, the permissions are fine. The error will go away after initial signup.

Provide your site name, email address and password. Then, click on the Signup button. You will be redirected to the Orangescrum dashboard in the following page:

OrangeScrum Dashboard

Virtual machine image download of this tutorial

This tutorial is available as ready to use virtual machine image in ovf/ova format that is compatible with VMWare and Virtualbox. The virtual machine image uses the following login details:

SSH / Shell Login

Username: administrator
Password: howtoforge

This user has sudo rights.

Orangescrum Login

Username: [email protected]
Password: howtoforge

MySQL Login

Username: root
Password: howtoforge

and

Username: orangescrumuser
Password: password

The IP of the VM is 192.168.1.100, it can be changed in the file /etc/netplan/01-netcfg.yaml. Please change all the above passwords to secure the virtual machine. The Download-Link for the VM is in the menu on the right side, near the top.

Links

 

Source