Passer au contenu principal

VPS : Installer GitLab sur Linux

Ce guide a été créé avec les produits suivants :

(Les détails peuvent varier selon les produits de différents fournisseurs, mais les concepts principaux restent les mêmes)

Introduction

GitLab est une plateforme DevOps complète qui permet aux équipes de collaborer sur le code, d’automatiser les workflows et de gérer efficacement tout le cycle de vie du développement logiciel. Dans ce guide, l’installation de GitLab sur un serveur Linux sera expliquée.

Préparation

Les exigences suivantes sont recommandées par l’équipe officielle GitLab et il est fortement conseillé de respecter ces prérequis pour éviter des désagréments et problèmes par la suite.

Matériel

ComposantsMinimumRecommandé
CPU2x 2 GHz4x 2.6+ GHz
RAM4 Go8 Go
Stockage10 Go50+ Go
Bande passante100 Mbit/s (upload & download)100 Mbit/s (upload & download)

Logiciel

PlateformeOptions
Système d’exploitationUbuntu (20.04, 22.04, 24.04), Debian (10, 11, 12), OpenSUSE (15.5)
Base de donnéesPostgreSQL 14.9+
Serveur webNGINX (inclus avec GitLab), Puma 6.4.2+
AutresRedis 7.x+, Sidekiq 7.3.2+, Prometheus 2.54.1+
info

Pour les informations les plus précises et à jour, veuillez consulter la documentation officielle de GitLab sur les exigences matérielles.

Une connexion doit être établie via un client SSH pour installer GitLab sur votre serveur Linux. Consultez notre guide d’accès initial (SSH) pour en savoir plus.

Une fois la connexion établie, vous pouvez commencer à installer les paquets nécessaires à l’installation de GitLab.

Étape 1 : Installer les dépendances

Tout d’abord, vous devez installer certaines dépendances pour lancer l’installateur GitLab. Utilisez les commandes suivantes pour installer les dépendances requises sur votre serveur Linux.

Mettez à jour la liste des paquets à la dernière version et installez le paquet OpenSSH Server ainsi que ses prérequis avec la commande suivante. C’est ainsi que votre interface web GitLab sera hébergée.

sudo apt update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl

Vous pouvez aussi installer Postfix (serveur SMTP) si vous souhaitez pouvoir envoyer des notifications par email avec GitLab. C’est optionnel.

Si vous souhaitez utiliser les notifications email, installez Postfix avec la commande suivante.

sudo apt-get install -y postfix
info

Lors de l’installation de Postfix, une configuration peut apparaître. Dans ce cas, sélectionnez 'Internet Site' et appuyez sur Entrée. Utilisez le DNS externe de votre serveur Linux pour le 'nom de mail' et appuyez sur Entrée. Si d’autres écrans apparaissent, continuez d’appuyer sur Entrée pour accepter les paramètres par défaut.

Si vous souhaitez utiliser une autre solution pour envoyer des emails, passez cette étape et configurez un serveur SMTP externe après l’installation de GitLab sur votre serveur Linux en suivant un guide officiel GitLab.

Étape 2 : Installer GitLab

Après avoir téléchargé et installé toutes les dépendances requises, vous êtes maintenant prêt à installer GitLab.

Dans ce guide, nous installerons GitLab directement depuis les dépôts officiels.

Le script suivant ajoutera les dépôts GitLab au gestionnaire de paquets apt :

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

Une fois fait, le paquet gitlab-ee peut être installé :

sudo apt-get install -y gitlab-ee

Une fois ce processus terminé, GitLab devrait être prêt à l’emploi sur votre serveur Linux. Passez à la section suivante où vous configurerez quelques paramètres essentiels pour assurer le bon fonctionnement du serveur.

Étape 3 : Configurer GitLab

Pour garantir que tout fonctionne, vous devez effectuer quelques modifications dans le fichier de configuration. Commencez par ouvrir le fichier de configuration GitLab avec votre éditeur de texte préféré. Ici, nous utiliserons l’éditeur nano préinstallé.

sudo nano /etc/gitlab/gitlab.rb

Ensuite, cherchez la ligne external_url et saisissez soit votre domaine, soit l’adresse IP de votre serveur Linux si vous n’avez pas de domaine à utiliser avec GitLab.

## GitLab URL
##! URL sur laquelle GitLab sera accessible.
##! Pour plus de détails sur la configuration de external_url, voir :
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
##!
##! Note : Pendant l’installation/mises à jour, la valeur de la variable d’environnement
##! EXTERNAL_URL sera utilisée pour remplir/remplacer cette valeur.
##! Sur les instances AWS EC2, nous tentons aussi de récupérer le nom d’hôte/public IP
##! depuis AWS. Pour plus de détails, voir :
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
external_url 'http`s`://`Votre domaine / adresse IPv4 de votre serveur Linux`'

De plus, nous recommandons d’indiquer votre email dans la ligne letsencrypt['contact_emails']. Cela permettra à Let's Encrypt de vous envoyer des notifications et de vous contacter concernant les certificats SSL automatiques et gratuits.

