• Get In Touch
May 6, 2016

How to Install and Setup Orangescrum on Ubuntu 14.04

Want your very own server? Get our 1GB memory, Xeon V4, 25GB SSD VPS for £10.00 / month.
Get a Cloud Server

Introduction

Orangescrum is a free, open source, flexible project management web application written using CakePHP, ideal for small or medium businesses. It helps you to manage projects, teams, documents, and tasks all in one place.

Using OrangeScrum you can organize your tasks, communicate with the team on important issues, and manage project documents easily. It’s is an awesome project management tool with simple yet intuitive interfaces that has the capacity to plan, organize and manage your tasks for every type of business and projects.

Orangescrum provides various features like collaboration, agile project management, issue tracking, notifications, task management, reporting and traditional project management functionality for small/medium businesses.

Some of the major features of Orangescrum are:

  1. Tasks and Task Management
    Need to get a project done, on time, within the proposed budget. OrangeScrum helps you to achieve it effortlessly. Create tasks, connect your team and manage projects with real-time information sharing. Analyse and track with real-time notifications and alerts.

  2. Project Planning
    Tasks, Milestones, Task Status, Task Priority, Documents Sharing, Timeline mapping, Cost Management and host of other Project Planning features. Get a more transparent and refined control over your project with Orangescrum. Make your project planning structured and easy to map.

  3. Gantt Charts
    The innovative Gantt Chart provides a detailed visual information on the progress of your tasks in comparison to your plan. This lets you know who is going to get free after how many hours, who is engaged and who can be assigned with additional tasks. Gantt chart makes it easy to manage and track your project.

  4. Collaborate
    Employees, Clients, Leaders, Consultants, Freelancers, neighbouring or from remote locations – all can work together, share information within a group or private to an individual. Share documents and more. Work seamlessly with host of collaboration tools. Make your project collaborative.

  5. Reports & Analytics
    Orangescrum is loaded with clear, visibly drawn reports and analytics. Get in-depth information about your team’s progress with many type of graphical information and one-click downloadable reports.

Requirements

  • A Server running Ubuntu 14.04
  • A Static IP Address for your server

Install Mysql

By default the mysql package is available in the Ubuntu 14.04 repository.

So, you can easily install mysql using the following command:

sudo apt-get install mysql-server

After this, start mysql service and enable mysql to start on boot.

sudo /etc/init.d/mysql start
sudo update-rc.d mysql defaults

Install Php and Apache

After installing mysql, you will need to install PHP and Apache.

sudo apt-get install libapache2-mod-php5 php5 php5-cli php5-common php5-gd php5-mcrypt php5-mysql apache2

After this, start Apache service and enable Apache to start on boot.

sudo /etc/init.d/apache2 start
sudo update-rc.d apache2 defaults

Download Orangescrum and Upload it to Apache Web root

You can download Orangescrum open source version from url https://github.com/Orangescrum/orangescrum.

sudo wget https://github.com/Orangescrum/orangescrum/archive/master.zip

After downloading Orangescrum you will need to unzip master.zip.

sudo unzip master.zip

After this, You will find the orangescrum-master directory.

Now, move this directory with name orangescrumPM to your Apache web root directory.

sudo mv orangescrum-master /var/www/html/orangescrumPM

Give proper permissions to the orangescrumPM directory.

sudo chown -R www-data:www-data /var/www/html/orangescrumPM
sudo chmod -R 777 /var/www/html/orangescrumPM

Configure Mysql

In order to log into MySQL to secure it, you’ll need the current password for the root user. If you’ve just installed MySQL, and you haven’t set the root password yet, the password will be blank.

sudo mysql_secure_installation

Answer all the questions shown as below:

Enter current password for root (enter for none): **currentrootpasswd**
Set root password? [Y/n]: **Press Enter**
New password: **rootsqlpasswd**
Re-enter new password: **rootsqlpasswd**
Remove anonymous users? [Y/n]: **Press Enter**
Disallow root login remotely? [Y/n]: **Press Enter**
Remove test database and access to it? [Y/n] : **Press Enter**
Reload privilege tables now? [Y/n] : **Press Enter**

All done! If you’ve completed all of the above steps, your MySQL installation should now be secure. Now, You need login to mysql, create database and user for Orangescrum.

sudo mysql -u root -p

Create the database with the name Orangescrum:

mysql> create database orangescrum;

Create the user with the name orangescrum:

mysql> create user orangescrum;

Grant all privileges while assigning the password, chose a secure password and replace my-secret-password with your own:

mysql> grant all on orangescrum.* to 'orangescrum'@'localhost' identified by 'my-secret-password';

Exit from the mysql shell:

mysql> exit

Now, You will need to import the database from database.sql file located in /var/www/html/orangescrumPM directory.

First, change into the orangescrum directory:

sudo cd /var/www/html/orangescrumPM/

Now import the sql file:

sudo mysql -u orangescrum -porangescrum < database.sql

Next, by default STRICT mode is On in Mysql. So you need to disable it.

You can do this by editing my.cnf file:

sudo nano /etc/mysql/my.cnf

Add the following line at the end of file:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

Save and close the file, restart mysql to reflect changes.

sudo /etc/init.d/mysql restart

##Configure PHP

Now, You wiil need to change the 'post_max_size' and upload_max_filesize to 200M in php.ini.

You can do this by editing the php.ini file:

sudo nano /etc/php5/cli/php.ini

Change the post_max_size and upload_max_size as shown below:

post_max_size=200M
...
upload_max_filesize=200M

Save and close the file.

Configure Apache

The next step is to add orangescrumPM in the Apache default configuration file.

