Article

Table of Contents
Theme:
Was this article helpful?
Try Vultr Today with

$50 Free on Us!

Want to contribute?

You could earn up to $600 by adding new articles.

How to Install OrangeScrum on CentOS 7

Last Updated: Thu, Dec 10, 2020
CentOS Linux Guides Server Apps System Admin

OrangeScrum is a free and open source project management tool which is widely used in small and medium businesses. This article describes the procedure of installing OrangeScrum on a CentOS 7 server.

Prerequisites

  • A fresh Vultr CentOS 7 server instance with minimum 2G of memory.

  • A sudo user.

1. Update the CentOS 7 system

Log into your machine as a sudo user and update the system.

$ sudo yum install epel-release -y

$ sudo yum update -y

$ sudo shutdown -r now

After the system reboots, log in as the same sudo user to proceed.

2. Install and Configure Apache

  1. Install Apache.

    $ sudo yum install httpd -y
    
  2. Remove the pre-set Apache welcome page.

    $ sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
    
  3. Prevent Apache from exposing files and directories in visitors' web browser.

    $ sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
    
  4. Start the Apache service.

    $ sudo systemctl start httpd.service
    
    $ sudo systemctl enable httpd.service
    

3. Install and Configure MariaDB

  1. Install MariaDB.

    $ sudo yum install mariadb mariadb-server -y
    
  2. Modify the MariaDB database settings.

    $ sudo nano /etc/my.cnf
    

    To change the collation settings, append a few lines to the [mysqld] segment as shown below.

    [mysqld]
    
    datadir=/var/lib/mysql
    
    socket=/var/lib/mysql/mysql.sock
    
    init_connect='SET collation_connection=utf8_unicode_ci'
    
    init_connect='SET NAMES utf8'
    
    character-set-server=utf8
    
    collation-server=utf8_unicode_ci
    
    skip-character-set-client-handshake
    
  3. Save and exit the editor.

  4. Start the MariaDB service.

    $ sudo systemctl start mariadb.service
    
    $ sudo systemctl enable mariadb.service
    
  5. Secure the MariaDB installation.

    $ sudo /usr/bin/mysql_secure_installation
    
  6. During this interactive process, answer questions as shown below.

    Enter current password for root (enter for none): Enter
    
    Set root password? [Y/n]: Y
    
    New password: <your-password>
    
    Re-enter new password: <your-password>
    
    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
    

4. Install and Configure PHP

  1. Install the PHP Packages.

    $ sudo yum -y install php
    
    $ sudo yum -y install php-mysql
    
    $ sudo yum -y install php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel
    
  2. Increase the upload file size to 200 MB as required by OrangeScrum.

    $ sudo 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
    
  3. Restart Apache to load the new configuration.

    $ sudo systemctl restart httpd.service
    

5. Install OrangeScrum

  1. Locate the latest stable version of OrangeScrum.

  2. Download and unzip the file.

    $ cd
    
    $ wget https://github.com/Orangescrum/orangescrum/archive/<VERSION>.tar.gz
    
    $ tar -zxvf v1.6.1.tar.gz
    
  3. Move all OrangeScrum files to the web root directory /var/www/html and then setup appropriate permissions.

    $ sudo mv ~/orangescrum-1.6.1 /var/www/html && sudo chown root:root -R /var/www/html
    
    $ sudo chmod -R 0777 /var/www/html/orangescrum-1.6.1/{app/Config,app/tmp,app/webroot}
    
  4. Setup a virtual host for OrangeScrum.

    $ sudo nano /etc/httpd/conf.d/orangescrum.conf
    
  5. Populate the file with the following settings.

    <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>
    
  6. Save and exit the editor.

6. Create an OrangeScrum Database

  1. Log into the MySQL shell as root.

    $ mysql -u root -p
    

    Use the MariaDB root password you set earlier to log in.

  2. In the MySQL shell, create a database named orangescrum and a database user named orangescrumuser with the password yourpassword, and then grant all privileges on this database to this database user.

    Note: On your machine, make sure to replace these parameters in all commands with your values.

    CREATE DATABASE orangescrum;
    
    CREATE USER 'orangescrumuser'@'localhost' IDENTIFIED BY 'yourpassword';
    
    GRANT ALL PRIVILEGES ON orangescrum.* TO 'orangescrumuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
    
    FLUSH PRIVILEGES;
    
    EXIT;
    
  3. Import OrangeScrum data into the orangescrum database.

    $ mysql -u root -p orangescrum < /var/www/html/orangescrum-1.6.1/database.sql
    
  4. Update OrangeScrum database credentials.

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

    Find the following lines:

    'login' => 'root',
    
    'password' => '',
    
    'database' => 'orangescrum',
    

    Change them to:

    'login' => 'orangescrumuser',
    
    'password' => 'yourpassword',
    
    'database' => 'orangescrum',
    
  5. Save and exit the editor.

  6. Update email details.

    $ sudo nano /var/www/html/orangescrum-1.6.1/app/Config/constants.php
    

    Find the following lines. Replace the email addresses and the password with your values.

    define("SMTP_UNAME", "youremail@gmail.com");
    
    define("SMTP_PWORD", "******");
    
    define('FROM_EMAIL_NOTIFY', 'notify@mycompany.com');
    
    define('SUPPORT_EMAIL', 'support@mycompany.com');
    
  7. Save and exit the editor.

  8. Restart Apache to load the new configuration.

    $ sudo systemctl restart httpd.service
    
  9. Change the firewall rules to allow web access.

    $ sudo firewall-cmd --zone=public --permanent --add-service=http
    
    $ sudo firewall-cmd --reload
    
  10. Navigate to http://<your-server-IP>, enter your company name, an email ID, and a password to login.

Want to contribute?

You could earn up to $600 by adding new articles.