note

Vous devez utiliser un domaine si vous souhaitez obtenir un certificat SSL gratuit de Let's Encrypt. Vous ne pouvez pas en demander un directement pour votre adresse IP.

################################################################################
# Intégration Let's Encrypt
################################################################################
# letsencrypt['enable'] = nil
# letsencrypt['contact_emails'] = [`Votre email ici`] # Ceci doit être un tableau d’adresses email à contacter
# letsencrypt['group'] = 'root'
# letsencrypt['key_size'] = 2048
# letsencrypt['owner'] = 'root'
# letsencrypt['wwwroot'] = '/var/opt/gitlab/nginx/www'
# Voir https://docs.gitlab.com/omnibus/settings/ssl/index.html#renew-the-certificates-automatically pour plus d’infos sur ces paramètres
# letsencrypt['auto_renew'] = true
# letsencrypt['auto_renew_hour'] = 0
# letsencrypt['auto_renew_minute'] = nil # Doit être un nombre ou une expression cron, si spécifié.
# letsencrypt['auto_renew_day_of_month'] = "*/4"
# letsencrypt['auto_renew_log_directory'] = '/var/log/gitlab/lets-encrypt'
# letsencrypt['alt_names'] = []
astuce

Vous pouvez utiliser CTRL+W pour rechercher letsencrypt['contact_emails'] et appuyer sur Entrée pour ne pas avoir à chercher manuellement dans tout le fichier.

Une fois prêt, appuyez sur CTRL+X puis Y et Entrée pour confirmer les modifications.

Enfin, lancez la commande suivante pour reconfigurer GitLab avec les nouvelles options.

sudo gitlab-ctl reconfigure

Ce processus peut prendre un moment car il initialise GitLab avec les informations de configuration mises à jour, via des processus automatisés. Les certificats SSL seront également émis si un domaine a été utilisé.

Étape 4 : Accéder à l’interface web

Après l’initialisation, le serveur devrait maintenant être accessible via un navigateur web. Rendez-vous sur votre site en entrant votre nom de domaine ou votre adresse IP comme suit.

https://[votre_domaine] OU http://[votre_adresse_ip]

Lors de la première connexion à l’interface web, une page de connexion s’affichera.

Pour obtenir l’accès admin lors de votre première connexion, connectez-vous en tant qu’utilisateur root avec root comme nom d’utilisateur.

Pour le mot de passe, vous devrez accéder à un fichier sur votre serveur Linux où il est stocké. Ouvrez ce fichier avec la commande suivante et trouvez le champ Password.

sudo nano /etc/gitlab/initial_root_password
# ATTENTION : Cette valeur est valide uniquement dans les conditions suivantes

# 1. Si elle a été fournie manuellement (via la variable d’environnement `GITLAB_ROOT_PASSWORD` ou via le paramètre `gitlab_rails['initial_root_password']` dans `gitlab.rb` avant que la base de données ne soit initialisée)

# 2. Le mot de passe n’a pas été changé manuellement, ni via l’interface ni en ligne de commande.

#

# Si le mot de passe affiché ici ne fonctionne pas, vous devez réinitialiser le mot de passe admin en suivant https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: `[VOTRE_MOT_DE_PASSE_ICI]`

# NOTE : Ce fichier sera automatiquement supprimé lors de la première reconfiguration après 24 heures.

Saisissez le nom d’utilisateur et le mot de passe sur la page de connexion pour accéder à votre tableau de bord GitLab pour la première fois. Vous devriez maintenant pouvoir accéder à votre panneau GitLab sur votre propre serveur Linux.

Nous recommandons vivement de créer un nouvel utilisateur et/ou de changer le mot de passe de votre utilisateur root. Tout cela peut se faire en accédant à Admin en bas à gauche puis en sélectionnant Vue d’ensemble -> Utilisateurs. Sur cette page, vous pourrez gérer les utilisateurs de votre instance GitLab.

Optionnel : Configurer un pare-feu avec ufw

Vous pouvez passer cette étape si vous ne souhaitez pas configurer un pare-feu ou si vous utilisez déjà firewalld par exemple sur OpenSUSE. Assurez-vous d’autoriser les ports 80/443 et le port 22.

Installer ufw

Si vous avez déjà installé ufw, vous pouvez passer cette étape.

sudo apt-get install -y ufw

Ouvrir les ports requis

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

Activer le pare-feu

avertissement

Cela bloquera par défaut l’accès à tous les ports sauf ceux autorisés. Assurez-vous que la liste blanche est correctement configurée avant d’exécuter cette commande.

Pour que le pare-feu prenne effet, activez-le avec la commande suivante.

sudo ufw enable

Conclusion

Félicitations, vous avez installé GitLab avec succès ! Si vous avez d’autres questions ou problèmes, n’hésitez pas à contacter notre équipe support, disponible tous les jours pour vous aider !

Si vous souhaitez effectuer une configuration supplémentaire, nous vous recommandons de lire la documentation officielle GitLab pour les prochaines étapes.