Apprendre Git avancé | Mise en place du serveur
Table des matières:
En ce qui concerne l'hébergement Git, vous disposez d'un certain nombre d'options. GitHub, Gitlab et Bitbucket sont des solutions populaires, mais exécuter votre propre serveur Git est une alternative à considérer.
La configuration d'un serveur Git vous permet de créer des référentiels privés sans les restrictions des plans gratuits des fournisseurs.
Dans ce guide, nous expliquons comment configurer un serveur Git nu sous Linux. Cette configuration est bonne si vous avez peu de référentiels et que les collaborateurs sont technophiles. Sinon, vous devriez envisager d'installer une application git auto-hébergée telle que Gitea, Gogs ou Gitlab.
Le serveur Git peut être configuré sur n'importe quelle machine Linux distante ou même sur votre système local.
Configuration du serveur Git
La première étape consiste à installer Git sur votre serveur.
sudo apt update && sudo apt install git
Pour installer le package git sur les serveurs CentOS, tapez:
sudo yum install git
Ensuite, créez un nouvel utilisateur qui gérera les référentiels Git:
sudo useradd -r -m -U -d /home/git -s /bin/bash git
Le répertoire personnel de l'utilisateur est défini sur
/home/git
. Tous les référentiels seront stockés sous ce répertoire. Nous n'avons pas défini de mot de passe pour l'utilisateur «git», la connexion ne sera possible qu'en utilisant les clés ssh.
Passez à l'utilisateur «git» à l'aide de la commande
su
:
sudo su - git
Exécutez les commandes suivantes pour créer le répertoire SSH et définir les autorisations appropriées:
mkdir -p ~/.ssh && chmod 0700 ~/.ssh
Créez un fichier nommé
~/.ssh/authorized_keys
qui contiendra les clés SSH des utilisateurs autorisés:
touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys
C'est ça. La configuration du serveur est terminée. Vous êtes maintenant prêt à créer votre premier référentiel Git.
Exécutez la commande suivante pour lancer un nouveau référentiel vide:
git init --bare ~/projectname.git
Vous pouvez nommer le répertoire comme vous le souhaitez. L'important est de créer le référentiel sous le répertoire personnel de l'utilisateur «git».
Initialized empty Git repository in /home/git/projectname.git/
Configuration du référentiel Git local
Pour pouvoir envoyer les modifications git locales au serveur Git, vous devez ajouter la clé publique SSH de votre utilisateur local au fichier
authorized_keys
l'utilisateur "git" distant.
cat ~/.ssh/id_rsa.pub
La sortie doit ressembler à ceci:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]
Pour générer une nouvelle paire de clés SSH, utilisez la commande suivante:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Copiez la sortie de la commande
cat
ci-dessus et revenez à la console du serveur Git.
Sur le serveur, ouvrez votre éditeur de texte et collez la clé publique que vous avez copiée depuis votre ordinateur local dans le fichier
~/.ssh/authorized_keys
:
sudo nano /home/git/.ssh/authorized_keys
L'ensemble du texte de la clé publique doit être sur une seule ligne.
Nous supposons que le package Git est déjà installé sur votre machine locale. Sinon, installez-le de la même manière que expliqué dans les sections précédentes.
cd /path/to/local/project
Initialisez un référentiel git:
git init.
La dernière étape consiste à ajouter la télécommande git à votre référentiel local:
git remote add origin git@git_server_ip:projectname.git
N'oubliez pas de remplacer
git_server_ip
par le nom d'hôte ou l'adresse IP de votre serveur Git.
Pour vérifier que tout est correctement configuré, créez un fichier de test:
touch test_file
Ajoutez les modifications à la zone de transit:
git add.
Validez les modifications:
git commit -m "descriptive message"
Poussez les modifications du référentiel local vers un référentiel distant:
git push -u origin master
Si tout est correctement configuré, la sortie devrait ressembler à ceci:
Counting objects: 3, done. Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To git_server_ip:projectname.git * master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.
Pour ajouter un nouveau collaborateur, copiez simplement sa clé SSH publique dans le fichier
~/.ssh/authorized_keys
utilisateur «git».
Vous pouvez utiliser les mêmes étapes pour créer de nouveaux référentiels. Il est important de noter que le référentiel distant doit exister avant d'ajouter la télécommande git à votre référentiel local.
Conclusion
Dans ce didacticiel, nous vous avons montré comment configurer votre propre serveur Git privé et créer des référentiels.
Gt explique: qu'est-ce qu'un serveur FTP et comment puis-je le configurer?
Un guide complet pour comprendre les avantages et les inconvénients d'un serveur FTP et comment le configurer chez vous pour partager facilement des fichiers volumineux.
Comment configurer et utiliser le serveur FTP sur Android
Vous souhaitez transférer des fichiers de votre appareil Android vers un PC sans câble USB? Essayez la méthode du serveur FTP pour partager des fichiers entre Android et PC sans fil.
Comment installer et configurer un serveur nfs sur centos 8
Dans ce didacticiel, vous allez suivre les étapes nécessaires pour configurer un serveur NFSv4 sur CentOS 8. Nous vous montrerons également comment monter un système de fichiers NFS sur le client.