GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer Gitlab en toute sécurité (tutoriel)

Vous avez décidé que vous deviez commencer à utiliser GitLab pour la gestion de votre projet, mais vous ne savez pas comment installer GitLab en toute sécurité ? Non seulement l'installation de GitLab est un processus complexe, mais si elle n'est pas effectuée correctement, vos données pourraient être en danger. Mais ne vous inquiétez pas, vous êtes au bon endroit !

Pas un lecteur? Regardez ce didacticiel vidéo associé ! Vous ne voyez pas la vidéo ? Assurez-vous que votre bloqueur de publicités est désactivé.

Dans ce didacticiel, vous apprendrez tout le processus d'installation sécurisée de GitLab. Vous pourrez ainsi configurer le cryptage SSL et configurer GitLab pour des performances optimales.

Ça semble intéressant? Lancez-vous !

Prérequis

Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous d'avoir les éléments suivants :

  • Un serveur Linux avec accès root :cette démo utilise Ubuntu 20.04 LTS, mais n'importe quelle distribution Linux fonctionnera.
  • Un nom de domaine complet (FQDN) pointant vers votre serveur.
  • Let's Encrypt est installé sur le serveur.
  • Configuration minimale :8 Go de RAM, une bande passante de 50 à 100 Mb/s, un processeur de 2 GHz et 20 Go d'espace disque.

Installation de GitLab Community Edition

Maintenant que vous avez un FQDN et que votre serveur est préparé, il est temps d'installer GitLab. Il existe plusieurs façons d'installer GitLab, comme l'utilisation du package Omnibus ou la compilation à partir de la source. Mais ce tutoriel se concentre sur l'installation de GitLab à l'aide du référentiel GitLab de son développeur.

GitLab est disponible en deux distributions :

  • Édition communautaire GitLab (CE) – pour les utilisateurs qui préfèrent une version open source et prise en charge par la communauté de GitLab.
  • GitLab Édition Entreprise (EE) – pour les utilisateurs qui ont besoin des fonctionnalités supplémentaires fournies par GitLab Enterprise Edition.

Mais cette démo utilise l'édition communautaire pour tester l'application dans votre environnement de développement.

1. Ouvrez votre terminal et lancez le apt update commande ci-dessous pour vous assurer que votre système a accès à toutes les dernières mises à jour logicielles.

Le apt update La commande met à jour les fichiers d'index des packages utilisés par le apt utilitaire pour récupérer des informations sur les packages disponibles.

sudo apt update -y

2. Ensuite, exécutez le apt install commande ci-dessous pour télécharger (curl ) et install les dépendances requises suivantes pour votre installation GitLab :

  • openssh-server package – Contient le démon de serveur OpenSSH et les outils associés, tels que l'outil de gestion de clé d'hôte et le serveur, pour fournir un accès de connexion à distance aux utilisateurs.
  • ca-certificates package – Contient une liste de certificats CA. Ce package fournit les fichiers nécessaires pour activer la prise en charge HTTPS sur votre serveur.
sudo apt install curl openssh-server ca-certificates -y

3. Exécutez le curl commande ci-dessous pour télécharger (curl ) le script d'installation de GitLab ( https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce ). La commande enregistre ensuite le script d'installation en tant que script shell (script.deb.sh ) et l'exécute en tant que superutilisateur (sudo bash ).

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

Une fois le curl commande se termine, vous obtiendrez la sortie suivante.

4. Exécutez le apt-cache commande ci-dessous pour vérifier que vous avez ajouté le référentiel GitLab avec succès.

apt-cache policy docker-ce

5. Maintenant, relancez le apt update commande pour mettre à jour la liste des packages disponibles. Cette commande garantit que votre système utilisera le référentiel GitLab nouvellement ajouté lors de l'installation de GitLab.

sudo apt update -y

6. Enfin, exécutez le apt install commande ci-dessous pour installer GitLab (gitlab-ce ) sur votre système.

sudo apt install gitlab-ce -y

L'installation prendra un certain temps, mais vous verrez la sortie suivante une fois l'installation terminée. Cette sortie confirme que vous avez maintenant installé avec succès GitLab sur votre système.

Configuration de votre installation GitLab

GitLab est maintenant installé sur votre système, mais vous devrez apporter quelques modifications à la configuration avant d'utiliser GitLab. Fichier de configuration de GitLab (/etc/gitlab/gitlab.rb ) contient les paramètres globaux pour GitLab qui ne sont pas spécifiques à l'environnement de votre serveur GitLab.

Vous allez modifier le fichier de configuration de GitLab pour définir votre nom de domaine FQDN et sécuriser la connexion à votre domaine.

1. Ouvrez le fichier /etc/gitlab/gitlab.rb fichier de configuration dans votre éditeur de texte préféré.

