GitScrum is an open source task management application that uses Git and the Scrum methodology. It has a lot of useful features like Product Backlog, user Story, Sprint Backlog, Issues and more.
It is fairly easy to install GitScrum on an Ubuntu 16.04 VPS. The installation process should take about 5-10 minutes if you follow the very easy steps described below.
In this tutorial, we will install GitScrum with Apache, PHP, and MariaDB on one of our Ubuntu virtual servers.
INSTRUCTIONS:
Login to your Ubuntu server as user root
ssh root@vps
Update the system
[root]$ sudo apt-get update && sudo apt-get -y upgrade
Install MariaDB 10.0 and create a database
To install MariaDB, run the following command:
[root]$ sudo apt-get install -y mariadb-server
Next, we need to create a database for our GitScrum installation.
[root]$ mysql -u root -p MariaDB [(none)]> CREATE DATABASE gitscrum; MariaDB [(none)]> GRANT ALL PRIVILEGES ON gitscrum.* TO 'gitscrumuser'@'localhost' IDENTIFIED BY 'your-password'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> q
Do not forget to replace ‘your-password’ with an actual, strong password. It is best to use a combination of letters and numbers and minimum 10 characters long.
Install Apache2 web server
[root]$ sudo apt-get install apache2
Install PHP and required PHP modules
To install the latest stable version of PHP version 7 and all necessary modules, run:
[root]$ sudo apt-get install php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-curl php7.0-zip php7.0-gd php7.0-mysql php7.0-mcrypt
Enable the Apache2 rewrite module:
You should skip this if it’s already done.
[root]$ sudo a2enmod rewrite
In order to activate the new configuration, restart the Apache web server using the following command:
[root]$ sudo service apache2 restart
Install Composer
Composer is a tool for dependency management in PHP.
[root]$ curl -sS https://getcomposer.org/installer | php
Once Composer is installed, you need to move it so that Composer can be available within your machine path:
[root]$ mv composer.phar /usr/local/bin/composer
Make it executable:
[root]$ chmod +x /usr/local/bin/composer
Composer Package
[root]$ composer create-project renatomarinho/laravel-gitscrum --stability=dev --keep-vcs
[root]$ mv laravel-gitscrum/ /var/www/html/
[root]$ cd /var/www/html/laravel-gitscrum
Setup
Application URL
Open the .env file and edit the following values:
APP_URL=http://yourdomain.tld (you must use protocol http or https)
DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=gitscrum DB_USERNAME=gitscrumuser DB_PASSWORD=your-password
Remember: Create the database for GitScrum before running the following command:
php artisan migrate --seed
You must create a new Github App, visit GitHub’s New OAuth Application page, fill out the form, and grab your Client ID and Secret.
Application name: gitscrum Homepage URL: URL (Same as APP_URL at .env) Application description: gitscrum Authorization callback URL: http://{URL is the SAME APP_URL}/auth/provider/github/callback
Open the .env file and edit the following values:
GITHUB_CLIENT_ID=XXXXX GITHUB_CLIENT_SECRET=XXXXXXXXXXXXXXXXXX
Create a new virtual host directive in Apache. To do that, create a new Apache configuration file named ‘gitscrum.conf’ on your virtual server:
[root]$ touch /etc/apache2/sites-available/gitscrum.conf [root]$ ln -s /etc/apache2/sites-available/gitscrum.conf /etc/apache2/sites-enabled/gitscrum.conf [root]$ vim /etc/apache2/sites-available/gitscrum.conf
Then, add the following lines:
<VirtualHost *:80> ServerAdmin admin@yourdomain.com DocumentRoot /var/www/html/laravel-gitscrum/public/ ServerName your-domain.com ServerAlias www.your-domain.com <Directory /var/www/html/laravel-gitscrum/public/> Options FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/your-domain.com-error_log CustomLog /var/log/apache2/your-domain.com-access_log common </VirtualHost>
Restart the Apache web server for the changes to take effect:
[root]$ sudo service apache2 restart
That’s it. You are done. You can now start using GitScrum.