You can do this by editing apache2.conf file:

sudo nano /etc/apache2/apache2.conf

Add the following content:

``` language-bash

    Options Indexes ExecCGI MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all


When you are finished, it is recommended to check the configuration for syntax errors. `sudo apachectl configtest` You should see following output if Apache configuration syntax is correct:

Syntax OK


After the syntax check is done you need to enable Apache headers and rewrite module. You can do this by running: `sudo a2enmod rewrite` `sudo a2enmod headers` Now, restart Apache to reflect the changes: `sudo /etc/init.d/apache2 restart` ## Configure Orangescrum Now you need to update the database connection details in `database.php` file. You can do this by editing `database.php` file. `sudo nano /var/www/html/orangescrumPM/app/Config/database.php` Change the following lines, not forgetting to substitute in your password instead of 'my-secret-password':
    class DATABASE_CONFIG {

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

Save and close the file when you are finished. Next, you will need to provide an SMTP service for Orangescrum to send email from. In this example we use a Gmail account, but you can use any SMTP service such as Sendgrid or Mandrill. Edit the Orangescrum `constants.php` file: `sudo nano /var/www/html/orangescrumPM/app/Config/constants.php` Change the following line:
    //Gmail SMTP
    define("SMTP_HOST", "ssl://smtp.gmail.com");
    define("SMTP_PORT", "465");
    define("SMTP_UNAME", "user@gmail.com");
    define("SMTP_PWORD", "**********");

    define('FROM_EMAIL_NOTIFY', 'user@gmail.com'); //(REQUIRED)
    define('SUPPORT_EMAIL', 'user@gmail.com'); //(REQUIRED) From Email
    define("DEV_EMAIL", 'user@gmail.com'); // Developer Email ID to report the application error

    define('SUB_FOLDER', '/');

“`

FROM_EMAIL_NOTIFY : All the tasks created/updated notification emails will be sent from this email address.

SUPPORT_EMAIL : All other emails and support related emails will be sent from this email address.

Save and close the file, when you are finished.

##Testing Orangescrum

From a remote machine, open your Firefox browser and type url http://your-server-ip-address

You will be asked to provide your Company Name, Email address and a Password to login and start using Orangescrum.

After this, you can see the orangescrum welcome page.

HP_NO_IMG/data/uploads/users/445d4509-bf18-4e93-aab7-00cbcb9d21f6/1348929998.png” alt=”” />

##Setup Orangescrum From Web Browser

Now, you need to complete just 3 steps to complete the Oangescrum setup. First, you need to create and assign a project. To do this click on the Create and Assign Project button andcomplete the form. Click on the create button to create the Project.

HP_NO_IMG/data/uploads/users/445d4509-bf18-4e93-aab7-00cbcb9d21f6/718648271.png” alt=”” />

Next, you will need to invite some users you wish to add on this project.

To do this, click on the Invite User button and give the email address and project name of a user then click the add button.

HP_NO_IMG/data/uploads/users/445d4509-bf18-4e93-aab7-00cbcb9d21f6/2119490738.png” alt=”” />

Next, create a task and assign it to user. To do this, Click on the Create Task button and fill in the information, then click on post button.

HP_NO_IMG/data/uploads/users/445d4509-bf18-4e93-aab7-00cbcb9d21f6/1690547080.png” alt=”” />

Finally, Orangescrum is ready to use in a production environment.

Conclusion

In this article you learned how to setup a popular project management web application orangescrum on Ubuntu-14.04.

Orangescrum is an awesome and very useful cross platform application which makes project management, bug tracking and time tracking very easy with a bunch of different features.

Want your very own server? Get our 1GB memory, Xeon V4, 25GB SSD VPS for £10.00 / month.
Get a Cloud Server

Share this Article!

Related Posts

Node.js Authentication – A Complete Guide with Passport and JWT

Node.js Authentication – A Complete Guide with Passport and JWT

Truth be told, it’s difficult for a web application that doesn’t have some kind of identification, even if you don’t see it as a security measure in and of itself. The Internet is a kind of lawless land, and even on free services like Google’s, authentication ensures that abuses will be avoided or at least […]

Node.js and MongoDB: How to Connect MongoDB With Node

Node.js and MongoDB: How to Connect MongoDB With Node

MongoDB is a document-oriented NoSQL database, which was born in 2007 in California as a service to be used within a larger project, but which soon became an independent and open-source product. It stores documents in JSON, a format based on JavaScript and simpler than XML, but still with good expressiveness. It is the dominant […]

Using MySQL with Node.js: A Complete Tutorial

Using MySQL with Node.js: A Complete Tutorial

Although data persistence is almost always a fundamental element of applications, Node.js has no native integration with databases. Everything is delegated to third-party libraries to be included manually, in addition to the standard APIs. Although MongoDB and other non-relational databases are the most common choice with Node because if you need to scale an application, […]

Node.Js Vs Django: Which Is the Best for Your Project

Node.Js Vs Django: Which Is the Best for Your Project

Django and NodeJs are two powerful technologies for web development, both have great functionality, versatile applications, and a great user interface. Both are open source and can be used for free. But which one fits your project best? NodeJs is based on JavaScript, while Django is written in Python. These are two equally popular technologies […]

Nodejs Vs PHP:  Which Works Best?

Nodejs Vs PHP: Which Works Best?

Before getting into the “battle” between Node.js and PHP we need to understand why the issue is still ongoing. It all started with the increased demand for smartphone applications, their success forcing developers to adapt to new back-end technologies that could handle a multitude of simultaneous requests. JavaScript has always been identified as a client-side […]