L'une des entrées les plus importantes du fichier de configuration GitLab est l'url externe directive, comme indiqué ci-dessous. Cette directive permet aux utilisateurs d'accéder à GitLab via un navigateur Web.

Modifier l'URL externe valeur de la directive de http://gitlab.example.com vers https://gitlab.votredomaine.com , où votredomaine.com est votre nom de domaine FQDN.

2. Ensuite, accédez à l'intégration Let's Encrypt section située en bas, et configurez les directives avec ce qui suit :

  • Décommentez le letsencrypt['enable'] directive en supprimant le # précédent et changez la valeur de nil à true . Cette directive indique à GitLab de configurer automatiquement HTTPS sur votre serveur.
  • Décommentez le letsencrypt['contact_emails'] directive en supprimant le # précédent , et indiquez votre adresse e-mail comme valeur. Let's Encrypt utilisera cette adresse e-mail pour vous contacter lorsque vous aurez besoin de renouveler votre certificat SSL (tous les 90 jours).
  • Enregistrez les modifications et quittez l'éditeur.

3. Enfin, exécutez la commande ci-dessous pour reconfigure et appliquez les modifications dans /etc/gitlab/gitlab.rb fichier de configuration à GitLab.

sudo gitlab-ctl reconfigure

Configuration de votre pare-feu pour les connexions SSL

Maintenant que vous avez configuré GitLab, vous devrez configurer vos règles de pare-feu pour autoriser les connexions SSL et sécurisées à votre serveur. Le pare-feu non compliqué (UFW) est le programme par défaut pour gérer les règles de pare-feu dans Ubuntu.

Si vous placez votre serveur derrière un pare-feu, vous devrez ouvrir le port HTTP 80 et le port HTTPS 443 pour les connexions SSL.

Exécutez la commande suivante pour ouvrir OpenSSH , HTTP , et HTTPS ports pour votre serveur GitLab.

sudo ufw allow OpenSSH && sudo ufw allow http && sudo ufw allow http

Maintenant, exécutez la commande suivante pour vérifier l'état de votre pare-feu.

sudo ufw status 

Sécuriser GitLab via l'interface Web

Votre pare-feu est activé, mais cela signifie-t-il que votre GitLab est sécurisé ? Ajouter des couches de sécurité n'est jamais trop. Ainsi, vous sécuriserez davantage votre installation GitLab via l'interface Web.

1. Ouvrez votre navigateur Web préféré et accédez à votre serveur GitLab. Par exemple, http://gitlab.example.com , où example.com est votre nom de domaine FQDN.

Choisissez Chrome ou Firefox lorsque vous accédez à votre serveur GitLab pour une meilleure sécurité. Ces navigateurs Web utilisent leurs propres protocoles HTTP/HTTPS, qui aident à appliquer les politiques de sécurité.

Ci-dessous, vous pouvez voir la page de connexion GitLab.

2. Ensuite, cliquez sur l'icône du cadenas (en haut à gauche) à côté de la barre d'adresse et vous verrez l'état de votre connexion. Cette démo montre que la connexion est sécurisée , ce qui indique que votre connexion au serveur s'effectue via HTTPS.

Retournez à votre terminal et exécutez le cat commande ci-dessous pour obtenir votre initial_root_password .

Par défaut, l'installation de GitLab est fournie avec un mot de passe root initial généré automatiquement.

 cat /etc/gitlab/initial_root_password

Copiez et enregistrez votre mot de passe root initial dans un endroit sécurisé. Vous utiliserez ce mot de passe pour vous connecter à GitLab (étape quatre).

4. Revenez à votre navigateur Web, tapez root comme nom d'utilisateur et entrez votre mot de passe root initial comme mot de passe. Cliquez sur Connexion pour vous connecter à votre serveur GitLab.

Après vous être connecté à votre serveur GitLab, votre navigateur redirige vers le tableau de bord GitLab, comme indiqué ci-dessous.

Ajouter une clé SSH à votre compte GitLab

Outre l'interface Web, vous pouvez également accéder à GitLab via un environnement de ligne de commande de manière sécurisée. Comment? Vous devrez d'abord ajouter une clé SSH à votre compte, afin de pouvoir accéder à GitLab en exécutant une commande sur votre terminal sans avoir à saisir de mot de passe.

1. Exécutez le ssh-keygen pour générer une paire de clés SSH adaptée à une utilisation dans les connexions SSH. Lorsque vous y êtes invité, appuyez sur la touche Entrée pour conserver l'emplacement d'enregistrement par défaut de la clé SSH (/root/.ssh/id_rsa ) et n'ajoutez pas de phrase secrète.

ssh-keygen

2. Exécutez le cat commande ci-dessous pour imprimer votre clé publique à l'écran, comme indiqué ci-dessous. Copiez l'intégralité de la chaîne de clé publique ssh-rsa et enregistrez-la dans un endroit sûr. Vous ajouterez cette clé publique à votre GitLab plus tard (étape trois).

 cat ~/.ssh/id_rsa.pub

