GitScrum Agile Project Management Tool installeren op Ubuntu 20.04 LTS

GitScrum is een open-source project management hulpmiddel, gebaseerd op het Laravel raamwerk en ontworpen om ontwikkelteams te helpen Git en Scrum te gebruiken voor taakbeheer, zodat ze wendbaarder worden. Het kan geïntegreerd worden met Github of Gitlab of Bitbucket. Het is ontworpen voor startups, verkoop-, marketingbureaus, ontwikkelaars en freelancers om hun projecten gemakkelijk te beheren. Het biedt heel nuttige functies, waaronder, Product Backlog, gebruikersverhaal, Sprint Backlog, problemen en meer.

In deze handleiding leggen we uit hoe je GitScrum op Ubuntu 20.04 server installeert.

Vereisten

  • Een server waarop Ubuntu 20.04 draait.
  • Een geldige domeinnaam die aan je VPS is gekoppeld.
  • Een root wachtwoord is ingesteld op je server.

Aan de slag

Eerst moet je je systeempakketten bijwerken tot de nieuwste versie. Je kunt ze bijwerken met het volgende commando:

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

Als je systeem bijgewerkt is, herstart je het om de veranderingen toe te passen.

Installeer Apache, MariaDB en PHP

GitScrum draait op de webserver, gebruikt MariaDB/MySQL als database backend en is gebaseerd op het Laravel raamwerk. Je zult dus de Apache webserver, MariaDB, PHP en de vereiste PHP uitbreidingen in je systeem moeten installeren. Je kunt ze allemaal installeren door het volgende commando uit te voeren:

apt-get install apache2 mariadb-server libapache2-mod-php7.4 php7.4 php7.4-cli php7.4-mysql php7.4-zip php7.4-json php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php-pear php7.4-bcmath php7.4-common git openssl unzip -y

Als alle pakketten geïnstalleerd zijn, bewerk je het php.ini bestand en verander je het met enkele gewenste waarden:

nano /etc/php/7.4/apache2/php.ini

Verander de volgende regels:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago

Sla het bestand op en sluit het als je klaar bent. Start dan de Apache en MariaDB service, en zet ze aan om te starten bij het herstarten van het systeem met het volgende commando:

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

Als je klaar bent, kun je verder gaan met de volgende stap.

Database configureren voor GitScrum

Eerst moet je de MariaDB installatie beveiligen en een MariaDB root wachtwoord instellen. Je kunt dat doen door het volgende script uit te voeren:

mysql_secure_installation

Dit script zal het MariaDB root wachtwoord instellen, anonieme gebruikers verwijderen, root login op afstand verbieden en de testdatabank verwijderen, zoals hieronder te zien is:

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Zodra de MariaDB beveiligd is, log je in op de MariaDB shell met het volgende commando:

mysql -u root -p

Geef je MariaDB root wachtwoord als daarom gevraagd wordt en maak dan een database en gebruiker voor GitScrum met het volgende commando:

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

Verleen vervolgens alle privileges aan de gitscrum met het volgende commando:

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

Spoel vervolgens de privileges door en verlaat de MariaDB shell met het volgende commando:

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

Als je database geconfigureerd is, kun je verder gaan met de volgende stap.

Installeer Composer

Vervolgens moet je Composer in je systeem installeren. Composer is een dependency manager voor PHP en wordt gebruikt om PHP afhankelijkheden te installeren die nodig zijn voor je project.

Je kunt Composer installeren met het volgende commando:

apt-get install composer -y

Eenmaal geïnstalleerd kun je de geïnstalleerde versie van Composer verifiëren met het volgende commando:

composer --version

Je zou de volgende uitvoer moeten zien:

Composer 1.10.1 2020-03-13 20:34:27

Als je klaar bent, kun je verder gaan met de volgende stap.

GitScrum downloaden

Verander eerst de directory in de Apache web root directory en download de nieuwste versie van GitScrum uit de Git repository met het volgende commando:

cd /var/www/html
git clone https://github.com/GitScrum-Community/laravel-gitscrum.git

Als de download voltooid is, verander je de map in laravel-gitscrum en werk je de GitScrum pakketten bij met het volgende commando:

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

Je zou de volgende uitvoer moeten zien:

> @php -r "file_exists('.env') || copy('.env.example', '.env');"

Als je klaar bent, kun je verder gaan met de volgende stap.

GitScrum configureren

Om GitScrum met GitLab te integreren, moet je je aanmelden bij GitLab en een app maken.

Je kunt die maken door naar de URL https://gitlab.com/profile/applications te gaan. Je zou het GitLab inlogscherm moeten zien:

Gitlab

Geef je GitLab gebruikersnaam en wachtwoord op, en klik op de knop Sign in. Je zou het volgende scherm moeten zien:

