How to install GitScrum on Debian 10

How to install GitScrum on Debian 10

GitScrum is a free and open source Laravel task management application that helps you manage your projects easily. It uses Git and Scrum methods to enable your team to manage tasks more efficiently. With GitScrum, you can easily track the time spent on tasks and subtasks being processed. It allows you to create projects and assign users and their permission levels, as well as live chat.

It has a rich feature set, including user stories, Sprints, flexible workflows, time tracking, roadmaps, KPI monitoring, backlog management, collaboration boards, task workloads, team performance, unlimited storage, collaboration, and more. In addition to other tools such as Microsoft Project, Kanban, and Trello, GitScrum is one of the best tools for project management. This is the perfect solution for any startup, sales, marketing, agency, developer and freelancer.

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

prerequisites

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

getting Started

Before you start, it’s a good idea to update your system to the latest version. You can use the following command to update the system:

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 web server, MariaDB server, PHP, and other PHP extensions on the server. You can install all components with:

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

After installing all packages, open the php.ini file and make 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 the Apache and MariaDB services and use the following command to start them after the system restarts:

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

When you are done, you can proceed to the next step.

Configure MariaDB database

By default, MariaDB root password is not configured in Debian 10. Therefore, you need to set it up first.

To do this, log in to the MariaDB shell using the following command:

mysql

After logging in, set your MariaDB root password using the following command:

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

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

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

Next, grant all privileges to the GitScrum database using the following command:

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

Next, refresh the privileges and exit from the MariaDB shell using the following command:

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

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

Install composer

Composer is a dependency manager for PHP. It is used to install the PHP dependencies needed to build the project.

First, download the Composer installer file using 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 use the following command to verify:

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 works, you should get the following output:

Installer verified

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

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

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

Install GitScrum

Next, change the directory to the Apache root directory and download GitScrum using 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
> IlluminateFoundationComposerScripts::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 GitScrum with the following command:

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

Next, you need to integrate GitScrum with Github. To do this, use the following link to create a new application in Github:

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

You should see the following screen:

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

OAuth registration

Provide your application name, homepage URL, and click register application Button. You should see the following screen:

GitScrum application

After registering a new application, copy the client ID and client secret from the previous page. Then, open the .env file as follows:

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

Add your database name, username, password, client ID and client secret in the following lines:

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 the GitScrum directory appropriate permissions using the following command:

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

When you are done, you can proceed to the next step.

Configure Apache for GitScrum

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

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

Add the following lines:


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/laravel-gitscrum/public
     ServerName test.linuxbuz.com

     
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     

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

Save and close the file when you are finished. Then, use the following command to check the Apache configuration file for syntax errors:

apache2ctl configtest

If everything works, you should get the following output:

Syntax OK

Next, enable the virtual host and the Apache rewrite module using 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 using 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...

When you are done, you can proceed to the next step.

Visit GitScrum

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

Visit GitScrum

Click on log in versus GitHub. You should see the following page:

Authorize GitScrum

Now authorize your account to use GitScrum. You should see the GitScrum dashboard on the following pages:

GitScrum dashboard

in conclusion

Congratulations! You have successfully installed GitScrum on your Debian 10 server. Now you can easily manage your project with GitScrum. If you have any questions, feel free to ask me.

Source

Sidebar