GitLab CE  est une application principalement utilisée pour héberger des référentiels Git, avec des fonctionnalités supplémentaires liées au développement comme le suivi des problèmes. Il est conçu pour être hébergé à l’aide de votre propre infrastructure vu que Gitlab est open source.

Prérequis :

  • Un serveur Debian/Ubuntu à jours !
  • 2 Noyaux
  • 8go de RAM
  • Un nom de domaine pointé vers votre serveur, (pas, obligatoire ci vous travailler en local). Ce didacticiel utilisera le DNS gitlab.local, accessible uniquement dans un réseau local par le biais d’un serveur DNS local. Si vous n’avez pas envie de vous prendre la tête avec la configuration d’un serveur DNS dédié pour le moment, pas de soucis, vous pourrez accéder au serveur par le biais de son addresse IP local. Cela sera juste moins jolie, mais fonctionnel !

Installation des dépendances

Avant de pouvoir installer GitLab lui-même, il est important d’installer des logiciels dont il tire parti lors de l’installation et de façon continue. Heureusement, tous les logiciels requis peuvent être facilement installés à partir des référentiels de paquets par défaut d’Ubuntu.

sudo apt update
sudo apt install ca-certificates curl openssh-server postfix

Vous aurez probablement déjà installé certains de ces logiciels. Pour postfix(SMTP) installation, sélectionnez Site Internet lorsque vous y êtes invité. Sur l’écran suivant, entrez le nom de domaine de votre serveur (debian.local) pour configurer la façon dont le système enverra le courrier. Gitlab fonctionnera de manière plus efficiente avec la possibilité de pouvoir communiquer avec un serveur mail. (SMTP/IMAP)

Installation de GitLab

Maintenant que les dépendances sont en place, nous pouvons installer GitLab lui-même. Il s’agit d’un processus simple qui exploite un script d’installation pour configurer votre système.

Accédez à /tmp, puis téléchargez le script d’installation :

cd /tmp
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
sudo bash /tmp/script.deb.sh

Le script configurera votre serveur pour utiliser les référentiels maintenus par GitLab. Une fois cette opération terminée, vous pouvez installer l’application GitLab réelle avec apt:

sudo apt install gitlab-ce # ~ 750mo 

Modification du fichier de configuration GitLab

Avant de pouvoir utiliser l’application, vous devez mettre à jour le fichier de configuration et exécuter une commande de reconfiguration.

sudo nano /etc/gitlab/gitlab.rb

Cherchez la variable suivante : external_url. Mettez-la à jour pour qu’elle corresponde à votre domaine. 

Si vous avez déjà un certificat ssl valide sur un nom de domaine public Changez httppour httpsque GitLab redirige automatiquement les utilisateurs.

external_url 'http://example.com:80' 
# attention vérifiez que vous n'avez aucun service qui fonctionne sur ce port. Sinon il vous faudra choisir un port quelconque > 1024, pour pouvoir accéder à votre application gitlab.

Optionnel : Ensuite, recherchez letsencrypt['contact_emails']. Changer la valeur de cette instance avec un email « externe », ci-cous souhaitez être contacté en cas de problème avec votre domaine. 

Afin de sécuriser et d’optimiser le fonctionnement de Gitlab, Je vous conseille de modifier / dé-commenter aussi les lignes suivantes. Crtl+F, serra votre meilleur allié 😉 :

nginx['listen_addresses'] = ['*', '[::]']
nginx['listen_port'] = 80 # gitlab, redirige le traffic de 8443 vers 80
nginx['listen_https'] = false
nginx['real_ip_trusted_addresses'] = ['192.168.1.0/24']
# saisissez votre adresse de réseau local "général"
nginx['real_ip_header'] = 'X-Real-IP'
nginx['real_ip_recursive'] = 'on'
sudo gitlab-ctl reconfigure # peut prendre quelques minutes

Interface Web

Nous pouvons dès à présent effectuer une configuration initiale de l’application via l’interface Web.

Connexion pour la première fois

Visitez http://debian.local:80 à travers votre navigateur web.

Lorsque vous avez atteint la page d’accueil, vous devriez voir un formulaire vous invitant à définir un mot de passe pour le compte administratif (root, par défaut) :

Dans l’invite de mot de passe initiale, fournissez et confirmez un mot de passe sécurisé pour le compte administratif. Cliquez sur le bouton Changer votre mot de passe lorsque vous avez terminé.

Vous serez redirigé vers la page de connexion :

Ici, vous pouvez vous connecter avec le mot de passe que vous venez de définir. Les informations d’identification sont les suivantes:

  • Nom d’utilisateur: root
  • Mot de passe: [le mot de passe que vous avez défini]

Voici le panel d’administration de Gitlab !

Page de destination de la connexion initiale à GitLab

Gitlab est maintenant installé et configuré. Dans les sections suivantes je vous présente quelques options utile à activer.

Ajuster vos paramètres de profil

