GitScrum is a free, open-source task management tool that you can use to manage projects with ease. GitScrum uses the famous Git platform and Scrum software methodology to allow for more effective team management. This software helps users to track time consumed to perform various tasks and keep a record of projects that users are working on. Users can create multiple projects, keep a record of projects assigned to different users, and even chat in real-time. This article shows you how to install GitScrum in Debian 10.

Prerequisites

  • Access to a Debian 10 server
  • A valid domain name to point the server IP
  • Root user privileges

Installing GitScrum in Debian 10

To install GitScrum in Debian 10, first, open the terminal window using the Ctrl Alt T shortcut. Then, update the system to the latest available version by issuing the following command:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image29-3.png" data-lazy- height="30" src="data:image/svg xml,” width=”562″>

After that, upgrade the apt package using the command given below:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image31-3.png" data-lazy- height="26" src="data:image/svg xml,” width=”580″>

Now that the system and apt package have been updated, we will begin the installation process.

Step 1: Install LAMP Server

First, you will need to install an Apache webserver, MariaDB server, and PHP, along with the extensions that are needed for the LAMP server. To install the LAMP server, enter 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

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image30-3.png" data-lazy- height="116" src="data:image/svg xml,” width=”1188″>

Step 2: Edit PHP File and Authenticate System

Once you have installed the server, open the php.ini file to make some edits:

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

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image33-3.png" data-lazy- height="30" src="data:image/svg xml,” width=”808″>

In the file, change the following values:

memory_limit = 256M

upload_max_filesize = 100M

max_execution_time = 300

date.timezone = Asia/Kolkata

Save the modified file using the Ctrl O shortcut.

Now, start the Apache and MariaDB service. Issue the following command in the terminal to start Apache:

$ systemctl start apache2

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image32-3.png" data-lazy- height="28" src="data:image/svg xml,” width=”652″>

If the system asks for authentication, simply enter the password and click the Authenticate button.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image35-2.png" data-lazy- height="366" src="data:image/svg xml,” width=”1046″>

Now, start the MariaDB service using the following command:

$ systemctl start mariadb

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image34-2.png" data-lazy- height="34" src="data:image/svg xml,” width=”656″>

Complete the authentication process.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image37-2.png" data-lazy- height="366" src="data:image/svg xml,” width=”1046″>

Enable apache to start after system reboot using the command below:

$ systemctl enable apache2

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image36-2.png" data-lazy- height="26" src="data:image/svg xml,” width=”664″>

Authenticate the system.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image40-1.png" data-lazy- height="354" src="data:image/svg xml,” width=”1034″>

After that, an output will appear that is similar to this one:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image38-2.png" data-lazy- height="1032" src="data:image/svg xml,” width=”1526″>

Enable MariaDB to start after system reboot using the following command:

$ systemctl enable mariadb

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image39-1.png" data-lazy- height="24" src="data:image/svg xml,” width=”678″>

Then, authenticate the system.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image41-1.png" data-lazy- height="368" src="data:image/svg xml,” width=”1038″>

Step 3: Configure MariaDB Database

The MariaDB root password is configured initially, so, you will be required to set a password. Log in to the MariaDB shell using the following command:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image42-1.png" data-lazy- height="30" src="data:image/svg xml,” width=”490″>

After you hit Enter, the output will appear as follows:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image43-1.png" data-lazy- height="292" src="data:image/svg xml,” width=”1158″>

Set up the password using the following command:

MariaDB [(none)]> SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(“rootpassword”);

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image44-1.png" data-lazy- height="32" src="data:image/svg xml,” width=”1190″>

Provide values for the root user and localhost, then enter the password you want to set.

After that, create the database and a user for GitScrum using the command provided below:

MariaDB [(none)]> CREATE DATABASE gitscrumdb;

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image45-1.png" data-lazy- height="60" src="data:image/svg xml,” width=”716″>

Next, create the GitScrum user using the following command:

MariaDB [(none)]> CREATE USER ‘gitscrumuser’@‘localhost’ IDENTIFIED BY ‘password’;

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image46-1.png" data-lazy- height="72" src="data:image/svg xml,” width=”977″>

The next step is to grant all the rights and privileges of the GitScrum database using the following:

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

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image47-1.png" data-lazy- height="83" src="data:image/svg xml,” width=”977″>

Flush the privileges using the command given below:

MariaDB [(none)]> FLUSH PRIVILEGES;

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image48-1.png" data-lazy- height="38" src="data:image/svg xml,” width=”522″>

And then, exit by issuing the following:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image19-6.png" data-lazy- height="64" src="data:image/svg xml,” width=”374″>

Step 4: Install Composer

Composer is the supporting manager for the PHP package that is a must-have for our project. Download the composer file using the following command:

$ php -r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);”

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image20-7.png" data-lazy- height="86" src="data:image/svg xml,” width=”1184″>

To confirm the download and data integrity of the file, issue the command given below:

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;”

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image21-5.png" data-lazy- height="100" src="data:image/svg xml,” width=”977″>

The phrase Installer Verified in the output shows that everything is running correctly.

To install the composer, run the following command:

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

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image22-6.png" data-lazy- height="75" src="data:image/svg xml,” width=”977″>

