Guide des technologies

Installer GitLab CE sur Ubuntu 16.04 (Xenial Xerus) — guide pas à pas

9 min read DevOps Mis à jour 17 Oct 2025
Installer GitLab CE sur Ubuntu 16.04
Installer GitLab CE sur Ubuntu 16.04

Ce guide explique, étape par étape, comment installer GitLab Community Edition (omnibus) sur un serveur Ubuntu 16.04 64 bits, activer HTTPS avec Let’s Encrypt, configurer UFW et effectuer les vérifications post-installation. Suivez les commandes fournies, adaptez le domaine à votre environnement et gardez un accès root pour les étapes système.

Important : ce tutoriel utilise gitlab.hakase-labs.co comme exemple de domaine. Remplacez ce domaine par le vôtre partout où il apparaît.

Ce document explique l’installation de GitLab Community Edition (CE) en mode self-hosted sur Ubuntu 16.04 LTS en utilisant le package omnibus fourni par GitLab. Il couvre l’installation des paquets requis, la génération de certificats TLS via Let’s Encrypt, la configuration de Nginx pour HTTPS, la configuration du pare-feu UFW et les vérifications post-installation.

Définition (1 ligne) : GitLab CE est une solution open source de gestion de dépôts Git avec fonctions d’intégration continue, suivi des problèmes, revue de code et gestion de merges.

Principales éditions de GitLab (résumé)

  • GitLab CE (Community Edition) — self-hosted, gratuit, support communautaire.
  • GitLab EE (Enterprise Edition) — self-hosted, payant, fonctionnalités avancées.
  • GitLab.com — SaaS proposé par GitLab Inc., plan gratuit disponible.
  • GitLab.io — instances privées gérées par GitLab Inc.

Table des matières rapide

  • Prérequis
  • Étape 1 : installation des paquets requis
  • Étape 2 : ajout du dépôt et installation de GitLab CE
  • Étape 3 : configuration de l’URL principale
  • Étape 4 : génération des certificats Let’s Encrypt et dhparam
  • Étape 5 : activation HTTPS via Nginx
  • Étape 6 : configuration du pare-feu UFW
  • Étape 7 : post-installation et configuration initiale
  • Étape 8 : tests (création de projet, commit, push)
  • Astuces, dépannage et bonnes pratiques
  • Checklist par rôle
  • FAQ
  • Résumé

Prérequis

  • Serveur Ubuntu 16.04 LTS (Xenial Xerus) 64 bits.
  • Minimum 2 Go de RAM.
  • Accès root ou sudo.
  • Nom de domaine pointant vers l’IP publique du serveur (ex. gitlab.hakase-labs.co).
  • Ports 80 et 443 accessibles depuis l’extérieur pour la validation Let’s Encrypt et l’accès HTTPS.

Étape 1 - Installer les paquets requis

Connectez-vous en tant que root (ou utilisez sudo). Mettez à jour les dépôts :

ssh root@GitLabServer  
apt-get update

Installez curl, openssh-server, ca-certificates et postfix (pour l’envoi d’emails) :

sudo apt install curl openssh-server ca-certificates postfix

Pendant l’installation de postfix, choisissez “Internet Site” comme type de configuration lorsque l’assistant vous le propose, puis fournissez le nom de domaine utilisé pour l’envoi d’e-mails.

Configuration de Postfix sur Ubuntu

Saisie du nom d'hôte pour Postfix sur Ubuntu

Note : si vous préférez utiliser un service SMTP externe (ex. SendGrid, Mailgun, SMTP de votre fournisseur), vous pouvez configurer GitLab pour utiliser ce relais au lieu de postfix local.

Étape 2 - Installer GitLab CE (omnibus)

Ajoutez le dépôt GitLab et installez le package omnibus pour GitLab CE :

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Ajout du dépôt GitLab sur Ubuntu 16.04

Puis installez GitLab CE :

sudo apt install gitlab-ce

Attendez la fin du téléchargement et de l’installation. Le processus installe plusieurs services (PostgreSQL, Redis, Nginx intégré, Sidekiq, etc.).

Installation de GitLab

Étape 3 - Configurer l’URL principale de GitLab

Éditez le fichier de configuration principal situé dans /etc/gitlab/gitlab.rb :

cd /etc/gitlab  
vim gitlab.rb

Recherchez la ligne external_url et définissez votre URL (remplacez l’exemple) :

external_url 'http://gitlab.hakase-labs.co'

Sauvegardez et quittez. Nous activerons ensuite HTTPS et mettrons à jour cette valeur pour utiliser https://.

Étape 4 - Générer les certificats SSL Let’s Encrypt et dhparam

Installez l’outil Let’s Encrypt (certbot) puis générez un certificat pour votre domaine :

sudo apt install letsencrypt -y

Générez le certificat (mode certonly) pour votre domaine :

letsencrypt certonly -d gitlab.hakase-labs.co

Fournissez une adresse e‑mail pour les notifications de renouvellement et acceptez les conditions d’utilisation.

Génération d'un certificat SSL Let's Encrypt sur Ubuntu 16.04