3. Revenez au tableau de bord GitLab sur votre navigateur pour ajouter votre clé publique avec ce qui suit :

  • Cliquez sur les clés SSH menu dans le panneau de gauche des Paramètres utilisateur page pour accéder aux clés SSH page.
  • Collez la clé publique que vous avez copiée (étape 2) dans la clé champ, comme indiqué ci-dessous
  • Indiquez votre nom préféré pour la clé dans le Titre champ. Mais pour cette démo, le nom est défini sur ATAGitHub.
  • Cliquez sur Ajouter une clé pour finaliser l'ajout de la clé publique à votre compte.

Désactivation des inscriptions publiques

Pour plus de sécurité, vous pouvez désactiver les inscriptions publiques sur GitLab. Pourquoi? La fonctionnalité d'inscription publique de GitLab permet à quiconque de créer un compte sur le serveur GitLab. La désactivation de cette fonctionnalité vous permet d'éviter les attaques par force brute sur votre serveur.

1. Depuis le tableau de bord GitLab, cliquez sur Menu —> Administrateur pour accéder au panneau d'administration, puis cliquez sur Paramètres pour accéder à l'onglet Général du panneau d'administration page des paramètres (deuxième étape).

2. Désactivez l'option Inscription activée sous les restrictions d'inscription section. Cela désactive la fonction d'inscription publique de GitLab.

3. Faites défiler vers le bas et cliquez sur Enregistrer les modifications (en bas) pour enregistrer les modifications que vous avez apportées aux paramètres de restriction d'inscription.

4. Enfin, déconnectez-vous de votre compte et naviguez sur votre écran de connexion GitLab.

Comme vous le voyez ci-dessous, le bouton Inscrivez-vous maintenant le lien a disparu.

Tester votre serveur GitLab

À ce stade, vous avez déjà configuré et sécurisé votre serveur GitLab, et c'est tant mieux ! Mais comment savez-vous que votre serveur GitLab fonctionne réellement ? Vous testerez votre serveur en créant un projet GitLab via le tableau de bord GitLab et en clonant le projet sur votre serveur.

1. Sur le tableau de bord GitLab, cliquez sur le plus (+) à côté du champ de recherche, puis cliquez sur Nouveau projet , comme indiqué ci-dessous, pour créer un nouveau projet GitLab.

2. Ensuite, indiquez votre projet préféré nom , mais pour cette démo, le nom du projet est défini sur ATA GitLab , et le slug de projet est défini sur (atagitlab ).

Cliquez sur Créer projet pour créer votre nouveau projet.

3. Revenez à votre terminal et exécutez les commandes suivantes pour configurer votre nom d'utilisateur global (--global user.name ) et e-mail (--global user.email ) pour Git. Chaque nom d'utilisateur et e-mail sont globalement uniques sur tous les comptes du serveur GitLab.

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

4. Maintenant, exécutez le git clone ci-dessous pour cloner le projet ATA GitLab que vous avez créé (étape 2) dans votre répertoire actuel. Remplacer yourdomain.com avec votre nom de domaine complet.

git clone http://gitlab.yourdomain.com/root/ATA-GitLab.git

Si tout se passe bien, vous verrez une sortie similaire à celle ci-dessous. Une fois le clonage terminé, vous aurez un nouveau répertoire appelé ATA-GitLab .

5. Enfin, exécutez le ls commande pour vérifier que le répertoire ATA-GitLab existe.

ls

Étant donné que vous pouvez cloner le nouveau projet ATA GitLab et que le répertoire ATA GitLab existe, la sortie ci-dessous confirme que votre serveur GitLab fonctionne correctement.

Conclusion

Dans ce didacticiel, vous avez appris à effectuer une installation sécurisée de GitLab sur votre système Ubuntu Linux. Vous vous êtes assuré de sécuriser votre serveur GitLab via l'interface Web, d'ajouter des clés SSH à votre compte GitLab et de tester si votre serveur GitLab fonctionne.

Avec ces nouvelles connaissances, peut-être aimeriez-vous apprendre à configurer des systèmes d'intégration continue (CI) automatisés avec GitLab ?


Linux
  1. Comment installer Dig sous Windows

  2. Comment installer GitLab dans Ubuntu 20.04

  3. Comment installer Gitlab sur CentOS 8

  4. Comment installer et utiliser la commande fd sous Linux

  5. Comment installer Locate sur un serveur Fedora

Comment configurer GitLab sur CentOS 8

Comment installer TimescaleDB sur Ubuntu 20.04

Comment installer GitLab CE sur Oracle Linux 8

Comment installer phpMyAdmin en toute sécurité sous Linux

Comment installer XAMPP sur CentOS 8

Comment installer TeamViewer sur Ubuntu 20.04 LTS