GitScrum est un outil de gestion de projet open source basé sur le framework Laravel et conçu pour aider les équipes de développement à utiliser Git et Scrum pour la gestion des tâches afin qu'elles soient plus agiles. Il peut être intégré à Github ou Gitlab ou Bitbucket. Il est conçu pour les startups, les agences de vente, de marketing, les développeurs et les indépendants pour gérer leur projet facilement. Il offre des fonctionnalités très utiles, notamment le backlog de produit, l'histoire de l'utilisateur, le backlog de sprint, les problèmes, etc.
Dans ce tutoriel, nous expliquerons comment installer GitScrum sur le serveur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un nom de domaine valide pointé avec votre VPS.
- Un mot de passe root est configuré sur votre serveur.
Mise en route
Tout d'abord, vous devrez mettre à jour vos packages système vers la dernière version. Vous pouvez les mettre à jour avec la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois votre système mis à jour, redémarrez-le pour appliquer les modifications.
Installer Apache, MariaDB et PHP
GitScrum s'exécute sur le serveur Web, utilise MariaDB/MySQL pour le backend de la base de données et est basé sur le framework Laravel. Vous devrez donc installer le serveur Web Apache, MariaDB, PHP et les extensions PHP requises sur votre système. Vous pouvez tous les installer en exécutant la commande suivante :
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
Une fois tous les packages installés, modifiez le fichier php.ini et modifiez-le avec les valeurs souhaitées :
nano /etc/php/7.4/apache2/php.ini
Modifiez les lignes suivantes :
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = America/Chicago
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, démarrez les services Apache et MariaDB et activez-les au redémarrage du système avec la commande suivante :
systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer la base de données pour GitScrum
Tout d'abord, vous devrez sécuriser l'installation de MariaDB et définir un mot de passe root MariaDB. Vous pouvez le faire en exécutant le script suivant :
mysql_secure_installation
Ce script définira le mot de passe root MariaDB, supprimera les utilisateurs anonymes, désactivera la connexion root à distance et supprimera la base de données de test comme indiqué ci-dessous :
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
Une fois MariaDB sécurisée, connectez-vous au shell MariaDB avec la commande suivante :
mysql -u root -p
Fournissez votre mot de passe root MariaDB lorsque vous y êtes invité, puis créez une base de données et un utilisateur pour GitScrum avec la commande suivante :
MariaDB [(none)]> CREATE DATABASE gitscrum;
MariaDB [(none)]> CREATE USER 'gitscrum'@'localhost' IDENTIFIED BY 'password';
Ensuite, accordez tous les privilèges au gitscrum avec la commande suivante :
MariaDB [(none)]> GRANT ALL ON gitscrum.* TO 'gitscrum'@'localhost' WITH GRANT OPTION;
Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Une fois votre base de données configurée, vous pouvez passer à l'étape suivante.
Installer Composer
Ensuite, vous devrez installer Composer sur votre système. Composer est un gestionnaire de dépendances pour PHP et utilisé pour installer les dépendances PHP requises pour votre projet.
Vous pouvez installer Composer avec la commande suivante :
apt-get install composer -y
Une fois installé, vous pouvez vérifier la version installée de Composer avec la commande suivante :
composer --version
Vous devriez voir le résultat suivant :
Composer 1.10.1 2020-03-13 20:34:27
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Télécharger GitScrum
Tout d'abord, remplacez le répertoire par le répertoire racine Web d'Apache et téléchargez la dernière version de GitScrum à partir du référentiel Git avec la commande suivante :
cd /var/www/html
git clone https://github.com/GitScrum-Community/laravel-gitscrum.git
Une fois le téléchargement terminé, changez le répertoire en laravel-gitscrum et mettez à jour les packages GitScrum avec la commande suivante :
cd laravel-gitscrum
composer update
composer run-script post-root-package-install
Vous devriez voir le résultat suivant :
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer GitScrum
Afin d'intégrer GitScrum à GitLab, vous devrez vous connecter à GitLab et créer une application.
Vous pouvez le créer en visitant l'URL https://gitlab.com/profile/applications. Vous devriez voir l'écran de connexion GitLab :
Fournissez votre nom d'utilisateur et votre mot de passe GitLab, puis cliquez sur Signer dans bouton. Vous devriez voir l'écran suivant :
Indiquez le nom de votre application, l'URL de redirection, sélectionnez les champs d'application et cliquez sur Enregistrer demande bouton. Vous devriez voir votre ID d'application et votre secret dans l'écran suivant.
Ensuite, vous devrez définir votre ID d'application et votre secret dans le fichier .env.
nano /var/www/html/laravel-gitscrum/.env
Définissez les détails de votre base de données, l'URL de l'application, l'ID GitLab et le secret comme indiqué ci-dessous :
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/
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, migrez la base de données avec la commande suivante :
php artisan migrate
php artisan db:seed
Vous devriez voir le résultat suivant :
Seeding: ConfigIssueEffortsTableSeeder Seeding: ConfigPrioritiesTableSeeder Seeding: IssueTypesTableSeeder Seeding: ConfigStatusesTableSeeder
Ensuite, modifiez la propriété et l'autorisation de laravel-gitscrum avec la commande suivante :
chown -R www-data:www-data /var/www/html/laravel-gitscrum
chmod -R 775 /var/www/html/laravel-gitscrum
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour GitScrum
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour GitScrum. Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/gitscrum.conf
Ajoutez les lignes suivantes :
<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>
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, vérifiez Apache pour toute erreur de configuration avec la commande suivante :
apachectl configtest
Si tout va bien, vous devriez voir le résultat suivant :
Syntax OK
Ensuite, activez l'hôte virtuel GitScrum avec la commande suivante :
a2ensite gitscrum.conf
Ensuite, activez le module de réécriture Apache et redémarrez le service Apache pour appliquer les modifications :
a2enmod rewrite
systemctl restart apache2
Vous pouvez également vérifier l'état du service Apache à l'aide de la commande suivante :
systemctl status apache2
Vous devriez obtenir le résultat suivant :
? 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...
À ce stade, le serveur Web Apache est configuré pour servir GitScrum. Vous pouvez maintenant passer à l'étape suivante.
Accéder à l'interface Web GitScrum
Maintenant, ouvrez votre navigateur Web et tapez l'URL http://gitscrum.linuxbuz.com. Vous serez redirigé vers la page suivante :
Cliquez sur GitLab bouton pour se connecter avec GitLab. Vous devriez voir l'écran suivant :
Fournissez votre nom d'utilisateur et votre mot de passe GitLab et cliquez sur Signer dans bouton. Vous devriez voir l'écran suivant :
Maintenant, cliquez sur Autoriser bouton pour autoriser GitScrum à utiliser votre compte. Vous devriez voir l'écran suivant :
Maintenant, vous pouvez importer votre dépôt dans GitScrum et commencer à travailler.
Conclusion
Toutes nos félicitations! vous avez installé avec succès GitScrum et l'avez intégré à GitLab sur le serveur Ubuntu 20.04. Vous pouvez maintenant déployer GitScrum dans l'environnement de développement et commencer à utiliser Git avec Scrum pour la gestion des tâches. Pour plus d'informations, consultez la documentation officielle de GitScrum. N'hésitez pas à me demander si vous avez des questions.