Installation du serveur GIT et Apache HTTP:
Tout d'abord, mettez à jour le cache du référentiel de package CENTOS 8 avec la commande suivante:
$ sudo dnf makecache
Maintenant, installez les outils Git, Apache HTTP Server et Apache avec la commande suivante:
$ sudo dnf installer git httpd httpd-tools
Maintenant, appuyez sur Y Et puis appuyez sur Pour confirmer l'installation.
Git, Apache et les outils Apache requis doivent être installés.
Configuration du serveur Apache HTTP:
Dans cette section, je vais vous montrer comment configurer le serveur Apache pour accéder aux référentiels GIT sur le protocole HTTP.
Tout d'abord, créez un nouveau fichier de configuration / etc / httpd / confre.d / git.confli avec la commande suivante:
$ sudo vi / etc / httpd / confre.d / git.confli
Maintenant, ajoutez les lignes suivantes au fichier de configuration / etc / httpd / confre.d / git.confli:
Setenv git_project_root / var / www / git
Setenv git_http_export_all
Documentroot / var / www / git
Scriptalias / / usr / libexec / git-core / git-http-backend /
Options + EXECCGI -MultiViews + SymLinkSifownMatch
Autoverride Aucun
Exiger tous les accords
Dav sur
Les index d'options suivent
Autoverride Aucun
Exiger tous les accords
Le fichier de configuration final doit ressembler comme suit. Maintenant, enregistrez le fichier de configuration.
Maintenant, créez le Git_project_root annuaire / var / www / git avec la commande suivante:
$ sudo mkdir / var / www / git
Maintenant, configurez selinux pour le / var / www / git Répertoire avec la commande suivante:
$ sudo semanage fcontext -m -t httpd_sys_rw_content_t
"/ var / www / git (/.*)?"
Pour que les modifications de Selinux prennent effet, exécutez la commande suivante:
$ sudo restorecon -rv / var / www / git
Maintenant, redémarrez le service APACH HTTP Server avec la commande suivante:
$ sudo systemctl redémarrer httpd
Ajoutez également le service APACH HTTP Server au démarrage du système CentOS 8 avec la commande suivante:
$ sudo systemctl activer httpd
Maintenant, permettez le port HTTP (80) via le fichier Wall avec la commande suivante:
$ sudo Firewall-CMD --Add-Service = HTTP - Permanent
Pour que les changements prennent effet, rechargez le pare-feu comme suit:
$ sudo Firewall-CMD - Reload
Rédaction d'un script pour créer des référentiels GIT accessibles HTTP plus facilement:
Pour faciliter la création de référentiels Git accessibles HTTP, j'ai écrit un simple script de shell que vous pouvez utiliser pour économiser beaucoup de votre temps précieux.
Si vous souhaitez utiliser mon script, créez un nouveau fichier dans le chemin / usr / sbin / git-crat-repo avec la commande suivante:
$ sudo vi / usr / sbin / git-créate-repo
Puis saisissez les lignes de codes suivantes dans le fichier nouvellement créé / usr / sbin / git-crat-repo.
#!/ bac / bash
Git_dir = "/ var / www / git"
Repo_name = 1 $
mkdir -p "$ git_dir / $ repo_name.git "
cd "$ git_dir / $ repo_name.git "
git init --bare &> / dev / null
toucher git-daemon-export-ok
CP CP / post-mise à jour.Exemples de crochets / post-mise à jour
git config http.reçoire-toi vrai
git config http.uploadPack True
Git Update-Server-Info
chown -rf apache: apache "$ git_dir / $ repo_name.git "
echo "git Repository '$ repo_name' créé dans $ git_dir / $ repo_name.git "
C'est à quoi ressemble le script de shell final. Une fois que vous avez terminé, enregistrez le fichier.
Maintenant, ajoutez une autorisation exécutable au script shell / usr / sbin / git-créate-repo avec la commande suivante:
$ sudo chmod + x / usr / sbin / git-créate-repo
Créer des référentiels GIT accessibles à HTTP:
Maintenant, vous pouvez créer un nouveau référentiel GIT accessible HTTP (appelons-le test) avec la commande suivante:
$ sudo git-créate-repo
Un nouveau référentiel GIT accessible HTTP test devrait être mis en caisse.
Accéder aux référentiels GIT depuis le serveur GIT:
Pour accéder aux référentiels GIT que vous avez créés sur votre serveur CentOS 8 GIT, vous avez besoin de cette adresse IP du serveur CentOS 8 GIT et du nom du référentiel GIT.
L'administrateur GIT Server peut trouver l'adresse IP du serveur GIT avec la commande suivante:
$ nmcli
Dans mon cas, l'adresse IP est 192.168.20.129. Ce sera différent pour vous. Alors, assurez-vous de le remplacer par le vôtre à partir de maintenant.
Une fois que l'administrateur du serveur GIT a trouvé l'adresse IP, il peut l'envoyer aux utilisateurs / développeurs qui utiliseront les référentiels Git hébergés sur le serveur GIT. Ensuite, les utilisateurs / développeurs peuvent accéder aux référentiels GIT souhaités.
Par exemple, si bob veut cloner le référentiel git test À partir du serveur GIT, il peut le faire comme suit:
$ git clone http: // 192.168.20.129 / test.git
Le référentiel Git test devrait être cloné à partir du serveur GIT.
Un nouveau répertoire test/ devrait être créé dans le répertoire de travail actuel de Bob.
Maintenant, Bob peut naviguer vers le test/ Répertoire comme suit:
$ cd test /
Maintenant, Bob crée un nouveau fichier message.SMS Dans le référentiel Git.
$ echo 'bonjour de Linuxhint' >> Message.SMS
Bob commet les changements.
$ git add .
$ git commit -m 'initial commit'
Bob confirme si les modifications ont été engagées dans le référentiel.
$ Git Log --Oneline
Maintenant, Bob télécharge les modifications au serveur GIT.
$ git push origine
Un autre développeur (disons bousculade) Qui veut contribuer au test Le référentiel Git peut également cloner le test Référentiel du serveur GIT.
$ git clone http: // 192.168.20.129 / test.git
Shovon navigue vers le test/ annuaire.
$ cd test /
Shovon trouve l'engagement que Bob a fait.
Maintenant, Shovon change le message.fichier txt.
$ echo 'shovon a ajouté de nouveaux textes' >> Message.SMS
Commet les changements.
$ git add .
$ git commit -m 'a ajouté un nouveau message'
Shovon confirme si les modifications ont été engagées dans le référentiel.
$ Git Log --Oneline
Shovon télécharge les modifications au serveur GIT.
$ git push origine
Maintenant, Bob tire les modifications du serveur GIT.
$ git pull
Bob trouve le nouvel engagement.
$ Git Log --Oneline
Bob trouve les modifications que Shovon a apportées au message.fichier txt.
C'est ainsi que vous pouvez utiliser les référentiels GIT à partir du serveur GIT HTTP.
Si vous souhaitez ajouter une authentification de l'utilisateur aux référentiels GIT larges du serveur ou à des référentiels GIT spécifiques, consultez l'article Configurer le serveur Git avec HTTP sur Ubuntu.
C'est donc ainsi que vous configurez Git Smart HTTP Server sur CentOS 8 et utilisez des référentiels GIT à partir du serveur GIT. Merci d'avoir lu cet article.