GitScrum toepassing toevoegen

Configureer machtigingen

Geef je applicatienaam, redirect URL, selecteer scopes en klik op de Save application knop. Je zou je applicatie ID en Secret moeten zien in het volgende scherm.

Toepassing succesvol gemaakt

Vervolgens moet je je applicatie ID en Secret definiëren in het .env bestand.

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

Definieer je database gegevens, app URL, GitLab ID en Secret zoals hieronder:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=gitscrum
DB_USERNAME=gitscrum
DB_PASSWORD=password
APP_URL=http://gitscrum.linuxbuz.com
GITLAB_KEY=19ed6d8500710c32049e703c537e0c2251f41bdaedb6ca3f9d3276a0ea2fe484
GITLAB_SECRET=efe24736031571d59a5994d860f561c69d7c3bb46ab4a4fdae6406972df21565
GITLAB_INSTANCE_URI=https://gitlab.com/

Sla het bestand op en sluit het als je klaar bent. Migreer dan de database met het volgende commando:

php artisan migrate
php artisan db:seed

Je zou de volgende uitvoer moeten zien:

Seeding: ConfigIssueEffortsTableSeeder
Seeding: ConfigPrioritiesTableSeeder
Seeding: IssueTypesTableSeeder
Seeding: ConfigStatusesTableSeeder

Verander vervolgens het eigendom en de toestemming van het laravel-gitscrum met het volgende commando:

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

Als je klaar bent, kun je verder gaan met de volgende stap.

Configureer Apache voor GitScrum

Vervolgens moet je een Apache virtual host configuratiebestand voor GitScrum maken. Je kunt het maken met het volgende commando:

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

Voeg de volgende regels toe:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/laravel-gitscrum/public/
     ServerName gitscrum.linuxbuz.com
     ErrorLog /var/log/apache2/gitscrum-error.log
     CustomLog /var/log/apache2/gitscrum-access.log combined
 
     <Directory /var/www/html/laravel-gitscrum/public/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

</VirtualHost>

Sla het bestand op en sluit het als je klaar bent. Controleer dan Apache op eventuele configuratiefouten met het volgende commando:

apachectl configtest

Als alles in orde is, zou je de volgende uitvoer moeten zien:

Syntax OK

Schakel vervolgens de GitScrum virtuele host in met het volgende comamnd:

a2ensite gitscrum.conf

Schakel vervolgens de Apache herschrijfmodule in en herstart de Apache dienst om de veranderingen toe te passen:

a2enmod rewrite
systemctl restart apache2

Je kunt ook de status van de Apache dienst controleren met het volgende commando:

systemctl status apache2

Je zou de volgende uitvoer moeten krijgen:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-07-03 07:42:29 UTC; 4min 35s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 16070 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
   Main PID: 13697 (apache2)
      Tasks: 6 (limit: 2353)
     Memory: 23.5M
     CGroup: /system.slice/apache2.service
             ??13697 /usr/sbin/apache2 -k start
             ??16074 /usr/sbin/apache2 -k start
             ??16075 /usr/sbin/apache2 -k start
             ??16076 /usr/sbin/apache2 -k start
             ??16077 /usr/sbin/apache2 -k start
             ??16078 /usr/sbin/apache2 -k start

July 03 07:42:29 ubuntu20 systemd[1]: Starting The Apache HTTP Server...

Op dit punt is de Apache webserver geconfigureerd om GitScrum te serveren. Je kunt nu verder gaan met de volgende stap.

Toegang tot de GitScrum Web Interface

Open nu je web browser en typ de URL http://gitscrum.linuxbuz.com. Je wordt doorverwezen naar de volgende pagina:

Toegang tot GitScrum interface

Klik op de GitLab knop om in te loggen met GitLab. Je zou het volgende scherm moeten zien:

Inloggen op GitLab

Geef je GitLab gebruikersnaam en wachtwoord op en klik op de Sign in knop. Je zou het volgende scherm moeten zien:

Geef GitScrum toegang tot Gitlab account

Klik nu op de Authoriseer knop om GitScrum toestemming te geven je account te gebruiken. Je zou het volgende scherm moeten zien:

Repositories importeren in GitScrum

Nu kun je je repository naar GitScrum importeren en aan de slag gaan.

Conclusie

Gefeliciteerd! Je hebt GitScrum met succes geïnstalleerd en geïntegreerd met GitLab op Ubuntu 20.04 server. Je kunt nu GitScrum in de ontwikkelomgeving inzetten en Git met Scrum gaan gebruiken voor taakbeheer. Voor meer informatie bezoek je de GitScrum officiële documentatie. Stel me gerust als je vragen hebt.