Pourquoi Gitlab?
Liens rapides
- Pourquoi Gitlab?
- Installer
- Installer des dépendances
- Installer Gitlab
- Lancer le programme d'installation
- La configuration initiale
- Configurer SSH
- Pour SSH régulier
- Configurer UFW
- Pensées de clôture
Il existe de nombreuses options pour héberger vos projets et partager votre code. Vous pouvez maintenant créer un compte Github gratuitement. Alors, pourquoi voudriez-vous vous charger de la configuration de Gitlab vous-même?
Il existe en fait deux ou trois bons arguments, dont le moindre est la protection de la vie privée. Gitlab est à vous. Vous l'hébergez et vous en êtes propriétaire. Ainsi, vous pouvez contrôler qui a accès à vos référentiels. Cela signifie également que vous avez le contrôle de la plate-forme elle-même. Vous n'êtes pas soumis aux politiques de l'entreprise, aux modifications arbitraires de la tarification ou à la collecte de données.
Le contrôle de version auto-hébergé signifie également que vous ne dépendez pas d'un service pour accéder à votre code. Bien sûr, les chances que Github ou un autre service similaire soit totalement indisponible en raison d'une panne sont minces, mais ne préféreriez-vous pas que cela ne soit pas du tout une possibilité?
Gitlab est également très facile à configurer. Il suffit d’un serveur Linux exécutant le logiciel open source Gitlab, dont la plupart sont préconfigurés et prêts à être utilisés.
Installer
Avant de commencer, vous devez d'abord configurer VPS pour héberger Gitlab, sauf si vous prévoyez de l'héberger localement. Les sociétés d'hébergement telles que DigitalOcean et Linode proposent des options rentables qui permettent à votre serveur de fonctionner correctement.
C'est aussi une bonne idée d'acheter un nom de domaine pour votre serveur aussi. Ou, vous pouvez pointer un sous-domaine d'un nom de domaine existant sur votre serveur Gitlab. De toute façon, il sera plus facile d’accéder à l’interface Web.
Ce guide suivra Ubuntu 16.04 LTS. C'est la dernière version de support à long terme d'Ubuntu et il est très facile de travailler avec. Debian Stretch (Stable) serait également une excellente option, et la plupart de ce guide fonctionnera également. DigitalOcean et Linode configureront votre serveur avec le système d'exploitation de votre choix. Il n'est donc pas nécessaire d'installer Ubuntu.
Installer des dépendances
Lorsque vous démarrez Ubuntu pour la première fois, il est judicieux de mettre à jour le système pour vous assurer qu'aucun correctif de sécurité n'est disponible. Allez-y et faites-le en premier.
$ sudo apt update $ sudo apt upgrade
Une fois la mise à jour terminée, vous devez installer plusieurs éléments pour que Gitlab soit lancé. Utilisez apt pour les installer aussi.
$ sudo apt installer curl serveur open -shopsfich postfix
C'est ça. Vous êtes prêt à exécuter le script d'installation Gitlab.
Installer Gitlab
Gitlab gère son propre référentiel Debian / Ubuntu. Pour activer le référentiel sur votre serveur, téléchargez et exécutez le script d'installation fourni par l'équipe Gitlab.
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Cela peut sembler beaucoup, mais il télécharge simplement le script et demande au shell de ligne de commande de l'exécuter. Le script prendra quelques secondes pour parcourir et configurer le référentiel. Une fois que cela sera fait, vous serez prêt à installer le paquet Gitlab.
$ sudo apt install gitlab-ce
Cette installation prendra quelques minutes. Gitlab est livré dans un gros paquet appelé «paquet Omnibus». Il est fourni avec tout ce dont Gitlab a besoin.
Lancer le programme d'installation
Vous devez exécuter un script de configuration pour que Gitlab soit configuré. Il est venu dans le paquet que vous venez d'installer, vous pouvez donc l'exécuter maintenant.
$ sudo gitlab-ctl reconfigure
Il faudra quelques minutes au script pour tout parcourir. Il s'agit principalement de configurer le backend de base de données pour Gitlab. Vous verrez beaucoup de migrations Ruby on Rails en cours à l'écran. Cela prendra peut-être un peu de temps, mais une fois terminé, Gitlab sera prêt à être utilisé.
La configuration initiale
Ouvrez votre navigateur Web et accédez à votre serveur Gitlab. Vous serez accueilli par une page qui vous demandera de définir un mot de passe administratif. Ceci est évidemment le mot de passe de votre compte administrateur. Par défaut, ce nom de compte est "root".
Une fois ce compte créé, vous pouvez vous y connecter ou créer un compte utilisateur, puis vous connecter. De toute façon, une fois connecté, vous aurez accès à l'intégralité du tableau de bord Gitlab pour la création et la gestion des référentiels.
Configurer SSH
Vous ne voulez pas avoir à pousser les modifications de vos projets en utilisant des mots de passe. C'est une douleur, et ce n'est pas très sécurisé. La meilleure chose à faire est de créer un SSH pour vous connecter automatiquement à partir de n’importe quel ordinateur sur lequel la clé est installée.
Les clés SSH sont très faciles à créer sous Linux et Mac. Sous Windows 10, le processus devrait être identique via l'application OpenSSH disponible.
Ouvrez un terminal et exécutez la commande suivante pour créer votre clé. Vous pouvez laisser la partie -C '' si vous voulez simplement utiliser les informations de connexion de votre ordinateur. Sinon, une adresse électronique est généralement le bon appel.
$ ssh-keygen -b 4096 -t rsa -C ''
Le processus vous guidera à travers quelques étapes. Les valeurs par défaut sont généralement bonnes et tout est assez explicite. Si vous choisissez d'associer un mot de passe à votre clé, vous aurez besoin de ce mot de passe chaque fois que vous vous connectez ou que vous effectuez une modification. Vous pouvez laisser le mot de passe vide pour ne pas en utiliser un.
Pour afficher votre clé, exécutez la commande ci-dessous. Cela va ressembler à un tas de bêtises, et c'est essentiellement le cas, mais c'est votre clé. Vous devrez le copier hors du terminal et le coller dans Gitlab.
$ cat ~ / .ssh / id_rsa.pub
De retour sur Gitlab, cliquez sur l'icône du profil en haut à droite de l'écran. Cliquez ensuite sur «Paramètres» dans le menu résultant. Dans le menu situé à gauche de la page, cliquez sur «Clés SSH».
Copiez la clé de votre terminal. Commencez après «ssh-rsa» et arrêtez-vous avant votre adresse e-mail. Alors, copiez simplement la partie absurde. Collez-le dans la grande boîte intitulée «Clé». Nommez votre clé et enregistrez-la. À partir de ce moment, vous pourrez transférer votre code dans vos référentiels sans vous connecter.
Pour SSH régulier
Vous avez déjà une clé SSH. Vous pouvez aussi bien l'utiliser pour SSH. OpenSSH a un utilitaire intégré pour pousser la clé sur votre serveur.
$ ssh-copy-id -i ~ / .ssh / id_rsa.pub _IP
Remplacez nom_serveur et SERVER_IP par votre nom d'utilisateur sur le serveur et l'adresse IP du serveur.
Essayez de vous reconnecter à votre serveur en utilisant la nouvelle clé.
$ ssh _IP
Vous devez vous connecter immédiatement sans avoir besoin d'entrer un mot de passe.
Il est également préférable de verrouiller le reste de SSH. C'est probablement l'un des points les plus faibles d'un serveur public. Ouvrez / etc / ssh / sshd_confg dans l'éditeur de texte de votre choix sur le serveur.
Il y a plusieurs choses que vous devez changer. Tout d'abord, recherchez PermitRootLogin et définissez-le sur no.
PermitRootLogin no
Ensuite, recherchez PasswordAuthentication, décommentez-le et définissez-le sur no.
Authentification par mot de passe non
Ensuite, assurez-vous que les deux lignes suivantes sont définies sur no. Ils devraient être par défaut sur Ubuntu, mais il vaut mieux vérifier.
PermitEmptyPasswords no Authentification basée sur l'hôte non
Enfin, recherchez UsePAM au bas de la configuration et définissez-le sur no too.
UsePAM no
Enregistrez et quittez votre configuration. Ensuite, redémarrez le service SSH.
$ sudo systemctl redémarrer sshd
Configurer UFW
La dernière mesure de sécurité que vous souhaiterez probablement prendre est l'installation et la configuration d'un pare-feu. Ubuntu fonctionne très bien avec le pare-feu non compliqué (UFW). C'est juste une enveloppe autour du pare-feu du noyau iptables, mais cela facilite beaucoup le travail avec le pare-feu. Allez-y et installez-le.
$ sudo apt install ufw
Une fois que vous avez installé ufw, commencez par définir les règles par défaut pour tout refuser.
$ sudo ufw default refuser l'entrée $ sudo ufw default refuser l'envoi $ sudo ufw default refuser l'envoi
Ensuite, configurez vos règles pour autoriser les services de base, y compris Git. Les commentaires ne sont là que pour information. N'essayez pas de les exécuter.
# SSH $ sudo ufw permettre dans ssh $ sudo ufw autoriser ssh # HTTP et HTTPS pour Web $ sudo ufw autoriser dans http $ sudo ufw autoriser http $ sudo ufw autoriser dans https $ sudo ufw autoriser https # NTP pour conserver le temps correct $ sudo ufw autoriser dans ntp $ sudo ufw autoriser ntp # Port 53 pour la résolution de domaine DNS $ sudo ufw autoriser dans 53 $ sudo ufw autoriser 53 # Vous n'aurez probablement pas besoin de cela # Si votre serveur utilise DHCP, débloquez 67 $ sudo ufw autoriser dans 67 $ sudo ufw autoriser 67 # Enfin, Git $ sudo ufw autoriser dans 9418 $ sudo ufw allo out 9418
Assurez-vous que tout est bon et activez le pare-feu
$ sudo ufw enable
Vous pouvez vérifier l'état de votre pare-feu avec les éléments suivants:
statut sudo ufw
C'est ça! Votre serveur Gitlab est derrière un pare-feu.
Pensées de clôture
Vous avez maintenant un serveur Gitlab en état de fonctionnement. Vous pouvez commencer à configurer des comptes d'utilisateurs et des projets via l'interface Gitlab. Gitlab est maintenant un paquet Ubuntu régulier, il sera donc mis à jour régulièrement avec apt à mesure que vous maintenez votre système à jour.
Gitlab vous fournira toute la flexibilité dont vous aurez besoin pour gérer vos propres projets et les projets plus importants pour lesquels vous pourriez travailler en équipe. C'est une plate-forme entièrement performante et robuste sur laquelle de plus en plus d'équipes commencent à compter.