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:
sudo yum install httpd -y
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:
mysql -u root -p
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
sudo yum install git -y
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.