Comment installer GitLab Community Edition (CE) 11.x sur Ubuntu 18.04 LTS

Depuis l'acquisition de GitHub par Microsoft, plusieurs développeurs ont prévu de migrer leurs propres référentiels de code de github.com vers une autre solution auto-hébergée. GitLab Community Edition (CE) est le choix le plus courant.

En tant que solution sophistiquée et flexible, GitLab CE peut être déployé à l'aide de différentes méthodes, mais seule la méthode officiellement recommandée, l'installation du package Omnibus, sera couverte ici.

Conditions préalables

  • Une nouvelle instance de serveur Vultr Ubuntu 18.04 LTS x64 avec au moins 4 Go de mémoire. 8 Go ou plus est recommandé pour desservir jusqu'à 100 utilisateurs. Supposons que son adresse IPv4 soit 203.0.113.1.
  • Un utilisateur sudo .
  • Un domaine gitlab.example.compointé vers l'instance mentionnée ci-dessus.

Remarque: lors du déploiement sur votre propre instance de serveur, veillez à remplacer toutes les valeurs d'exemple par des valeurs réelles.

Étape 1: effectuer des tâches de base pour l'hébergement de GitLab CE

Lancez un terminal SSH et connectez-vous à votre instance de serveur Ubuntu 18.04 LTS x64 en tant qu'utilisateur sudo.

Ajouter une partition de swap et modifier le paramètre de swapiness

Lors du déploiement de GitLab CE 11.x sur une machine avec 4 Go de mémoire, il est nécessaire de configurer une partition de swap de 4 Go pour un bon fonctionnement:

sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Remarque: Si vous utilisez une taille de serveur différente, la taille de la partition de swap peut varier.

Pour des raisons de performances du système, il est recommandé de configurer le paramètre de permutation du noyau sur une valeur faible comme 10:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness

La sortie de la catcommande sera 10.

Configurez le nom d'hôte de la machine et le nom de domaine complet (FQDN)

Utilisez les commandes suivantes pour configurer un nom d'hôte gitlab, et un nom de domaine complet gitlab.example.com, pour la machine:

sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts

Vous pouvez confirmer les résultats:

hostname
hostname -f

Modifier les règles du pare-feu

Autoriser le trafic SSH, HTTP et HTTPS entrant

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

Mettre à jour le système

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

Pendant la mise à niveau, vous pouvez être informé que la version actuellement installée du fichier de configuration grub a été modifiée localement. Puisque nous ne sommes en fait pas responsables de la modification, utilisez la UPflèche pour mettre en surbrillance l' install the package maintainer's versionoption, puis appuyez sur ENTER.

Lorsque le système est de nouveau opérationnel, reconnectez-vous en tant que même utilisateur sudo pour continuer.

Étape 2: installer les dépendances requises

Avant d'installer GitLab CE, vous devez installer les dépendances requises:

sudo apt install -y curl openssh-server ca-certificates

De plus, si vous souhaitez utiliser Postfix pour envoyer des messages de notification, vous devez installer Postfix:

sudo apt install -y postfix

Pendant l'installation, un écran de configuration peut apparaître:

  1. Appuyez sur TABpour mettre en surbrillance le <OK>bouton sur le premier écran, puis appuyez sur ENTER.
  2. Sélectionnez Internet Siteet appuyez sur ENTER.
  3. Pour le mail namechamp, saisissez le nom de domaine complet de votre serveur gitlab.example.comet appuyez sur ENTER.
  4. Si d'autres écrans apparaissent, appuyez sur ENTERpour accepter les paramètres par défaut.

Démarrez et activez le service Postfix:

sudo systemctl enable postfix.service
sudo systemctl start postfix.service

Modifiez les règles de pare-feu pour Postfix:

sudo ufw allow Postfix
sudo ufw allow 'Postfix SMTPS'
sudo ufw allow 'Postfix Submission'

Après avoir installé Postfix, vous devez configurer Postfix en modifiant son fichier de configuration principal /etc/postfix/main.cfconformément aux paramètres réels de votre serveur.

Remarque: En plus des instructions ci-dessus, vous devez soumettre un ticket de support pour annuler le blocage par défaut de Vultr sur le port SMTP 25.

Alternativement, si vous souhaitez utiliser une autre solution de messagerie, ignorez simplement l'installation de Postfix et choisissez d'utiliser un serveur SMTP externe après l'installation de GitLab CE.

Étape 3: configurer le référentiel GitLab APT, puis installer GitLab CE

Configurez le référentiel GitLab CE APT sur votre système:

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

Ensuite, installez GitLab CE 11.x:

sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce

L'installation peut prendre un certain temps.

Enfin, pointez votre navigateur Web préféré sur http://gitlab.example.com, puis soumettez un nouveau mot de passe lorsque vous y êtes invité pour terminer l'installation.

À partir de maintenant, utilisez les informations d'identification suivantes pour vous connecter en tant qu'administrateur:

  • Nom d'utilisateur: root
  • Mot de passe: <your-new-password>

Étape 4: Activez l'accès HTTPS en intégrant un certificat SSL Let's Encrypt

