How to Install GitScrum on Debian 10

GitScrum is a free and open-source Laravel task management application that helps you to manage your projects easily. It uses Git and the Scrum methodology that allows your team to manage their tasks more efficiently. With GitScrum, you can easily track the time consumed on tasks and sub-tasks you are working on. It allows you to create projects and assign users and their permission levels, and chat in real-time.

It comes with a rich set of features including, User Stories, Sprint, Flexible Workflow, Time Tracking, Roadmapping, KPI Monitoring, Backlog Management, Collaboration Board, Task Effort, Team Performance, Unlimited Storage, Collaboration and many more. GitScrum is one of the best tools for project management apart from other tools like Microsoft Project, Kanban, and Trello. It is a perfect solution for any startups, sales, marketing, agencies, developers and freelancers.

In this tutorial, we will show you how to install GitScrum project management software on Debian 10 server.

Prerequisites

  • A server running Debian 10.
  • A valid domain name is pointed with your server IP address. In this tutorial, we will use test.linuxbuz.com.
  • A root password is configured on the server.

Getting Started

Before starting, it is a good idea to update your system with the latest version. You can update your system with the following command:

apt-get update -y
apt-get upgrade -y

After updating the system, restart it to implement the changes.

Install LAMP Server

First, you will need to install the Apache webserver, MariaDB server, PHP and other PHP extensions to your server. You can install all of them using the following command:

apt-get install apache2 mariadb-server libapache2-mod-php php php-cli php-common php-mailparse php-mysql php-gmp php-curl php-mbstring php-imap php-ldap php-gd php-xml php-cli php-zip php-yaml php-dev php-pear unzip curl git -y

Once all the packages are installed, open the php.ini file and tweak some settings:

nano /etc/php/7.3/apache2/php.ini

Change the following values:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 300
date.timezone = Asia/Kolkata

Save and close the file when you are finished. Then, start Apache and MariaDB service and enable them to start after system reboot with the following command:

systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb

Once you are finished, you can proceed to the next step.

Configure MariaDB Database

By default, the MariaDB root password is not configured in Debian 10. So, you will need to set it first.

To do so, log in to the MariaDB shell with the following command:

mysql

Once login, set your MariaDB root password with the following command:

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("rootpassword");

Next, create a database and user for GitScrum with the following command:

MariaDB [(none)]> CREATE DATABASE gitscrumdb;
MariaDB [(none)]> CREATE USER 'gitscrumuser'@'localhost' IDENTIFIED BY 'password';

Next, grant all the privileges on the GitScrum database with the following command:

MariaDB [(none)]> GRANT ALL ON gitscrumdb.* TO 'gitscrumuser'@'localhost' WITH GRANT OPTION;

Next, flush the privileges and exit from the MariaDB shell with the following command:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

At this point, the MariaDB database is configured for GitScrum. You can now proceed to the next step.

Install Composer

The Composer is a dependency manager for PHP. It is used to install PHP dependencies required to build your project.

First, download the Composer installer file with the following command:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Next, you will need to verify the data integrity of the downloaded file. You can verify it with the following command:

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

If everything is fine, you should get the following output:

Installer verified

Finally, run the following command to install the Composer in your system:

php composer-setup.php --install-dir=/usr/local/bin --filename=composer

At this point, the Composer is installed in your system. You can now proceed to the next step.

Install GitScrum

Next, change the directory to the Apache root directory and download the GitScrum with the following command:

cd /var/www/html
composer create-project gitscrum-community-edition/laravel-gitscrum --stability=stable --keep-vcs

You should get the following output:

Generating autoload files
> Illuminate\Foundation\ComposerScripts::postInstall
> php artisan optimize
Generating optimized class loader
The compiled class file has been removed.
> php artisan key:generate
Application key [base64:yWIVSUl6uHXpIcSt5wxsplPwGJjSj9uWKYjy/4q2XY0=] set successfully.

Next, change the directory to the downloaded directory and update the GitScrum with the following command:

cd laravel-gitscrum
composer update
composer run-script post-root-package-install

Next, you will need to integrate GitScrum with Github. To do so, create a new app in Github using the following link:

https://github.com/settings/applications/new

You should see the following screen:

