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 rcs 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
SSH to your server as a non-root user with sudo access.
Update system package manager. This updates all packages to the latest available versions.
$ sudo apt update
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
List available time zones and choose your preference.
$ sudo timedatectl list-timezones
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 CTRL+W, enter search phrase then press ENTER.max_execution_time = 300 memory_limit = 512M upload_max_filesize = 100M date.timezone = Africa/Nairobi
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.
Log in to MySQL shell. At the password prompt, just press ENTER to continue.
$ sudo mysql -u root -p
Create a database called
orangescrum
.CREATE DATABASE orangescrum;
Create a database user called
orangescrumuser
with a passwordStrongPassword
.CREATE USER 'orangescrumuser'@'localhost' IDENTIFIED BY 'StrongPassword';
Grant the user full access to the database.
GRANT ALL ON orangescrum.* TO 'orangescrumuser'@'localhost' WITH GRANT OPTION;
Save the changes.
FLUSH PRIVILEGES;
Exit the shell.
EXIT;
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"
Restart MySQL service.
$ sudo systemctl restart mysql
3. Install OrangeScrum
Install all required packages.
$ sudo apt install xvfb libfontconfig wkhtmltopdf -y
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
Create the installation directory
/var/www/html/orangescrum
.$ sudo mkdir /var/www/html/orangescrum
Extract the downloaded file.
$ sudo unzip master
Move the extracted files to the installation directory.
$ sudo mv orangescrum-master/* /var/www/html/orangescrum
Change ownership of the installation directory.
$ sudo chown -R www-data:www-data /var/www/html/orangescrum/
Change access permissions for the installation directory.
$ sudo chmod -R 755 /var/www/html/orangescrum/
Navigate to the installation directory.
$ cd /var/www/html/orangescrum/
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
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
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>
Disable Apache default configuration file.
$ sudo a2dissite 000-default.conf
Enable OrangeScrum Apache configuration file.
$ sudo a2ensite orangescrum.conf
Enable required modules.
$ sudo phpenmod mbstring $ sudo a2enmod headers
Enable Apache rewrite mode.
$ sudo a2enmod rewrite
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.