Comment installer GitLab sur Ubuntu : Guide complet étape par étape
GitLab est l’une des plateformes DevOps open-source les plus puissantes disponibles aujourd’hui, offrant une suite complète d’outils incluant le contrôle de version basé sur Git, les pipelines d’intégration continue/livraison continue (CI/CD), le suivi des problèmes et les fonctionnalités de collaboration d’équipe — tout en un seul endroit. Que vous gériez une petite équipe de développement ou que vous exécutiez des projets logiciels à l’échelle de l’entreprise, l’auto-hébergement de GitLab sur Ubuntu vous donne un contrôle total sur vos données, vos flux de travail et votre infrastructure.
Ce guide vous accompagne à chaque étape de l’installation et de la configuration de GitLab Community Edition (CE) sur un serveur Ubuntu, de la préparation initiale du système à l’activation de HTTPS et à la gestion des services.
Prérequis
Avant de commencer, assurez-vous d’avoir les éléments suivants en place :
- Un serveur exécutant Ubuntu 20.04 ou 22.04 LTS (installation fraîche recommandée)
- Un minimum de 4 GB RAM et 2 CPU cores (GitLab recommande au moins 4 cores pour une utilisation en production)
- Accès root ou sudo au serveur
- Un nom de domaine enregistré pointant vers l’adresse IP de votre serveur (optionnel mais fortement recommandé pour HTTPS)
- Ports 80 et 443 ouverts dans votre pare-feu
> Conseil : Pour les meilleures performances de GitLab, envisagez de déployer sur un plan VPS Hosting avec suffisamment de ressources RAM et CPU. Les plans VPS d’AlexHost sont optimisés pour les charges de travail Linux et sont fournis avec un accès root complet, ce qui en fait un environnement idéal pour les plateformes DevOps auto-hébergées comme GitLab.
Étape 1 : Mettre à jour les packages système
Avant d’installer un logiciel, il est essentiel de s’assurer que l’index des packages de votre système et les packages installés sont complètement à jour. Cela prévient les conflits de dépendances et garantit que vous travaillez avec les derniers correctifs de sécurité.
sudo apt update && sudo apt upgrade -yAttendez que le processus de mise à niveau soit terminé avant de passer à l’étape suivante.
Étape 2 : Installer les dépendances requises
GitLab nécessite plusieurs packages de support pour fonctionner correctement, notamment des outils pour la communication sécurisée, la gestion des fuseaux horaires et les scripts. Installez-les avec la commande suivante :
sudo apt install -y curl openssh-server ca-certificates tzdata perlVoici ce que fait chaque package :
| Package | Objectif |
|---|---|
curl | Télécharge les scripts et les fichiers depuis le web |
openssh-server | Active l’accès SSH à votre serveur |
ca-certificates | Valide les certificats SSL/TLS |
tzdata | Fournit les données de fuseau horaire |
perl | Requis pour les scripts internes de GitLab |
Étape 3 : Ajouter le référentiel officiel GitLab
GitLab maintient un référentiel de packages officiel qui rend l’installation et les futures mises à niveau simples. Utilisez la commande suivante pour télécharger et exécuter le script de configuration du référentiel :
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bashCe script effectue automatiquement :
- Détecte votre version Ubuntu
- Ajoute le référentiel de packages GitLab à vos sources APT
- Importe la clé de signature GPG du référentiel pour la vérification des packages
Une fois le script terminé, votre système est prêt à installer GitLab directement à partir de la source officielle.
Étape 4 : Installer GitLab Community Edition
Installez maintenant GitLab CE en utilisant le gestionnaire de paquets apt. Vous devez définir la variable d’environnement EXTERNAL_URL sur l’URL ou l’adresse IP par laquelle les utilisateurs accéderont à votre instance GitLab.
Si vous avez un nom de domaine :
sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ceSi vous utilisez une adresse IP (par exemple, pour un serveur local ou privé) :
sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ceRemplacez gitlab.yourdomain.com ou YOUR_SERVER_IP par votre domaine ou adresse IP réelle.
> Remarque : Le processus d’installation peut prendre plusieurs minutes car il télécharge et configure tous les composants GitLab, notamment PostgreSQL, Redis, NGINX et Sidekiq.
Pendant l’installation, GitLab va :
- Installer tous les services fournis (base de données, cache, serveur web, etc.)
- Se configurer en fonction de
EXTERNAL_URLque vous avez fourni - Générer les fichiers de configuration initiaux dans
/etc/gitlab/
Étape 5 : Exécuter la reconfiguration de GitLab
Après l’installation, exécutez la commande de reconfiguration pour finaliser la configuration, initialiser la base de données et démarrer tous les services GitLab :
sudo gitlab-ctl reconfigureCette commande lit la configuration depuis /etc/gitlab/gitlab.rb et applique tous les paramètres. Elle génère également les certificats SSL (si Let’s Encrypt est configuré), configure le schéma de la base de données et démarre tous les services d’arrière-plan requis.
Vous devriez voir une longue sortie se terminant par un message similaire à :
gitlab Reconfigured!Étape 6 : Accéder à GitLab dans votre navigateur Web
Une fois la reconfiguration terminée, ouvrez votre navigateur Web et accédez à l’URL que vous avez spécifiée lors de l’installation :
https://gitlab.yourdomain.comou
http://YOUR_SERVER_IPPremière connexion
Lors de votre première visite, GitLab vous invitera à définir un mot de passe administrateur. Après l’avoir défini, connectez-vous en utilisant les identifiants suivants :
- Nom d’utilisateur :
root - Mot de passe : Le mot de passe que vous venez de créer
> Conseil de sécurité : Modifiez immédiatement les identifiants du compte root par défaut après votre première connexion. Créez un compte administrateur personnel et limitez le compte root à un usage d’urgence uniquement.
Étape 7 : Configurer les notifications par email GitLab (Facultatif)
L’envoi de notifications par email est essentiel pour une instance GitLab en production — il active des fonctionnalités telles que la vérification de compte, les mises à jour des demandes de fusion, les alertes CI/CD et les réinitialisations de mot de passe. Configurez les paramètres SMTP dans le fichier de configuration principal de GitLab :
sudo nano /etc/gitlab/gitlab.rbAjoutez ou modifiez le bloc de configuration SMTP suivant :
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourmailprovider.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@yourdomain.com"
gitlab_rails['smtp_password'] = "your_email_password"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = trueEnregistrez le fichier et appliquez les modifications :
sudo gitlab-ctl reconfigure> Vous cherchez une infrastructure email fiable ? AlexHost propose des services professionnels d’hébergement email qui s’intègrent de manière transparente aux applications auto-hébergées comme GitLab, offrant un relais SMTP stable avec une excellente délivrabilité.
Étape 8 : Activer HTTPS avec Let's Encrypt (Recommandé)
L’exécution de GitLab sur HTTPS est fortement recommandée pour tout environnement de production ou d’équipe. GitLab dispose d’un support intégré pour Let's Encrypt, une autorité de certification SSL gratuite et automatisée.
> Important : Let's Encrypt nécessite que votre nom de domaine soit accessible publiquement et que le port 80 soit ouvert sur votre serveur. Cela ne fonctionnera pas avec les adresses IP brutes.
Ouvrez le fichier de configuration GitLab :
sudo nano /etc/gitlab/gitlab.rbAjoutez la configuration suivante :
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['your_admin_email@yourdomain.com']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"Enregistrez le fichier et reconfigurez GitLab :
sudo gitlab-ctl reconfigureGitLab obtiendra et installera automatiquement votre certificat SSL, et le paramètre auto_renew garantit qu’il est renouvelé avant l’expiration sans aucune intervention manuelle.
> Alternative : Si vous préférez gérer les certificats SSL indépendamment ou avez besoin de certificats wildcard/multi-domaines, AlexHost propose une gamme de Certificats SSL qui peuvent être configurés manuellement dans les paramètres NGINX de GitLab.
Étape 9 : Gestion des services GitLab
GitLab inclut son propre outil de gestion des services appelé gitlab-ctl. Utilisez les commandes suivantes pour contrôler les services GitLab :
Démarrer GitLab
sudo gitlab-ctl startArrêter GitLab
sudo gitlab-ctl stopRedémarrer GitLab
sudo gitlab-ctl restartVérifier l’état du service
sudo gitlab-ctl statusAfficher les journaux en temps réel
sudo gitlab-ctl tailAfficher les journaux d’un service spécifique (par exemple, NGINX)
sudo gitlab-ctl tail nginxCes commandes sont inestimables pour le dépannage et la maintenance de routine. La commande status affichera l’état de tous les sous-services GitLab, y compris PostgreSQL, Redis, Sidekiq, Puma (serveur web) et NGINX.
Étape 10 : Configuration initiale de GitLab pour votre organisation
Avec GitLab installé et en cours d’exécution, il est temps de le configurer selon les besoins de votre équipe. Voici les domaines clés à configurer via l’interface web de GitLab :
Gestion des utilisateurs
Accédez à Admin Area → Users pour créer des comptes utilisateur pour les membres de votre équipe. Vous pouvez configurer les méthodes d’authentification, notamment LDAP, OAuth et SAML pour l’authentification unique d’entreprise.
Groupes et projets
- Les groupes vous permettent d’organiser les projets connexes et de gérer les autorisations à grande échelle
- Les projets sont des référentiels individuels avec leurs propres suivi des problèmes, wikis et pipelines CI/CD
Pipelines CI/CD
Le CI/CD intégré de GitLab est l’une de ses fonctionnalités les plus puissantes. Créez un fichier .gitlab-ci.yml à la racine de votre référentiel pour définir les pipelines de construction, de test et de déploiement automatisés.
Paramètres du référentiel
Configurez les règles de protection des branches, les approbations des demandes de fusion et les flux de travail d’examen du code dans la section Settings → Repository de chaque projet.
Configuration de la sauvegarde
Configurez les sauvegardes automatisées en configurant les éléments suivants dans /etc/gitlab/gitlab.rb :
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800 # Keep backups for 7 daysExécutez une sauvegarde manuelle à tout moment avec :
sudo gitlab-backup createConfiguration du Firewall
Si vous avez UFW (Uncomplicated Firewall) activé sur votre serveur Ubuntu, assurez-vous d’autoriser le trafic HTTP et HTTPS :
sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw statusDépannage des problèmes courants
| Problème | Solution |
|---|---|
| GitLab inaccessible après l’installation | Vérifiez les règles de pare-feu ; vérifiez EXTERNAL_URL dans /etc/gitlab/gitlab.rb |
| Erreur 502 Bad Gateway | Exécutez sudo gitlab-ctl restart ; vérifiez les journaux avec sudo gitlab-ctl tail |
| Échec du certificat Let's Encrypt | Assurez-vous que le port 80 est ouvert et que le DNS du domaine est correctement configuré |
| Utilisation élevée de la mémoire | Réduisez les workers Puma dans gitlab.rb : puma['worker_processes'] = 2 |
| Les notifications par e-mail ne sont pas envoyées | Vérifiez les identifiants SMTP et exécutez sudo gitlab-rails console pour tester |
Conclusion
L’installation de GitLab sur Ubuntu est un processus simple qui fournit une plateforme DevOps de niveau entreprise sous votre contrôle total. En suivant ce guide, vous avez configuré une instance GitLab entièrement fonctionnelle avec chiffrement HTTPS, notifications par e-mail et gestion appropriée des services — prête pour les flux de travail de développement du monde réel.
L’auto-hébergement de GitLab donne à votre équipe la liberté de personnaliser les flux de travail, de maintenir la souveraineté des données et de s’intégrer à votre infrastructure existante sans frais d’abonnement SaaS récurrents. La clé d’une expérience GitLab fluide est de commencer avec un serveur fiable et performant.
Pour les équipes qui ont besoin d’une base solide pour GitLab, les Serveurs Dédiés d’AlexHost offrent des performances maximales et une isolation, tandis que les plans Hébergement VPS fournissent une alternative rentable et évolutive pour les petites équipes et les projets en croissance. Les deux options sont livrées avec un accès root complet, un stockage SSD et un support technique 24h/24 — tout ce dont vous avez besoin pour exécuter GitLab en toute confiance.
sur tous les services d'hébergement