GitLab est un gestionnaire de référentiel GIT open source basé sur Rails et développé par GitLab Inc. Il s'agit d'un gestionnaire de référentiel GIT basé sur le Web qui permet à votre équipe de travailler sur le code, de suivre les bogues et les demandes de fonctionnalités, ainsi que de tester et de déployer des applications. GitLab fournit des fonctionnalités telles qu'un wiki, un suivi des problèmes, des révisions de code, des flux d'activités et la gestion des fusions. Il est capable d'héberger plusieurs projets.
GitLab est disponible en quatre éditions :
- Gitlab CE (Community Edition) - auto-hébergé, gratuit et support du forum de la communauté.
- Gitlab EE (Enterprise Edition) :application payante auto-hébergée, dotée de fonctionnalités supplémentaires.
- GitLab.com – SaaS, gratuit
- GitLab.io - Instance GitLab privée gérée par GitLab Inc.
Dans ce tutoriel, je vais vous montrer étape par étape comment installer GitLab CE (Community Edition) sur votre propre serveur Ubuntu 16.04 Xenial Xerus. Dans ce tutoriel, j'utiliserai le package "omnibus" fourni par GitLab pour une installation facile.
Ce que nous allons faire :
- Installer des packages
- Installer GitLab
- Configurer l'URL GitLab
- Générer un certificat SSL Let's encrypt et DHPARAM
- Activer Nginx HTTPS pour GitLab
- Configurer le pare-feu UFW
- Effectuer l'installation de GitLab
- Test
Prérequis
- Serveur Ubuntu 16.04 - 64 bits
- 2 Go de RAM minimum
- Privilèges racine
Étape 1 - Installer les packages Ubuntu requis
La première étape consiste à installer les packages nécessaires à l'installation de GitLab. Veuillez vous connecter au serveur en tant qu'utilisateur root et mettre à jour le référentiel Ubuntu.
ssh [email protected]
apt-get update
Installez maintenant les packages, y compris curl pour télécharger le référentiel GitLab, ca-certificates et postfix pour la configuration SMTP.
Installez tous les packages avec la commande apt ci-dessous.
sudo apt install curl openssh-server ca-certificates postfix
Lors de l'installation de postfix, vous serez invité à la configuration, sélectionnez 'Site Internet'.
puis entrez le nom de domaine du serveur qui sera utilisé pour envoyer un e-mail.
Étape 2 - Installer Gitlab
Dans cette étape, nous allons installer GitLab en utilisant les packages omnibus. Omnibus installera tous les packages, services et outils nécessaires à l'exécution de GitLab sur votre serveur.
Ajoutez le dépôt GitLab avec la commande curl.
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Et puis installez GitLab CE Community Edition avec la commande apt.
sudo apt install gitlab-ce
Attendez que le serveur télécharge et installe le package gitlab. Une fois l'installation terminée, vous verrez les résultats ci-dessous.
Étape 3 - Configurer l'URL principale de Gitlab
Nous devons maintenant configurer l'URL qui sera utilisée pour accéder à notre serveur GitLab. J'utiliserai le nom de domaine "gitlab.hakase-labs.co" pour l'URL GitLab ici (veuillez choisir votre propre nom de domaine) et j'utiliserai HTTPS pour la sécurité d'accès des utilisateurs.
La configuration principale de GitLab se trouve dans le répertoire '/etc/gitlab'. Allez dans ce répertoire et modifiez le fichier de configuration 'gitlab.rb' avec vim.
cd /etc/gitlab
vim gitlab.rb
Dans la configuration de GitLab, allez à la ligne 9 'external_url' et changez l'URL en votre URL 'gitlab.hakase-labs.co'.
external_url 'http://gitlab.hakase-labs.co'
Enregistrez le fichier et quittez l'éditeur. À l'étape suivante, HTTPS sera activé pour GitLab.
Étape 4 - Générer un certificat SSL Let's encrypt et DHPARAM
Dans cette étape, nous allons activer le protocole HTTPS pour GitLab. J'utiliserai un certificat SSL gratuit fourni par let's encrypt pour le nom de domaine gitlab.
Installez l'outil de ligne de commande Letsencrypt avec la commande apt.
sudo apt install letsencrypt -y
Une fois l'installation terminée, générez un nouveau certificat pour le nom de domaine gitlab avec la commande ci-dessous.
letsencrypt certonly -d gitlab.hakase-labs.co
Entrez votre adresse e-mail pour la notification de renouvellement du certificat SSL.
Choisissez "Accepter" pour les conditions d'utilisation de Let's Encrypt et attendez.
Quand c'est fait, vous verrez le résultat ci-dessous.
De nouveaux fichiers de certificat Let's encrypt pour GitLab ont été générés. Vous pouvez trouver les fichiers de certificat dans le répertoire '/etc/letsencrypt/live'.
Ensuite, créez un nouveau répertoire nommé 'ssl' sous le répertoire de configuration de GitLab.
mkdir -p /etc/gitlab/ssl/
Et générez des fichiers dhparam pem dans le répertoire ssl avec la commande openssl.
sudo openssl dhparam -out /etc/gitlab/ssl/dhparams.pem 2048
Modifiez maintenant les autorisations des fichiers de certificat à 600.
chmod 600 /etc/gitlab/ssl/*
Le certificat SSL Let's encrypt pour GitLab et le certificat DHPARAM ont été générés.
Étape 5 - Activer Nginx HTTPS pour GitLab
A ce stade, nous avons les fichiers de certificat de Letsencrypt dans le répertoire '/etc/letsencrypt/live' et le certificat DHPARAM dans le répertoire '/etc/gitlab/ssl'.
Dans cette étape, nous allons configurer un GitLab pour utiliser nos fichiers de certificat. Allez dans le répertoire '/etc/gitlab', puis modifiez la configuration de 'gitlab.rb' avec vim.
cd /etc/gitlab/
vim gitlab.rb
Modifiez l'URL externe pour utiliser 'https' au lieu de 'http'.
external_url 'https://gitlab.hakase-labs.co'
Ajoutez ensuite la nouvelle configuration SSL pour gitlab comme ci-dessous.
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"
Remarque :
Nous allons activer la redirection HTTP vers HTTPS dans gitlab.
Enregistrez le fichier et quittez vim.
Nous devons maintenant exécuter la commande ci-dessous en tant que root pour appliquer la nouvelle configuration de gitlab.
sudo gitlab-ctl reconfigure
Vous verrez les résultats ci-dessous.
La configuration HTTPS pour GitLab est terminée.
Étape 6 - Configurer le pare-feu UFW
Dans cette étape, nous allons activer le pare-feu UFW. Il est déjà installé sur le système, il suffit de démarrer le service. Nous exécuterons GitLab derrière le pare-feu UFW, nous devons donc ouvrir les ports HTTP et HTTPS.
Activez le pare-feu UFW avec la commande ci-dessous.
ufw enable
La commande exécutera le service ufw et l'ajoutera pour qu'il démarre automatiquement au démarrage.
Ensuite, ouvrez de nouveaux ports ssh, HTTP et HTTPS.
ufw allow ssh
ufw allow http
ufw allow https
Vérifiez maintenant l'état du pare-feu et assurez-vous que les ports ssh, http et https figurent dans la liste.
ufw status
Les ports HTTP et HTTPS sont configurés.
Étape 7 - Post-installation de Gitlab
GitLab a été installé sur le système et s'exécute derrière le pare-feu UFW. Au cours de cette étape, nous effectuerons quelques réglages rapides, tels que la modification du mot de passe, du nom d'utilisateur et des paramètres de profil.
Ouvrez votre navigateur Web et saisissez l'URL de gitlab, la mienne est "gitlab.hakase-labs.co". Vous serez redirigé vers la connexion HTTPS.
Réinitialiser le mot de passe root GitLab
Connectez-vous maintenant à GitLab avec l'utilisateur 'root' et avec votre mot de passe.
Modifier le nom d'utilisateur et le profil
Dans le coin supérieur droit, cliquez sur votre profil et choisissez "Paramètres du profil".
Dans l'onglet Profil, échangez le nom par défaut avec votre nom et votre adresse e-mail avec votre adresse e-mail. Cliquez maintenant sur "Mettre à jour le profil".
Cliquez sur l'onglet 'Compte', changez le nom d'utilisateur avec votre propre nom d'utilisateur. Cliquez ensuite sur "Mettre à jour le nom d'utilisateur".
Ajouter une clé SSH
Assurez-vous d'avoir déjà une clé, si vous n'avez pas de clé SSH, vous pouvez la générer avec la commande ci-dessous.
ssh-keygen
Et vous obtiendrez deux clés, 'id_rsa' votre clé privée et 'id_rsa.pub' votre clé publique.
Ensuite, cliquez sur l'onglet 'Clé SSH', copiez le contenu du fichier 'id_rsa.pub' et collez-le dans la boîte de clé, puis cliquez sur 'Ajouter une clé'.
Une nouvelle clé SSH a été ajoutée.
Restrictions d'inscription et paramètres de limite
Cliquez sur l'icône "zone d'administration", puis cliquez sur l'icône d'engrenage et choisissez "Paramètres".
Dans les "Paramètres de compte et de limite", vous pouvez configurer le nombre maximum de projets par utilisateur et les "Restrictions d'inscription", vous pouvez ajouter le nom de domaine de votre e-mail à la liste blanche.
Et si tout est terminé, faites défiler vers le bas et cliquez sur "Enregistrer".
La configuration de base de GitLab est terminée.
Étape 8 - Tester
Enfin, nous ferons quelques tests pour nous assurer que notre système GitLab fonctionne correctement.
Créer un nouveau projet
Cliquez sur l'icône plus en haut pour créer un nouveau référentiel de projet. Tapez le nom de votre projet, sa description et configurez les paramètres de visibilité de votre projet. Cliquez ensuite sur le bouton 'Créer un projet'.
Le nouveau projet a été créé.
Testez d'abord le commit et le push
Une fois le projet 'howtoforge' créé, vous serez redirigé vers la page du projet. Commencez maintenant à ajouter du nouveau contenu au référentiel. Assurez-vous que Git est installé sur votre ordinateur et configurez le nom d'utilisateur global et l'e-mail pour git avec la commande ci-dessous.
git config --global user.name "hakase"
git config --global user.email "[email protected]"
Clonez le référentiel et ajoutez un fichier README.md.
git clone https://[email protected]/hakase/howtoforge.git
cd howtoforge/
vim README.md
Le mot de passe utilisateur 'hakase' vous sera demandé. Veuillez saisir le même mot de passe que celui que vous avez utilisé lors de notre premier accès à GitLab.
Validez un nouveau fichier dans le référentiel howtoforge.
git add .
git commit -m 'Add README.md file by hakase-labs'
Ensuite, envoyez la modification au référentiel sur le serveur GitLab.
git push origin master
Tapez votre mot de passe et appuyez sur Entrée pour continuer. Vous verrez le résultat ci-dessous.
Ouvrez maintenant le projet howtoforge à partir de votre navigateur Web et vous verrez que le nouveau fichier README.md a été ajouté au référentiel.
Gitlab a été installé sur un serveur Ubuntu 16.04 Xenial Xerus.
Préférences
- https://about.gitlab.com/downloads/#ubuntu1604
- https://docs.gitlab.com/ce/