After some time, you will see an output like this one:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image23-4.png" data-lazy- height="175" src="data:image/svg xml,” width=”977″>

Step 5: Install GitScrum

First, change the directory to your Apache root directory. Then, you can download GitScrum.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image24-4.png" data-lazy- height="26" src="data:image/svg xml,” width=”614″>

To download GitScrum, use the following command:

$ composer create-project gitscrum-community-edition/laravel-gitscrum –stability=stable –keep-vcs

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image25-3.png" data-lazy- height="60" src="data:image/svg xml,” width=”1190″>

When you press Enter, the installation will begin. After some time, you will see an output like this:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image26-4.png" data-lazy- height="193" src="data:image/svg xml,” width=”977″>

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

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image27-3.png" data-lazy- height="34" src="data:image/svg xml,” width=”600″>

Once you are in the directory, enter:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image28-3.png" data-lazy- height="34" src="data:image/svg xml,” width=”980″>

To integrate GitScrum with Github, you will have to create an app in Github. Access this link, and you will see the following screen appear:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image9-20.png" data-lazy- height="1014" src="data:image/svg xml,” width=”1999″>

Log in to your account or sign up for a new one. Then, you will see the screen to Register a new OAuth application. Provide the Application name, Homepage URL (which must be running and responding to server requests), and Application callback URL.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image10-17.png" data-lazy- height="740" src="data:image/svg xml,” width=”1429″>

Then, click Register Application. After that, you will see the following screen appear:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image11-17.png" data-lazy- height="1063" src="data:image/svg xml,” width=”1999″>

The next step is to use the Client ID and Client Secret from the application registration page and paste them into the .env file. Access the file using the following command:

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

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image12-14.png" data-lazy- height="772" src="data:image/svg xml,” width=”1202″>

Here, provide the Client ID and Client Secret, then close the file using the Ctrl O shortcut.

Run the following command to migrate the database:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image13-14.png" data-lazy- height="30" src="data:image/svg xml,” width=”1028″>

Then, enter the following command:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image14-14.png" data-lazy- height="36" src="data:image/svg xml,” width=”600″>

After that, change the permissions using the command given below:

$ chown -R www-data:www-data /var/www/html/laravel-gitscrum/

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image15-13.png" data-lazy- height="60" src="data:image/svg xml,” width=”1190″>

The permissions will begin to change; once they are done, update the other set of permissions using the following command:

$ chmod -R 775 /var/www/html/laravel-gitscrum/

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image16-10.png" data-lazy- height="62" src="data:image/svg xml,” width=”1192″>

Configuring Apache for GitScrum

To configure the Apache virtual host for GitScrum, access the file using the following command:

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

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image17-9.png" data-lazy- height="56" src="data:image/svg xml,” width=”1190″>

Add the following lines of code to the file. Replace ServerAdmin and ServerName with the server you want to configure it with.

<VirtualHost *:80>

ServerAdmin [email protected]

# Admin Server address

DocumentRoot /var/www/html/laravelgitscrum/public

# Path to the document root directory

ServerName test.website.com

# Name or URL of the the server

<Directory /var/www/html/laravelgitscrum/public>

Options FollowSymlinks Allow

# Path or directory and the permissions

Override All Require all granted </Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Calling the error logs if any

CustomLog ${APACHE_LOG_DIR}/access.log

# Calling the custom logs

combined </VirtualHost>

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image18-8.png" data-lazy- height="620" src="data:image/svg xml,” width=”977″>

Save the file. To check the Apache configuration, use the following command:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image1-40.png" data-lazy- height="32" src="data:image/svg xml,” width=”1056″>

The syntax OK means that the output is correct.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image2-38.png" data-lazy- height="144" src="data:image/svg xml,” width=”1198″>

Enable the virtual host and Apache rewrite module using the command given below:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image3-36.png" data-lazy- height="32" src="data:image/svg xml,” width=”712″>

Now, rewrite the module using the following command:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image4-31.png" data-lazy- height="30" src="data:image/svg xml,” width=”542″>

Restart the Apache webserver/service to reflect these changes:

$ systemctl restart apache2

Here, provide the authentication to restart the service:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image5-27.png" data-lazy- height="372" src="data:image/svg xml,” width=”1044″>

To check the status of the Apache service, use the following command:

$ systemctl status apache2

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image6-25.png" data-lazy- height="30" src="data:image/svg xml,” width=”674″>

The output shows that the server is running properly.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image7-21.png" data-lazy- height="532" src="data:image/svg xml,” width=”1192″>

The last step is to access the GitScrum website based on the URL you used in the implementation process. Then, you will authorize your account to use GitScrum in Debian 10.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image8-22.png" data-lazy- height="352" src="data:image/svg xml,” width=”630″>

Conclusion

This article showed you how to install and configure GitScrum on a Debian 10 server. We began with the installation of the LAMP server, then installed Composer and GitScrum, and finally performed the necessary configurations. Feel free to use this method to install and configure GitScrum using Apache and other supporting packages on your Debian 10 server.

About the author

<img alt="Karim Buzdar" data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/karim-150×150.png60177b89a6d5a.jpg" height="112" src="data:image/svg xml,” width=”112″>

Karim Buzdar

Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. He blogs at LinuxWays.