Installing GitScrum on CentOS 7: Step-by-Step Setup Guide

Laravel GitScrum, also known simply as GitScrum, is a free and open-source productivity solution built to help development teams apply Scrum practices in a way that mirrors Git workflows.

This guide explains how to deploy GitScrum on a CentOS 7 server.

Prerequisites

  • A 64-bit CentOS 7 instance (at least 1024MB RAM is recommended).
  • A sudo-enabled user.
  • A valid GitHub or GitLab account.
  • The EPEL YUM repository installed.

Note: If you opt for a 768MB RAM setup, be sure to create a swap file.

Step 1: System Update

Connect to your server via SSH using your sudo user credentials and execute the commands below to enable EPEL and bring your system packages up to date:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

Step 2: Install Apache Web Server

Use YUM to install the current stable version of Apache on CentOS 7:

To remove the default Apache welcome page in a production setup:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

Disable directory and file listings:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Start and enable Apache to launch during boot:

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

Step 3: Install MariaDB

GitScrum relies on a database. We’ll install MariaDB 10.1 for this setup.

3.1 Add MariaDB 10.1 Repository

Paste this block into your terminal and press Enter:

cat <<EOF | sudo tee -a /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.1 CentOS repository list - created 2017-01-14 03:11 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

3.2 Install MariaDB

sudo yum install MariaDB-server MariaDB-client -y

3.3 Start MariaDB Service

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

3.4 Secure MariaDB

Launch the MariaDB secure installation tool:

sudo /usr/bin/mysql_secure_installation

Answer the prompts and assign a secure root password.

3.5 Set Up GitScrum Database

Access MySQL with the root user:

Run the following SQL commands, replacing sample values as necessary:

CREATE DATABASE gitscrum;
CREATE USER 'gitscrumuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON gitscrum.* TO 'gitscrumuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Step 4: Install PHP 7.x and Composer

4.1 Install PHP 7.1 with Required Extensions

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-common php71w-gd php71w-mbstring php71w-mcrypt php71w-mysqlnd php71w-cli php71w-xml -y

4.2 Download Composer

cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

4.3 Make Composer Globally Available

sudo mv composer.phar /usr/local/bin/composer
sudo chown root:root /usr/local/bin/composer

Step 5: Install Git and GitScrum

5.1 Install Git

5.2 Clone GitScrum and Set Permissions

cd
git clone https://github.com/renatomarinho/laravel-gitscrum.git
cd laravel-gitscrum/
composer update
composer run-script post-root-package-install
sudo mv ~/laravel-gitscrum /var/www/html
sudo chown -R apache:apache /var/www/html

5.3 Set Up a Virtual Host

cat <
ServerAdmin admin@example.com
DocumentRoot /var/www/html/laravel-gitscrum/public/
ServerName gitscrum.example.com
ServerAlias www.gitscrum.example.com

Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all

ErrorLog /var/log/httpd/gitscrum.example.com-error_log
CustomLog /var/log/httpd/gitscrum.example.com-access_log common

EOF

5.4 Register a GitHub/GitLab OAuth App

Before using GitScrum, create an OAuth application on GitHub or GitLab for authentication.

For GitHub:

  • Application name: gitscrum
  • Homepage URL: http://203.0.113.1
  • Description: gitscrum
  • Callback URL: http://203.0.113.1/auth/provider/github/callback

Use the generated credentials in the config file:

  • Client ID: ce68086dceb385a168c0
  • Client Secret: 3046067c0f8f06664e9b20ba78d753ca27ee9053

5.5 Configure GitScrum

sudo vi /var/www/html/laravel-gitscrum/.env

Edit the following fields:

APP_URL=http://203.0.113.1
GITHUB_CLIENT_ID=ce68086dceb385a168c0
GITHUB_CLIENT_SECRET=3046067c0f8f06664e9b20ba78d753ca27ee9053
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=gitscrum
DB_USERNAME=gitscrumuser
DB_PASSWORD=yourpassword

Save changes and exit the editor.

5.6 Restart Apache and Finalize Setup

sudo systemctl restart httpd.service
php artisan migrate --seed
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

To access GitScrum, open a web browser and go to http://203.0.113.1. Click on “Login with GitHub” to begin the authentication process.

Conclusion

By following the steps outlined in this tutorial, you have successfully installed and configured GitScrum on a CentOS 7 server. With its seamless integration of Git-based workflows and the Scrum methodology, GitScrum is now ready to support your development team’s productivity. Be sure to monitor your server, apply regular updates, and review the GitScrum documentation for advanced features and customization options.

Source: vultr.com

Create a Free Account

Register now and get access to our Cloud Services.

Posts you might be interested in:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

Secure HTTPS Setup on Arch Linux with Apache or Nginx

Security, Tutorial

Linux file permissions with this comprehensive guide. Understand how to utilize chmod and chown commands to assign appropriate access rights, and gain insights into special permission bits like SUID, SGID, and the sticky bit to enhance your system’s security framework.