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:
Provide your application name, homepage URL, and click register application Button. You should see the following screen:
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:
Click on log in versus GitHub. You should see the following page:
Now authorize your account to use GitScrum. You should see the GitScrum dashboard on the following pages:
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.