How to Install and Configure OrangeScrum on Ubuntu 18.04 LTS
This tutorial exists for these OS versions
- Ubuntu 20.04 (Focal Fossa)
- Ubuntu 18.04 (Bionic Beaver)
On this page
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:
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:
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.