Comment installer et configurer GitLab sur Ubuntu 18.04 LTS
GitLab est un gestionnaire de référentiel GIT open source basé sur Rails et développé par GitLab Inc. C’est un gestionnaire de dépôt GIT basé sur le Web qui permet à ton équipe de travailler sur le code, d’effectuer des demandes de fonctionnalités, de suivre les bogues et de tester et mettre en œuvre des applications. GitLab propose des fonctionnalités telles qu’un wiki, le suivi des problèmes, les revues de code, les flux d’activité et la gestion des fusions. Il est capable d’héberger plusieurs projets.
GitLab est disponible en quatre éditions :
- Gitlab CE (Community Edition) – auto-hébergé, gratuit et avec l’aide du forum communautaire.
- Gitlab EE (Enterprise Edition) – auto-hébergée, payante et dotée de fonctionnalités supplémentaires.
- GitLab.com – SaaS, gratuit.
- GitLab.io – Instance GitLab privée gérée par GitLab Inc.
Dans ce tutoriel, je vais te montrer, étape par étape, comment installer GitLab CE (Community Edition) sur ton propre serveur Ubuntu 18.04 LTS (Bionic Beaver). J’utiliserai le paquet ‘omnibus’ fourni par GitLab pour faciliter l’installation.
Conditions préalables
- Serveur Ubuntu 18.04
- Mémoire RAM minimale de 4 Go – pour de meilleures performances, utilise 8 Go
- Privilèges Root
Ce que nous allons faire
- Mettre à jour le référentiel et mettre à niveau les paquets
- Installer les dépendances
- Installer GitLab Community Edition
- Générer le certificat SSL Letsencrypt et DHPARAM
- Configurer HTTPS pour GitLab
- Configurer le pare-feu Ubuntu UFW
- Post-installation de GitLab
- Tester
Étape 1 – Mise à jour du référentiel et mise à niveau des paquets
Avant d’installer des paquets sur le système, mets à jour tous les référentiels disponibles, puis mets à niveau tous les paquets sur le système.
Exécute les commandes apt ci-dessous.
sudo apt update
sudo apt upgrade -y
Attends les paquets d’installation qui seront mis à niveau.
Étape 2 – Installe les dépendances de Gitlab
GitLab a besoin de certaines dépendances de paquets pour l’installation, notamment curl, postfix et ca-certificats.
Installe les dépendances des paquets GitLab à l’aide de la commande apt ci-dessous.
sudo apt install curl openssh-server ca-certificates postfix -y
Pendant l’installation de postfix, tu seras invité à indiquer la configuration, sélectionne ‘Site Internet’.
Puis saisis le nom de domaine du serveur qui sera utilisé pour envoyer un e-mail.
Et nous sommes prêts à installer GitLab sur le serveur.
Étape 3 – Installer GitLab
Dans cette étape, nous allons installer GitLab à l’aide des paquets Omnibus. L’Omnibus installera tous les paquets, services et outils nécessaires pour exécuter GitLab sur le serveur.
Ajoute le dépôt GitLab avec la commande curl.
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Puis installe GitLab CE Community Edition avec la commande apt.
sudo apt install gitlab-ce -y
La commande téléchargera et installera le paquet GitLab CE, et lorsque l’installation sera terminée, tu verras les résultats comme ci-dessous.
Ensuite, nous devons configurer l’URL qui sera utilisée pour accéder à notre serveur GitLab. Nous utiliserons un domaine nommé ‘git.hakase-labs.pw’ pour l’URL d’accès à GitLab et nous activerons le HTTPS sur celui-ci.
Pour modifier l’URL d’accès à GitLab, modifie le fichier ‘/etc/gitlab/gitlab.rb’.
sudo vim /etc/gitlab/gitlab.rb
Change maintenant la valeur ‘external_url’ avec ton propre nom de domaine.
external_url 'http://git.hakase-labs.pw'
Sauvegarde et quitte.
Étape 4 – Générer le certificat SSL Let’s encrypt et le certificat DHPARAM
Dans cette étape, nous allons générer un nouveau certificat Letsencrypt et un certificat DHPARAM pour le nom de domaine GitLab ‘git.hakase-labs.pw’.
Installe l’outil Letsencrypt à l’aide de la commande apt ci-dessous.
sudo apt install letsencrypt -y
Et une fois l’installation terminée, exécute la commande letsencrypt ci-dessous.
sudo letsencrypt certonly --standalone --agree-tos --no-eff-email --agree-tos --email [email protected] -d git.hakase-labs.pw
Et quand elle est terminée, tu obtiendras le résultat indiqué ci-dessous.
Les certificats SSL Letsencrypt ont été générés et se trouvent dans le répertoire ‘/etc/letsencyrpt/’.
Ensuite, nous allons générer le certificat DHPARAM à l’aide de la commande OpenSSL.
Crée un nouveau répertoire ‘/etc/gitlab/ssl’ et exécute la commande OpenSSL ci-dessous.
sudo mkdir -p /etc/gitlab/ssl/
sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
Change maintenant la permission du répertoire SSL.
chmod 600 /etc/gitlab/ssl/*
Et tous les certificats nécessaires à la configuration HTTPS de GitLab ont été générés.
Étape 5 – Configurer HTTPS pour GitLab
Afin d’activer le HTTPS pour l’installation de GitLab, nous devons modifier le fichier ‘gitlab.rb’.
Modifie le fichier ‘/etc/gitlab/gitlab.rb’ à l’aide de lacommande vim ci-dessous.
sudo vim /etc/gitlab/gitlab.rb
Change le ‘external_url’ de Gitlab en ‘https://git.hakase-labs.pw’.
external_url 'https://git.hakase-labs.pw'
Colle maintenant la configuration ci-dessous dans la section ‘#GitLab Nginx’.
nginx['redirect_http_to_https'] = true nginx['ssl_certificate'] = "/etc/letsencrypt/live/git.hakase-labs.pw/fullchain.pem" nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/git.hakase-labs.pw/privkey.pem" nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"
Sauvegarde et quitte.
Exécute maintenant la commande ‘gitlab-ctl’ ci-dessous.
sudo gitlab-ctl reconfigure
Cette commande installera et configurera GitLab en fonction du fichier de configuration ‘/etc/gitlab/gitlab.rb’.
Une fois l’installation terminée, tu verras le résultat ci-dessous.
L’installation de GitLab est terminée et HTTPS pour GitLab a été activé.
Étape 6 – Configurer le pare-feu Ubuntu UFW
Dans cette étape, nous allons activer le pare-feu Ubuntu UFW. Il est déjà installé sur le système, nous devons juste démarrer le service. Nous allons exécuter GitLab derrière le pare-feu Ubuntu UFW, nous devons donc ouvrir les ports HTTP et HTTPS.
Ajoute les services ssh, http et https à la configuration.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
Et active le pare-feu Ubuntu UFW avec la commande ci-dessous.
sudo ufw enable
Tape ‘y’ pour oui pour l’activer.
Maintenant, vérifie tous les services et les ports de la liste.
sudo ufw status
Tu trouveras les services ssh, http et https dans la liste.
Étape 7 – Post-installation de GitLab
Ouvre le navigateur Web et tape l’URL de gitlab ‘git.hakase-labs.pw’, et tu seras redirigé vers la connexion HTTPS.
Crée un nouveau mot de passe pour la racine GitLab
Saisis ton nouveau mot de passe pour l’utilisateur root de GitLab, et clique sur le bouton ‘Change your password’.
Connecte-toi maintenant en tant qu’utilisateur ‘root’ avec ton propre mot de passe et clique sur le bouton ‘Connexion’.
Tu obtiendras maintenant le tableau de bord GitLab.
Change de profil
Clique sur le bouton du profil et choisis ‘Paramètres’.
Dans la section ‘Paramètres principaux’, tape le nom de profil ‘hakase’ puis clique sur l’option ‘mettre à jour les paramètres du profil’.
Change de nom d’utilisateur
Clique sur l’onglet ‘Compte’ et tape le nom d’utilisateur ‘hakase’.
Appuie ensuite sur le bouton « Mettre à jour le nom d’utilisateur ».
Ajouter une clé SSH
Génère une nouvelle clé à l’aide de la commande ssh-keygen comme ci-dessous.
ssh-keygen
cat ~/.ssh/id_rsa.pub
Copie la clé ‘id_rsa.pub’.
Retourne maintenant dans le tableau de bord de l’utilisateur GitLab et clique sur le menu ‘SSH Key’ sur la gauche.
Colle la clé publique ssh ‘id_rsa.pub’ et clique sur le bouton ‘Ajouter une clé’.
Restrictions d’inscription
Clique sur le bouton « Zone d’administration » au milieu, puis clique sur « Paramètres ».
Décoche l’option « Inscription autorisée » et clique sur le bouton « Enregistrer les modifications ».
Limite du compte
Clique sur la section ‘Compte et limite’ et fixe la limite de projet par défaut à 20.
Et clique sur le bouton « Enregistrer les modifications ».
Étape 8 – Tester Gitlab
Enfin, nous allons effectuer quelques tests pour nous assurer que notre système GitLab fonctionne correctement.
Crée un nouveau projet
Clique sur l’icône plus dans le milieu supérieur pour créer un nouveau dépôt de projet. Saisis le nom de ton projet, sa description et configure les paramètres de visibilité de ton projet. Puis clique sur le bouton « Créer le projet ».
Le nouveau projet a été créé.
Teste le premier Commit et Push
Nous allons maintenant commencer à ajouter du nouveau contenu au référentiel. Assure-toi que Git est installé sur ton ordinateur, et nous devons configurer le nom d’utilisateur global et l’email pour git avec la commande ci-dessous.
git config --global user.name "hakase"
git config --global user.email "[email protected]"
Clone le référentiel et ajoute un fichier README.md.
git clone https://git.hakase-labs.pw/hakase/project01.git
cd project01/
vim README.md
On te demandera le mot de passe de l’utilisateur ‘hakase’. Tape le même mot de passe que celui que tu as utilisé lorsque nous avons accédé à GitLab la première fois.
Valide un nouveau fichier dans le référentiel ‘project01’.
git add .
git commit -m 'Add README.md file by hakase-labs'
Ensuite, pousse la modification vers le référentiel sur le serveur GitLab.
git push origin master
Saisis ton mot de passe et appuie sur Entrée pour continuer. Tu verras le résultat comme ci-dessous.
Ouvre maintenant le projet ‘project01’ depuis ton navigateur Web et tu verras que le nouveau fichier README.md a été ajouté au référentiel.
Le guide d’installation de GitLab sur Ubuntu 18.04 a été réalisé avec succès.