Red Hat et dérivées version SERVEUR

Installer Gitlab sur Linux (RHEL, Alma Linux)

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

gitlab-logo



Introduction



Dans cet article, on va voir comment installer GitLab, hébergé sur notre propre machine.
Cet article résume les étapes de la documentation de GitLab et je complète celui-ci avec la connexion à un annuaire LDAP (Active Directory).

Cet article a été réalisé sur RHEL 9, et a été vérifié en live sur Twitch sur Alma Linux 9 !

Il y a plusieurs méthodes d'installation, j'ai choisi la méthode Omnibus qui consiste à installer la plateforme depuis le dépôt de GitLab avec ses paquets RPM.
On partira sur Gitlab CE (Comunity Edition)

Toutes les commandes de cet article seront réalisées en root.

Prérequis



La plateforme nécessite 8vCPU et 16Go de RAM pour gérer 20 requêtes par secondes pour 1000 utilisateurs.
Le minimum pour fonctionner convenablement semble être 2vCPU et 4Go de RAM.
Adaptez suivant l'usage.

Concernant l'usage disque, il est nécessaire d'avoir au moins 3Go de libre + 1.5Go pour récupérer le RPM.
La solution s'installant dans /opt/gitlab c'est ici qu'il est nécessaire d'avoir de la place !

Au niveau des dépôts, les dépôts de base sont suffisant, pas besoin d'EPEL :
Code TEXT :
rhel-9-for-x86_64-appstream-rpms               Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
rhel-9-for-x86_64-baseos-rpms                  Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)


SELinux peut rester actif, tout comme ifrewalld !

Il est conseillé d'avoir évidemment le système à jour :
Code BASH :
dnf upgrade



Installation



Dans un premier temps, on va s'assurer que quelques prérequis sont installés :
Code BASH :
dnf install curl policycoreutils openssh-server perl


Ensuite, on va installer le dépôt via le script fourni par GitLab :
Code BASH :
wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh

Code BASH :
bash script.rpm.sh


Le script va installer les dépôts, importer les clés GPG et tout ce qui va bien.

Ensuite, on pourra installer le paquet gitlab-ce :
Code BASH :
dnf install -y gitlab-ce


On pourra passer des variables d'environnement pour faire une demande de certificat à Lets Encrypt mais le serveur doit être directement connecté à Internet comme ceci par exemple :
Code BASH :
EXTERNAL_URL="https://gitlab.linuxtricks.fr" dnf install -y gitlab-ce


Une fois installé, on passe au paramétrage !

Paramétrage



On ouvrira le firewalld en http et https pour la suite :
Code BASH :
firewall-cmd --add-service=http --permanent 
firewall-cmd --add-service=https --permanent 
firewall-cmd --reload 


On va éditer le fichier /etc/gitlab/gitlab.rb pour compléter les paramètres essentiels :
Code BASH :
vim /etc/gitlab/gitlab.rb


On va paramétrer la valeur external_url pour accéder à notre GitLab :
Code :
external_url 'https://srv221053.linuxtrickstest.lan'


On peut, si on le souhaite, d'ores et déjà paramétrer d'autres éléments.

Une fois fait, on démarre l'instance gitlab, prenant en compte la configuration :
Code BASH :
gitlab-ctl reconfigure


Le premier parémétrage est long, mais les reconfigurations suivantes sont plus rapide.

Si le domaine est privé, une erreur concernant Lets Encrypt peut apparaitre, c'est "normal" :
Code :
[2024-12-19T11:41:26+01:00] FATAL: Acme::Client::Error::RejectedIdentifier: letsencrypt_certificate[srv221053.linuxtrickstest.lan] (letsencrypt::http_authorization line 6) had an error: Acme::Client::Error::RejectedIdentifier: acme_certificate[staging] (letsencrypt::http_authorization line 43) had an error: Acme::Client::Error::RejectedIdentifier: Invalid identifiers requested :: Cannot issue for "srv221053.linuxtrickstest.lan": Domain name does not end with a valid public suffix (TLD)


Le mot de passe pour l'utilisateur root est généré lors de ce premier démarrage.
On le notera, il est stocké dans /etc/gitlab/initial_root_password