How to install Orangescrum project management server on Ubuntu 18.04

If you're looking for a powerful, in-house project management tool, look no further than Orangescrum.

orangescrumhero.jpg
Image: Jack Wallen

Most often, the one thing that separates a well-oiled development team from the rest of the competition is a good project management tool. For this particular solution, your company can either turn to a cloud-based tool or host it in-house.

If you happen to know your way around Linux, you can install one particular project management solution that offers nearly every feature you might want. That solution is Orangescrum, a tool that is ideal for small to mid-sized business project management.

OrangeScrum features:

  • Project Backlog
  • Story and Epics
  • Story Points
  • Scrum Board
  • Sprint Planning
  • Sprint Reports
  • And more

What you need

I'm going to walk you through the process of installing Orangescrum on Ubuntu 18.04. The only things you need are the Ubuntu Server 18.04 platform and a user with sudo privileges.

Let's install.

SEE: Disaster recovery and business continuity plan (Tech Pro Research)

Update/upgrade

The first thing to do is update and upgrade your server. Do note that, should the kernel be updated in the process, a restart of the server will be required. Because of this, run the update/upgrade process during a time when an update is possible.

To run the update/upgrade process, log into your Ubuntu server and issue the following command:

sudo apt-update
sudo apt-get upgrade -y

Should your kernel be upgraded, reboot the server at this time.

LAMP

The next step is installing the LAMP server. Log into Ubuntu and issue 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

Configure PHP

Once the LAMP installation completes, PHP must be configured for Orangescrum. Issue the command:

sudo nano /etc/php/7.2/apache2/php.ini

Make the following changes to these lines:

post_max_size = 200M
upload_max_filesize = 200M
max_execution_time = 300
memory_limit = 512M
max_input_vars = 5000

Save and close the file.

Start and enable the web and database servers with the following commands:

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

Database

It's time to configure MariaDB and create the database. The configuration is a simple matter of issuing the command:

sudo mysql_secure_installation

Make sure to set an admin password for MariaDB and answer y to the questions. Once you've done that, enter the database prompt with the command:

mysql -u root -p

Create the database and user with the following commands:

CREATE DATABASE orangescrumdb;
GRANT ALL PRIVILEGES ON orangescrumdb.* TO 'orangescrumuser'@'localhost' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
exit

Where PASSWORD is a unique and strong password.

Orangescrum

It's now time to install Orangescrum. Download the latest release from the download page. Make sure to select Ubuntu 18.x for PHP 7. Assuming your Ubuntu Server doesn't have a GUI, download that to another Linux machine on your network and the use scp to copy the file like so:

scp orangescrum-ubuntu18-php.zip USER@SERVER_IP:/home/USER/

Where USER is a username on the Orangescrum server and SERVER_IP is the IP address of the Orangescrum server.

On the Orangescrum server, change into the directory housing the zip file with the command cd /home/USER (Where USER is the username you used to copy the file.) Extract the contents of the downloaded file with the command:

unzip orangescrum-ubuntu18-php7.zip

Copy the newly-created folder into the Apache document root with the command:

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

Change into the newly-moved folder with the command:

cd /var/www/html/orangescrum-master

Import the database with the command:

sudo mysql -u orangescrumuser -p orangescrumdb < database.sql

You'll be required to enter the password you created for the orangescrumuser. When the import completes, open the Orangescrum database.php file with the command:

sudo nano app/Config/database.php

Edit the contents of that file to reflect the following:

class DATABASE_CONFIG {

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

Where PASSWORD is the password you created for orangescrumuser.

Save and close that file.

If you need to add SMTP server information, you can open the configuration file with the command:

sudo nano app/Config/config.ini.php

Add your SMTP details in the [EMAIL INFO] block. Save and close that file.

Change the permissions of the orangescrum-master folder with the commands:

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

Configure Apache

It's time to make Apache aware of Orangescrum. Create a new configuration file with the command:

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

In that file, paste the following:

<VirtualHost *:80>
        ServerAdmin admin@example.com
        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>

Make sure to replace the ServerAdmin email address with your address and change ServerName to reflect your own domain name. Save and close that file.

Enable the site and the necessary modules with the commands:

sudo a2ensite orangescrum.conf
sudo phpenmod mbstring
sudo a2enmod rewrite
sudo a2enmod headers

Restart Apache with the command:

sudo systemctl restart apache2

Accessing the web interface

You can now point a web browser to http://SERVER_IP (where SERVER_IP is the IP address of your Orangescrum server) and provide a site name, email address, and password to create an account. Once you've done that, you'll find yourself on the Orangescrum Dashboard, where you can finish up the configuration (Figure A).

Figure A

Figure A

The Orangescrum Dashboard.


Make it yours

Congratulations, you now have a powerful, flexible, in-house project management server that can be configured to perfectly suit your company needs. Happy managing of those projects.

Also see