OrangeScrum is a free and open source project management tool written using CakePHP which widely used in medium and small business. You can manage your projects, teams, documents and tasks all in one place using OrangeScrum. It is an awesome project management tool with simple and intuitive interface. Its features includes collaboration, agile project management, issue tracking, notifications, task management, reporting and traditional project management functionality for small/medium businesses.
Requirements
To install OrangeScrum you’ll only need a CentOS 7 server with root privileges on it. Remember you can always switch between root user and non root user using sudo
command.
Updating the System
Before going through the installation process it is recommended to update the system to upgrade the available packages and to do so run following command.
yum -y update
Installing Apache Web Server
Once the system is updated, you can install the dependencies required. To install OrangeScrum you will need to install the Apache web server along with MaraiDB and PHP with a few extensions.
Run the following command to install the Apache web server.
yum -y install httpd
Now you can start Apache and enable it to start at boot time, using the following commands.
systemctl start httpd.service systemctl enable httpd.service
You can check the status of Apache web server using the following command.
systemctl status httpd
You should see following output:
[root@ip-172-31-14-223 ~]# systemctl start httpd.service
[root@ip-172-31-14-223 ~]# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@ip-172-31-14-223 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2017-01-30 09:53:26 UTC; 23s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 10541 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─10541 /usr/sbin/httpd -DFOREGROUND
├─10542 /usr/sbin/httpd -DFOREGROUND
├─10543 /usr/sbin/httpd -DFOREGROUND
├─10544 /usr/sbin/httpd -DFOREGROUND
├─10545 /usr/sbin/httpd -DFOREGROUND
└─10546 /usr/sbin/httpd -DFOREGROUND
Jan 30 09:53:26 ip-172-31-14-223 systemd[1]: Starting The Apache HTTP Server...
Jan 30 09:53:26 ip-172-31-14-223 systemd[1]: Started The Apache HTTP Server.
We will need to install MariaDB for database purposes for OrangeScrum. MariaDB 5.5 is shipped in the default CentOS 7 repository, so just run this command to install MariaDB.
yum install mariadb-server
Now you’ll have to start the MariaDB service and enable it to start at the boot time like we have done before for apache server, to do so please run following command.
systemctl start mariadb.service
systemctl enable mariadb.service
You can check status of mariadb using this command and you should see following output.
systemctl status mariadb.service
[root@ip-172-31-14-223 ~]# systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2017-01-30 09:54:59 UTC; 36s ago
Main PID: 10691 (mysqld_safe)
CGroup: /system.slice/mariadb.service
├─10691 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─10848 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr...
Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: The latest information about Ma....
Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: You can find additional informa...:
Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: http://dev.mysql.com
Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: Support MariaDB development by ...B
Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: Corporation Ab. You can contact....
Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: Alternatively consider joining ...:
Jan 30 09:54:57 ip-172-31-14-223 mariadb-prepare-db-dir[10612]: http://mariadb.com/kb/en/contri.../
Jan 30 09:54:57 ip-172-31-14-223 mysqld_safe[10691]: 170130 09:54:57 mysqld_safe Logging to '/...'.
Jan 30 09:54:57 ip-172-31-14-223 mysqld_safe[10691]: 170130 09:54:57 mysqld_safe Starting mysq...ql
Jan 30 09:54:59 ip-172-31-14-223 systemd[1]: Started MariaDB database server.
Hint: Some lines were ellipsized, use -l to show in full.
We will need to make sure that this installation is secure and to do so run following command.
mysql_secure_installation
You’ll be asked to provide root password so enter appropriate password and answer yes to all questions.
Now you’ll have to create a database for OrangeScrum please follow the instructions.
mysql -u root -p
You’ll be asked to enter password so simply enter a password and now execute the following queries to create a new database.
CREATE DATABASE orangescrum;
The above query will create a database named orangrscrum. For the database you can use any name you prefer in the place of orangesrum. Make sure that you use semicolon at the end of each query as a query always ends with a semicolon. Once the database is created you can create a new user and grant the required permissions to the user for the database.
CREATE USER 'orangescrum_user'@'localhost' IDENTIFIED BY 'StrongPassword';
The above query will create a user with username orangescrum_user. You can use any preferred username instead of orangescrum_user. Replace StrongPassword with a strong password.
Now provide the appropriate privileges to your database user over the database you have created. Run the following query to do so.
GRANT ALL PRIVILEGES ON orangescrum.* TO 'orangescrum_user'@'localhost';
Now run the following query to immediately apply the changes on the database privileges.
FLUSH PRIVILEGES;
Now you can exit from MariaDB prompt using following command.
\q
.
We will have to install PHP. To do so run following commands as shown below.wget https://centos7.iuscommunity.org/ius-release.rpm
rpm -Uvh ius-release.rpm
Now use this command to install PHP 5.6 and required extensions.
yum install php56u php56u-mysqlnd php56u-gd php56u-imap php56u-ldap php56u-odbc php56u-xml php56u-xmlrpc php56u-mbstring php56u-mcrypt php56u-mssql php56u-snmp php56u-soap php56u-tidy php56u-pear curl libcurl-devel -y
Now you’ll have to restart your apache web server to load new components that we just configured and use following command to restart apache web server.
systemctl restart httpd.service
You’ll need to increase upload file size to 200 MB as it is required by OrangeScrum and you can do so using following commands.
cp /etc/php.ini /etc/php.ini.bak
sudo sed -i "s/post_max_size = 8M/post_max_size = 200M/" /etc/php.ini
sudo sed -i "s/upload_max_filesize =2M/upload_max_filesize = 200M/" /etc/php.ini
You’ll need to restart your apache web server to apply changes that we just made so please restart apache server using this command.
systemctl restart httpd
Downloading OrangeScrum
We have successfully installed all the required packages and dependencies to install OrangeScrum now we are all set to download and install OrangeScrum so let’s download the latest version.
If in case you don’t have wget package installed on your server then you can install it using yum -y install wget
wget https://github.com/Orangescrum/orangescrum/archive/v1.6.1.tar.gz
Extract the downloaded file using this below given command.
tar -zxvf v1.6.1.tar.gz
Move all the OrangeScrum files to the /var/www/html directory using this below given command as shown.
mv ~/orangescrum-1.6.1 /var/www/html && sudo chown root:root -R /var/www/html
Next change proper ownership permission and to do so run following command.
chmod -R 0777 /var/www/html/orangescrum-1.6.1/{app/Config,app/tmp,app/webroot}
Create a Virtual Host
We will need to create a virtual host for OrangeScrum and you can do so using following command.
yum -y install nano
nano /etc/httpd/conf.d/orangescrum.conf
Add the below given content to the configuration file to create a virtual host.
<VirtualHost *:80>
ServerName orangescrum.example.com
DocumentRoot /var/www/html/orangescrum-1.6.1
<Directory /var/www/html/orangescrum-1.6.1>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Save the file and exit from the text editor.
Import the OrangeScrum data into the orangescrum database using following command as shown below:
mysql -u root -p orangescrum < /var/www/html/orangescrum-1.6.1/database.sql
Next you’ll need to edit the orangescrum configuration file to update database credentials and to do so use any text editor and run following command.
nano /var/www/html/orangescrum-1.6.1/app/Config/database.php
Find these lines in the file:
'login' => 'root',
'password' => '',
'database' => 'orangescrum',
Now change them in accordance with these lines:
'login' => 'orangescrumuser',
'password' => 'yourpassword',
'database' => 'orangescrum',
Save the file and exit from the text editor. You’ll have to restart your apache web server to apply changes.
systemctl restart httpd
If in case you don’t have firewalld services installed on your server then you can install it using yum -y install firewalld
and you can start it using systemctl start firewalld
Next run these below given commands to modify the firewalld rules.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
Now disable SELinux temporarily using this below given command.
setenforce 0
Web Access
Open up your favorite web browser and visit http://yourserverIP and provide your company name, an email and a password then click on Sign Up button.
HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/63759198.png” alt=” ” />
Please provide the required details and continue to orange scrum then you’ll see a web page of dashboard.
HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/1605955347.png” alt=” ” />
Now we hope you can manage your projects and explore more from the orangescrum.
Conclusion
In this tutorial we have learned how to install and configure OrangeScrum on a CentOS 7 server and we hope now you have enough knowledge to work with OrangeScrum.