Après réussite, les certificats seront sous /etc/letsencrypt/live/gitlab.hakase-labs.co/ (privkey.pem, fullchain.pem).

Créez ensuite le répertoire SSL de GitLab et générez un fichier dhparams pour améliorer la sécurité des échanges TLS :

mkdir -p /etc/gitlab/ssl/
sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048

Génération du fichier DHPARAM avec openssl

Restreignez les permissions des clés :

chmod 600 /etc/gitlab/ssl/*

Note : la génération de dhparam peut prendre plusieurs minutes selon la puissance CPU.

Étape 5 - Activer HTTPS via Nginx intégré à GitLab

Mettez à jour gitlab.rb pour utiliser HTTPS et pointez les chemins vers les certificats Let’s Encrypt :

cd /etc/gitlab/  
vim gitlab.rb

Modifiez external_url pour utiliser https :

external_url 'https://gitlab.hakase-labs.co'

Ajoutez ou modifiez les paramètres Nginx suivants :

nginx['redirect_http_to_https'] = true  
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/fullchain.pem"  
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.co/privkey.pem"  
nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"

Sauvegardez et appliquez la configuration :

sudo gitlab-ctl reconfigure

Application de la configuration GitLab

Si reconfigure se termine sans erreur, Nginx servira GitLab sur HTTPS avec redirection automatique de HTTP vers HTTPS.

Conseil sécurité : vérifiez le protocole TLS et les suites utilisées (ex. via SSL Labs). Si nécessaire, durcissez la configuration TLS en modifiant nginx[‘ssl_protocols’] et nginx[‘ssl_ciphers’] dans gitlab.rb.

Étape 6 - Configurer le pare-feu UFW

Activez et configurez UFW pour autoriser SSH, HTTP et HTTPS :

ufw enable
ufw allow ssh  
ufw allow http  
ufw allow https

Vérifiez l’état :

ufw status

Ouverture des ports HTTP et HTTPS dans UFW

Assurez-vous que le port SSH reste accessible pour éviter de vous couper l’accès.

Étape 7 - Post-installation et configuration initiale

Ouvrez votre navigateur à l’adresse https://gitlab.hakase-labs.co. À la première connexion, vous devrez réinitialiser le mot de passe du compte root.

Réinitialisation du mot de passe root par défaut

Connectez-vous ensuite avec l’utilisateur root et le nouveau mot de passe :

Connexion GitLab utilisateur root

Mettez à jour votre profil (Nom, email) et changez le nom d’utilisateur si vous le souhaitez.

Modifier le profil GitLab

Mise à jour du nom et de l'email

Changement du nom d'utilisateur

Ajoutez votre clé SSH (contenu de id_rsa.pub) dans l’onglet Clés SSH pour pouvoir pousser sans mot de passe :

ssh-keygen

Génération d'une nouvelle clé SSH sur Ubuntu

Ajout d'une clé SSH dans GitLab

Configurez les limites (max de projets par utilisateur) et les restrictions d’inscription dans l’interface d’administration > Paramètres > Comptes et limites.

Configuration des limites et des restrictions d'inscription

Étape 8 - Tests de fonctionnement

Créez un nouveau projet via l’interface (icône plus) et vérifiez que la page de projet s’affiche correctement.

Créer un nouveau projet GitLab pour tester

Sur votre poste local, configurez Git si nécessaire :

git config --global user.name "hakase"  
git config --global user.email "[email protected]"

Clonez le dépôt créé, ajoutez un README.md, puis commit et push :

git clone https://[email protected]/hakase/howtoforge.git  
cd howtoforge/  
vim README.md
git add .  
git commit -m 'Add README.md file by hakase-labs'
git push origin master

Saisissez le mot de passe si vous n’avez pas configuré la clé SSH. Vérifiez que le fichier apparaît dans l’interface web.

Test du premier commit sur GitLab

Le nouveau dépôt GitLab fonctionne

GitLab CE est maintenant installé et accessible via HTTPS.


Astuces, dépannage et bonnes pratiques

Important

  • Sauvegardez /etc/gitlab/gitlab.rb et /etc/gitlab before upgrade. Une simple copie vous permettra de restaurer la configuration.
  • Testez le renouvellement automatique de Let’s Encrypt (certbot renew) et planifiez une tâche cron si nécessaire.

Dépannage courant

  • Erreur 500 après reconfigure : vérifiez les logs dans /var/log/gitlab/ (nginx, gitlab-rails, sidekiq).
  • Nginx ne démarre pas : vérifiez nginx[‘ssl_certificate’] et nginx[‘ssl_certificate_key’] et leurs permissions.
  • Let’s Encrypt échoue à valider le domaine : assurez-vous que le port 80 est ouvert et que le nom de domaine pointe vers l’IP du serveur.

Commandes utiles

  • Redémarrer GitLab : sudo gitlab-ctl restart
  • Vérifier l’état des services : sudo gitlab-ctl status
  • Voir les logs en temps réel : sudo gitlab-ctl tail
  • Regénérer la configuration Nginx après modification : sudo gitlab-ctl reconfigure

Sécurité

  • Activez 2FA pour les comptes administrateurs.
  • Limitez l’inscription publique si c’est un GitLab privé.
  • Mettez en place un plan de sauvegarde régulier (gitlab-rake gitlab:backup:create).

RGPD / confidentialité (notes pour installations en Europe)

  • Si vous traitez des données personnelles, documentez quels comptes et données sont stockés.
  • Vérifiez la rétention des logs et informez les utilisateurs sur la gestion des données personnelles.

Comparaison rapide : éditions GitLab

ÉditionHébergementCoûtCas d’usage typique
CESelf-hostedGratuitPMEs, projets open source, équipes techniques souhaitant contrôle total
EESelf-hostedPayantGrandes entreprises nécessitant fonctionnalités avancées et support
GitLab.comSaaSGratuit/PayantRapide à déployer, sans gestion infra

Checklist d’installation (résumé opérationnel)

Avant l’installation

  • Nom de domaine pointant vers le serveur
  • Accès root / sudo testé
  • Ports 80/443/22 ouverts

Après l’installation

  • HTTPS fonctionnel et certificat valide
  • SSH key ajoutée et push testé
  • Sauvegarde de gitlab.rb réalisée
  • Politique d’inscription définie
  • Plan de sauvegarde configuré

Checklists par rôle

Administrateur système

  • Vérifier les sauvegardes et restaurations
  • Configurer la surveillance (CPU/RAM/IO)
  • Planifier mises à jour et tests de montée de version

Développeur

  • Ajouter sa clé SSH
  • Créer un projet
  • Tester clone, commit, push, merge request

Sécurité / Compliance

  • Activer 2FA pour comptes sensibles
  • Configurer l’audit et la journalisation
  • Réviser les droits de groupe et de projet

Méthodologie mini — installer GitLab en 8 étapes (résumé)

  1. Préparer serveur et DNS.
  2. Installer paquets requis (curl, postfix, openssh).
  3. Ajouter dépôt omnibus et installer gitlab-ce.
  4. Configurer external_url.
  5. Générer certificats Let’s Encrypt et dhparam.
  6. Mettre à jour gitlab.rb pour HTTPS et reconfigure.
  7. Configurer UFW et vérifier accès.
  8. Tester via UI et git depuis un poste de dev.

Flux de décision (quel type d’installation choisir ?)

flowchart TD
  A[Démarrage] --> B{Souhaitez-vous gérer l'infrastructure ?}
  B -- Oui --> C[Self-hosted]
  B -- Non --> D[GitLab.com 'SaaS']
  C --> E{Fonctionnalités avancées requises ?}
  E -- Oui --> F[GitLab EE]
  E -- Non --> G[GitLab CE]
  D --> H[Créer compte GitLab.com]
  F --> I[Acheter licence et installer]
  G --> J[Installer omnibus CE]

FAQ

Q : Puis-je réutiliser ce guide sur Ubuntu 18.04/20.04 ?

R : Les principes sont identiques mais les paquets et noms des dépôts peuvent différer. Utilisez la documentation officielle GitLab pour la version cible.

Q : Comment renouveler automatiquement Let’s Encrypt ?

R : Utilisez certbot renew et planifiez une tâche cron (ex. quotidien ou hebdomadaire). Testez le renouvellement avec certbot renew –dry-run.

Q : Où sauvegarder les configurations et les dépôts Git ?

R : Utilisez gitlab-rake gitlab:backup:create pour créer des sauvegardes complètes et stockez-les hors serveur (S3, espace réseau sécurisé, etc.).


Annexes

Liens officiels et ressources

Critères d’acceptation

  • GitLab accessible en HTTPS via le nom de domaine configuré.
  • Connexion avec l’utilisateur root possible et mot de passe initial réinitialisé.
  • Possibilité de créer un projet, commit et push depuis une machine cliente.
  • Certificat Let’s Encrypt installé et valide.

Résumé

  • Vous avez installé GitLab CE via le package omnibus.
  • Vous avez configuré HTTPS avec Let’s Encrypt et sécurisé le serveur avec UFW.
  • Vous avez testé la création d’un projet et un push Git depuis un poste client.

Points clés à retenir

  • Sauvegardez régulièrement votre installation et vos données.
  • Sécurisez les accès administratifs (SSH, 2FA).
  • Surveillez les certificats et automatisez leur renouvellement.

Fin du guide.

Auteur
Édition

Matériaux similaires

Regarder Netflix sur Discord — guide complet
Streaming

Regarder Netflix sur Discord — guide complet

Désactiver les notifications Get Office sur Windows 10
Windows

Désactiver les notifications Get Office sur Windows 10

Audio absent après KB5015878 — Windows 10
Dépannage Windows

Audio absent après KB5015878 — Windows 10

Addition, produit et modulation de signaux audio
Audio

Addition, produit et modulation de signaux audio

Ajouter un widget de contact sur Android
Android

Ajouter un widget de contact sur Android

Désinstaller OneDrive sur Windows 10/11
Windows

Désinstaller OneDrive sur Windows 10/11