Pour l'instant, vous avez correctement installé GitLab CE 11.x sur votre instance de serveur et les utilisateurs peuvent déjà visiter le site en utilisant le protocole HTTP. Pour des raisons de sécurité, il est recommandé d'activer l'accès HTTPS à votre serveur GitLab en intégrant un certificat SSL Let's Encrypt.

Utilisez l' viéditeur pour ouvrir le fichier de configuration GitLab CE:

sudo vi /etc/gitlab/gitlab.rb

Trouvez les deux lignes suivantes:

external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts

Remplacez-les en conséquence:

external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['admin@example.com']

Sauvegarder et quitter:

:wq!

Reconfigurez GitLab CE à l'aide des paramètres mis à jour:

sudo gitlab-ctl reconfigure

La reconfiguration peut prendre un certain temps.

Une fois la reconfiguration terminée, tous les utilisateurs seront obligés d'utiliser le protocole HTTPS lors de l'accès au site GitLab.

Remarque: après le passage de HTTP à HTTPS, les cookies hérités peuvent provoquer une erreur GitLab 422. L'effacement des cookies résout ce problème.



Leave a Comment

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i

Installation de McMyAdmin sur Ubuntu 14.10

Installation de McMyAdmin sur Ubuntu 14.10

McMyAdmin est un panneau de contrôle de serveur Minecraft utilisé pour administrer votre serveur. Bien que McMyAdmin soit gratuit, il existe plusieurs éditions, dont certaines sont pai

Configurer un serveur TeamTalk sous Linux

Configurer un serveur TeamTalk sous Linux

TeamTalk est un système de conférence qui permet aux utilisateurs davoir des conversations audio / vidéo de haute qualité, un chat textuel, de transférer des fichiers et de partager des écrans. Cest moi

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que

Installer phpBB avec Apache sur Ubuntu 16.04

Installer phpBB avec Apache sur Ubuntu 16.04

PhpBB est un programme de babillard open source. Cet article vous montrera comment installer phpBB sur un serveur Web Apache sur Ubuntu 16.04. Cétait écrit

Configurer un utilisateur non root avec Sudo Access sur Ubuntu

Configurer un utilisateur non root avec Sudo Access sur Ubuntu

Avoir un seul utilisateur, qui est root, peut être dangereux. Permet donc de résoudre ce problème. Vultr nous donne la liberté de faire ce que nous voulons avec nos utilisateurs et nos serveurs

Installer eSpeak sur CentOS 7

Installer eSpeak sur CentOS 7

Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin

Comment installer Thelia 2.3 sur CentOS 7

Comment installer Thelia 2.3 sur CentOS 7

Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i

Installation de Fuel CMS sur Ubuntu 16.04 LTS

Installation de Fuel CMS sur Ubuntu 16.04 LTS

Vous utilisez un système différent? Fuel CMS est un système de gestion de contenu basé sur CodeIgniter. Son code source est hébergé sur GitHub. Ce guide vous montrera comment

Comment configurer loptimisation TCP sous Linux

Comment configurer loptimisation TCP sous Linux

Introduction Vous avez des problèmes de connectivité lorsque des visiteurs dautres pays accèdent à votre site Web? Vous vous demandez pourquoi la vitesse de téléchargement de votre Foreig

Comment déployer Ghost v0.11 LTS sur Ubuntu 16.04

Comment déployer Ghost v0.11 LTS sur Ubuntu 16.04

Vous utilisez un système différent? Ghost est une plate-forme de blogs open source qui gagne en popularité auprès des développeurs et des utilisateurs ordinaires depuis sa 201

Comment installer Pip sur Linux

Comment installer Pip sur Linux

Pip est un outil de gestion des packages Python. Lutilisation dun gestionnaire de packages permet une gestion efficace de votre serveur. Dans ce tutoriel, je vais expliquer comment t

Comment déployer Google BBR sur CentOS 7

Comment déployer Google BBR sur CentOS 7

BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,

Comment installer Icinga 2 et Icinga Web 2 sur Ubuntu 16.04

Comment installer Icinga 2 et Icinga Web 2 sur Ubuntu 16.04

Icinga 2 est un système de surveillance des ressources réseau open source largement utilisé, et Icinga Web 2 est linterface Web officielle pour Icinga 2. Dans ce didacticiel,

Comment installer YOURLS sur CentOS 7

Comment installer YOURLS sur CentOS 7

YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation

Comment activer TLS 1.3 dans Apache sur Fedora 30

Comment activer TLS 1.3 dans Apache sur Fedora 30

Vous utilisez un système différent? TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publiée en 2018 en tant que norme proposée dans la RFC 8446

Configurer un Chroot sur Debian

Configurer un Chroot sur Debian

Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu

Comment installer PiVPN sur Debian

Comment installer PiVPN sur Debian

Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t

Comment installer Alfresco Community Edition sur Ubuntu 16.04

Comment installer Alfresco Community Edition sur Ubuntu 16.04

Vous utilisez un système différent? Alfresco Community Edition est une version open source des services de contenu Alfresco. Il est écrit en Java et utilise PostgreSQL t

Configurer Nginx-RTMP sur CentOS 7

Configurer Nginx-RTMP sur CentOS 7

Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.