Git scrum signup

Provide your GitHub username, password and click on the Sign in button. You should see the following screen:

OAuth Registration

Provide your application name, Homepage URL and click on the Register application button. You should see the following screen:

GitScrum App

After registering the new app, copy the Client ID and Client Secret from the above page. Then, open the .env file as shown below:

nano /var/www/html/laravel-gitscrum/.env

Add the following lines with your Database name, Username, Password, Client ID and Client Secret:

APP_ENV=local
APP_KEY=base64:W2ToyfW8zHqtWfcZb1hp2kZgccbuy3XtERDyZywtVkE=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://test.linuxbuz.com
APP_TITLE=GitScrum

GITHUB_CLIENT_ID=39f148ce467544b487cb
GITHUB_CLIENT_SECRET=370f0cfc50c8fca9179fae3f74b229b6b69b05f6

GITLAB_KEY=
GITLAB_SECRET=
GITLAB_INSTANCE_URI=https://gitlab.com/

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=gitscrumdb
DB_USERNAME=gitscrumuser
DB_PASSWORD=password

APP_PAGINATE=10

PROXY_PORT=
PROXY_METHOD=
PROXY_SERVER=
PROXY_USER=
PROXY_PASS=

Save and close the file when you are finished. Then, run the following command to migrate the database:

php artisan migrate
php artisan db:seed

You should see the following output:

Seeded: ConfigIssueEffortsTableSeeder
Seeded: ConfigPrioritiesTableSeeder
Seeded: IssueTypesTableSeeder
Seeded: ConfigStatusesTableSeeder

Next, give proper permissions to the GitScrum directory with the following command:

chown -R www-data:www-data /var/www/html/laravel-gitscrum/
chmod -R 775 /var/www/html/laravel-gitscrum/

Once you are finished, you can proceed to the next step.

Configure Apache for GitScrum

Next, you will need to configure the Apache virtual host for GitScrum. You can configure it by creating the following file:

nano /etc/apache2/sites-available/gitscrum.conf

Add the following lines:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/laravel-gitscrum/public
     ServerName test.linuxbuz.com

     <Directory /var/www/html/laravel-gitscrum/public>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Save and close the file when you are finished. Then, check the Apache configuration file for any syntax error with the following command:

apache2ctl configtest

If everything is fine, you should get the following output:

Syntax OK

Next, enable the virtual host and Apache rewrite module with the following command:

a2ensite gitscrum.conf
a2enmod rewrite

Finally, restart the Apache web service to implement the changes:

systemctl restart apache2

You can now check the status of the Apache service with the following command:

systemctl status apache2

You should get the following output:

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           ??apache2-systemd.conf
   Active: active (running) since Sun 2020-02-02 12:41:30 UTC; 22min ago
  Process: 15407 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
 Main PID: 14417 (apache2)
    Tasks: 11 (limit: 1114)
   CGroup: /system.slice/apache2.service
           ??14417 /usr/sbin/apache2 -k start
           ??15412 /usr/sbin/apache2 -k start
           ??15413 /usr/sbin/apache2 -k start
           ??15414 /usr/sbin/apache2 -k start
           ??15416 /usr/sbin/apache2 -k start
           ??15417 /usr/sbin/apache2 -k start
           ??15418 /usr/sbin/apache2 -k start
           ??15419 /usr/sbin/apache2 -k start
           ??15420 /usr/sbin/apache2 -k start
           ??15422 /usr/sbin/apache2 -k start
           ??15429 /usr/sbin/apache2 -k start

Feb 02 12:41:29 debian10 systemd[1]: Starting The Apache HTTP Server...

Once you are finished, you can proceed to the next step.

Access GitScrum

Now, open your web browser and type the URL http://test.linuxbuz.com. You will be redirected to the following page:

Access GitScrum

Click on Login with GitHub. You should see the following page:

Authorize GitScrum

Now, authorize your account for GitScrum. You should see your GitScrum dashboard in the following page:

GitScrum Dashboard

Conclusion

Congratulations! you have successfully installed GitScrum on Debian 10 server. You can now manage your project easily with GitScrum. Feel free to ask me if you have any questions.

Share this page:

0 Comment(s)