Install OrangeScrum on Ubuntu 18.04

Updated on November 24, 2021
Install OrangeScrum on Ubuntu 18.04 header image

Introduction

OrangeScrum is an open-source project management and collaboration tool based on CakePHP framework. It creates and manages projects and team members and their associated tasks throughout the entire project development cycle. It's ideal for small and medium businesses due to the ease of installation and the option of self-hosting it, which gives more access and control to your data. Some enterprise features of OrangeScrum are:

  • Workflow management - create, manage, and keep track of multiple task statuses and progress for different projects.
  • Resource management - planning and executing business ideas based on knowing the available resources.
  • Schedule management - managing and planning task progress with a visual of interactive Gantt Chart.
  • Bugs and issues tracker - create a tracker for identified bugs.
  • Time tracking - track time spent on each task to maximize the output.
  • Agile project management - keeps the team in sync.

This article describes how to install OrangeScrum on Ubuntu 18.04 server.

Prerequisites

  • Deploy a fully updated Vultr Ubuntu 18.04 server.
  • Create a non-root user with sudo access.
  • PHP version 7.2.
  • MySQL version 5.6 or 5.7.

1. Install Required Packages

  1. SSH to your server as a non-root user with sudo access.

  2. Update system package manager. This updates all packages to the latest available versions.

     $ sudo apt update
  3. Install PHP 7.2 and more modules.

     $ sudo apt install apache2 mysql-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-json php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip php7.2-soap php7.2-imap php7.2-bcmath wget unzip -y
  4. List available time zones and choose your preference.

     $ sudo timedatectl list-timezones
  5. Edit the PHP configuration file.

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

    Change the following values, and replace Africa/Nairobi with your timezone save and close the file. To search for a specific line, use Control+W, enter search phrase then press Enter.

     max_execution_time = 300    
     memory_limit = 512M
     upload_max_filesize = 100M
     date.timezone = Africa/Nairobi
  6. Restart Apache2 service for all changes made to take effect.

     $ sudo systemctl restart apache2

2. Create OrangeScrum Database

Create an empty OrangeScrum database. You can change the highlighted names with your preferred names.

  1. Log in to MySQL shell. At the password prompt, just press Enter to continue.

     $ sudo mysql -u root -p
  2. Create a database called orangescrum.

     CREATE DATABASE orangescrum;
  3. Create a database user called orangescrumuser with a password StrongPassword.

     CREATE USER 'orangescrumuser'@'localhost' IDENTIFIED BY 'StrongPassword';
  4. Grant the user full access to the database.

     GRANT ALL ON orangescrum.* TO 'orangescrumuser'@'localhost' WITH GRANT OPTION;
  5. Save the changes.

     FLUSH PRIVILEGES;
  6. Exit the shell.

     EXIT;
  7. Disable strict mode for MySQL. Create disable_strict_mode.cnf file.

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

    Add the following code to the file. Save and close the file.

     [mysqld]
     sql_mode="IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  8. Restart MySQL service.

     $ sudo systemctl restart mysql

3. Install OrangeScrum

  1. Install all required packages.

     $ sudo apt install xvfb libfontconfig wkhtmltopdf -y
  2. Download the latest version of OrangeScrum. Get the latest release version from the official download page.

     $ wget https://codeload.github.com/Orangescrum/orangescrum/zip/master
  3. Create the installation directory /var/www/html/orangescrum.

     $ sudo mkdir /var/www/html/orangescrum
  4. Extract the downloaded file.

     $ sudo unzip master
  5. Move the extracted files to the installation directory.

     $ sudo mv orangescrum-master/* /var/www/html/orangescrum
  6. Change ownership of the installation directory.

     $ sudo chown -R www-data:www-data /var/www/html/orangescrum/
  7. Change access permissions for the installation directory.

     $ sudo chmod -R 755 /var/www/html/orangescrum/
  8. Navigate to the installation directory.

     $ cd /var/www/html/orangescrum/
  9. Import OrangeScrum default schema from the root directory into the new database created above. When prompted, enter password StrongPassword.

     $ sudo mysql -u orangescrumuser -p orangescrum < database.sql
  10. Edit OrangeScrum default database configuration file.

    $ sudo nano /var/www/html/orangescrum/app/Config/database.php

Change the values in the configuration file as shown below. Then, save and close the file:

    class DATABASE_CONFIG {

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

4. Configure Apache2

  1. Create a new configuration file called orangescrum.conf.

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

    Add the content below into the file, save, and close it.

     <VirtualHost *:80>
         ServerAdmin admin@example.com
         DocumentRoot /var/www/html/orangescrum/app
         ServerName example.com
         ServerAlias www.example.com
    
         <Directory /var/www/html/orangescrum/app/>
             DirectoryIndex index.php index.html
             AllowOverride All
             Require all granted
             Options Indexes FollowSymlinks
         </Directory>
    
         ErrorLog ${APACHE_LOG_DIR}/error.log
         CustomLog ${APACHE_LOG_DIR}/access.log combined
    
     </VirtualHost>
  2. Disable Apache default configuration file.

     $ sudo a2dissite 000-default.conf
  3. Enable OrangeScrum Apache configuration file.

     $ sudo a2ensite orangescrum.conf
  4. Enable required modules.

     $ sudo phpenmod mbstring
    
     $ sudo a2enmod headers
  5. Enable Apache rewrite mode.

     $ sudo a2enmod rewrite
  6. Restart Apache service.

     $ sudo systemctl restart apache2

5. Access OrangeScrum Web Interface

To access the OrangeScrum Web Interface, go to your browser and visit http://Server_IP/. For example:

http://192.0.2.10/

Conclusion

You have installed OrangeScrum on your server. Complete installation by creating an administrator account and other settings. You can now access the Dashboard and configure it to begin managing your projects.

More Information

To learn more about using OrangeScrum, go to the official documentation page.