Laravel GitScrum, or GitScrum is an open source productivity tool designed to help development teams implement the Scrum methodology in a fashion similar to Gitâs.
In this article we can install GitScrum on CentOS 7.
A CentOS 7 x64 instance (1024MB or higher recommended).
A sudo user.
The epel
yum repository.
Note: If you choose the 768MB RAM plan, you should setup a swap file in accordance with another Vultr tutorial.
Login to your server via SSH as your sudo user
and run the following commands to install epel
and update your systemâs packages:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
On CentOS 7, you can install the latest stable release of Apache using YUM:
sudo yum install httpd -y
In a production environment, you should disable the pre-set Apache welcome page:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Additionally, you should disable directly and file listing:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Now start the Apache service and enable Apache to run on system boot:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
GitScrum requires a database to store its data. For this tutorial, we will be using the latest stable release of MariaDB: MariaDB 10.1.
Copy the following code segment into your SSH console, and then 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
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
sudo /usr/bin/mysql_secure_installation
Answer questions as follows, and be sure to set your own MariaDB root password.
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
Log into the MySQL shell as root
:
mysql -u root -p
Enter the MariaDB root password you set earlier in order to log in.
In the MySQL shell, create a database gitscrum
, a database user gitscrumuser
, and its password yourpassword
as follows.
Note: For security purposes, remember to replace the three sample parameters mentioned above with your own ones.
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;
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
1.3.1
at the time of writingcd
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');"
Note: The instructions above may change in should Composer update their installation instructions. As such, you should always check out the official Composer download page in order to get the most up-to-date installation instructions.
sudo mv composer.phar /usr/local/bin/composer
sudo chown root:root /usr/local/bin/composer
sudo yum install git -y
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
Use the following code segment to setup a virtual host. Remember to replace the values of ServerAdmin
, ServerName
, ServerAlias
, Errorlog
, and CustomLog
with your own ones.
cat <<EOF | sudo tee -a /etc/httpd/conf.d/gitscrum.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/laravel-gitscrum/public/
ServerName gitscrum.example.com
ServerAlias www.gitscrum.example.com
<Directory /var/www/html/laravel-gitscrum/public/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/gitscrum.example.com-error_log
CustomLog /var/log/httpd/gitscrum.example.com-access_log common
</VirtualHost>
EOF
Before you can use GitScrum properly, you need to setup a GitHub/GitLab OAuth application for authentication.
If you are using GitHub, visit GitHub New OAuth Application page, fill out the form as below, and then click the Register application
buttion.
Application name: gitscrum
Homepage URL: http://203.0.113.1
Application description: gitscrum
Authorization callback URL: http://203.0.113.1/auth/provider/github/callback
You will get the Client ID
and the Client Secret
for this application. For this tutorial, weâll use the below example credentials:
Client ID: ce68086dceb385a168c0
Client Secret: 3046067c0f8f06664e9b20ba78d753ca27ee9053
If you are using GitLab, you can get your OAuth data from GitLab application page in the same fashion.
Use vi
to open the GitScrum config file /var/www/html/laravel-gitscrum/.env
:
sudo vi /var/www/html/laravel-gitscrum/.env
Find the following lines:
APP_URL=http://app.gitcodex.dev
...
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
...
DB_HOST=
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
Modify them individually as below:
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 and quit:
:wq!
Restart the Apache service:
sudo systemctl restart httpd.service
Migrate the database with the following command:
php artisan migrate --seed
Modify firewall rules:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Finally, point your web browser to http://203.0.113.1
to access GitScrum. Click the Login with GitHub
button to initiate the authentication.
This concludes our tutorial. Thank you for reading.