L’une des premières choses que vous devriez faire après une nouvelle installation est de mettre votre profil en meilleure forme.

Pour effectuer les modifications nécessaires, cliquez sur l’icône utilisateur dans le coin supérieur droit de l’interface. Dans le menu déroulant qui apparaît, sélectionnez Paramètres :

Vous serez redirigé vers la section Profil de vos paramètres :

Ajustez le nom et l’ adresse e- mail de «Administrateur» et « [email protected] ». Le nom que vous sélectionnez sera affiché pour les autres utilisateurs, tandis que l’e-mail sera utilisé pour les notifications, les actions Git via l’interface, etc.

Cliquez sur le bouton Mettre à jour les paramètres du profil en bas lorsque vous avez terminé:

Bouton Paramètres de mise à jour du profil GitLab

Un e-mail de confirmation sera envoyé à l’adresse que vous avez indiquée. Suivez les instructions dans l’e-mail pour confirmer votre compte afin de pouvoir commencer à l’utiliser avec GitLab.

Changer le nom de votre compte

Ensuite, cliquez sur l’ élément Compte dans la barre de menu de gauche:

Élément de menu du compte GitLab

Ici, vous pouvez trouver votre jeton d’API privé ou configurer l’authentification à deux facteurs. Cependant, la fonctionnalité qui nous intéresse actuellement est la section Changer le nom d’utilisateur .

Par défaut, le premier compte administratif reçoit le nom racine . Puisqu’il s’agit d’un nom de compte connu, il est plus sûr de le changer en un nom différent. Vous aurez toujours des privilèges administratifs; la seule chose qui changera est le nom. Remplacez root par votre nom d’utilisateur préféré:

Cliquez sur le bouton Mettre à jour le nom d’utilisateur pour effectuer la modification:

Bouton de mise à jour du nom d'utilisateur GitLab

Restriction ou désactivation des inscriptions publiques (facultatif)

Vous avez peut-être remarqué qu’il est possible pour quiconque de créer un compte lorsque vous visitez la page de destination de votre instance GitLab. C’est peut-être ce que vous voulez si vous cherchez à héberger un projet public. Cependant, plusieurs fois, des paramètres plus restrictifs sont souhaitables.

Pour commencer, dirigez-vous vers la zone administrative en cliquant sur l’ icône de clé dans la barre de menu principale en haut de la page:

Sur la page qui suit, vous pouvez voir un aperçu de votre instance GitLab dans son ensemble. Pour ajuster les paramètres, cliquez sur l’ élément Settings en bas du menu de gauche :

Bouton Paramètres administratifs GitLab

Si vous souhaitez désactiver complètement les inscriptions (vous pouvez toujours créer manuellement des comptes pour les nouveaux utilisateurs), faites défiler jusqu’à la section Restrictions d’ inscription.

Décochez la case Inscription activée :

GitLab désélectionne les inscriptions activées

Faites défiler vers le bas et cliquez sur le bouton Save changes :

Bouton d'enregistrement des paramètres GitLab

Restriction des inscriptions par nom de domaine

Si vous utilisez GitLab dans le cadre d’une organisation qui fournit des adresses e-mail associées à un domaine, vous pouvez restreindre les inscriptions par domaine au lieu de les désactiver complètement.

Dans la section Restrictions d’ inscription , cochez la case Envoyer un e-mail de confirmation à l’inscription , qui permettra aux utilisateurs de se connecter uniquement après avoir confirmé leur e-mail.

Ensuite, ajoutez votre ou vos domaines à la zone Domaines en liste blanche pour les inscriptions , un domaine par ligne. Vous pouvez utiliser l’astérisque «*» pour spécifier les domaines génériques:

GitLab restreint les inscriptions par domaine

Faites défiler vers le bas et cliquez sur le bouton :

Bouton d'enregistrement des paramètres GitLab

La section d’inscription devrait maintenant être supprimée de la page de destination de GitLab.

Conclusion

Vous devriez maintenant avoir une instance GitLab fonctionnelle hébergée sur votre propre serveur. Vous pouvez commencer à importer ou créer de nouveaux projets et configurer le niveau d’accès approprié pour votre équipe. 

GitLab ajoute régulièrement des fonctionnalités et met à jour sa plate-forme, alors assurez-vous de consulter la page d’accueil du projet pour rester à jour sur les améliorations ou les avis importants.

Bonus

Grâce à la commande HTOP, vous pouvez visualiser les ressources physique que Gitlab s’approprie

À bientôt 😉

Brlndtech


Geoffrey Sauvageot-Berland

Ingénieur diplômé par l’état en Informatique et Cybersécurité. Généraliste, à l'origine administrateur systèmes et réseaux, j’occupe actuellement un poste d’auditeur en sécurité offensive. J’apprécie également la programmation/automatisation. Fondateur du blog : "Le Guide du SecOps", anciennement "Le Guide du SysOps"