Git

Konfigurieren Sie Git Server mit HTTP auf CentOS 8

Konfigurieren Sie Git Server mit HTTP auf CentOS 8
In diesem Artikel zeige ich Ihnen, wie Sie den Git Smart HTTP-Server auf CentOS 8 konfigurieren, um Ihre Git-Repositorys privat zu hosten. Also lasst uns anfangen.

Git und Apache HTTP-Server installieren:

Aktualisieren Sie zunächst den CentOS 8-Paket-Repository-Cache mit dem folgenden Befehl:

$ sudo dnf makecache

Installieren Sie nun Git, Apache HTTP-Server und Apache-Tools mit dem folgenden Befehl:

$ sudo dnf install git httpd httpd-tools

Jetzt drücken Ja und drücke dann um die Installation zu bestätigen.

Git, Apache und erforderliche Apache-Tools sollten installiert sein.

Konfigurieren des Apache HTTP-Servers:

In diesem Abschnitt zeige ich Ihnen, wie Sie den Apache-Server für den Zugriff auf Git-Repositorys über das HTTP-Protokoll konfigurieren.

Erstellen Sie zuerst eine neue Konfigurationsdatei /etc/httpd/conf.d/git.conf mit folgendem Befehl:

$ sudo vi /etc/httpd/conf.d/git.conf

Fügen Sie nun die folgenden Zeilen zur Konfigurationsdatei hinzu /etc/httpd/conf.d/git.conf:


SetEnv GIT_PROJECT_ROOT /var/www/git
SetEnv GIT_HTTP_EXPORT_ALL
DocumentRoot /var/www/git
ScriptAlias ​​/ /usr/libexec/git-core/git-http-backend/
 

Optionen +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AllowOverride None
Fordern Sie alle gewährten


Dav On
Optionen Indizes FollowSymLinks
AllowOverride None
Fordern Sie alle gewährten

Die endgültige Konfigurationsdatei sollte wie folgt aussehen. Speichern Sie nun die Konfigurationsdatei.

Erstellen Sie nun die GIT_PROJECT_ROOT Verzeichnis /var/www/git mit folgendem Befehl:

$ sudo mkdir /var/www/git

Konfigurieren Sie nun SELinux für die /var/www/git Verzeichnis mit folgendem Befehl:

$ sudo semanage fcontext -m -t httpd_sys_rw_content_t
"/var/www/git(/.*)?"

Führen Sie den folgenden Befehl aus, damit die SELinux-Änderungen wirksam werden:

$ sudo restorecon -Rv /var/www/git

Starten Sie nun den Apache HTTP-Serverdienst mit dem folgenden Befehl neu:

$ sudo systemctl Neustart httpd

Fügen Sie außerdem den Apache HTTP-Serverdienst mit dem folgenden Befehl zum CentOS 8-Systemstart hinzu:

$ sudo systemctl aktivieren httpd

Erlauben Sie nun den HTTP-Port (80) mit dem folgenden Befehl durch die Filewall:

$ sudo Firewall-cmd --add-service=http --permanent

Damit die Änderungen wirksam werden, laden Sie die Firewall wie folgt neu:

$ sudo Firewall-cmd --reload

Schreiben eines Skripts zum Erstellen von HTTP-zugänglichen Git-Repositorys einfacher:

Um das Erstellen von HTTP-zugänglichen Git-Repositorys zu erleichtern, habe ich ein einfaches Shell-Skript geschrieben, mit dem Sie viel wertvolle Zeit sparen können save.

Wenn Sie mein Skript verwenden möchten, erstellen Sie eine neue Datei im Pfad /usr/sbin/git-crate-repo mit folgendem Befehl:

$ sudo vi /usr/sbin/git-create-repo

Geben Sie dann die folgenden Codezeilen in die neu erstellte Datei ein /usr/sbin/git-crate-repo.

#!/bin/bash
GIT_DIR="/var/www/git"
REPO_NAME=$1
mkdir -p "$GIT_DIR/$REPO_NAME.Scheiße"
cd "$GIT_DIR/$REPO_NAME.Scheiße"
git init --bare &> /dev/null
touch git-daemon-export-ok
cp-Hooks/Post-Update.Beispiel-Hooks/Post-Update
git config http.Empfangspaket wahr
git config http.Uploadpack wahr
git update-server-info
chown -Rf apache:apache "$GIT_DIR/$REPO_NAME.Scheiße"
echo "Git-Repository '$REPO_NAME' erstellt in $GIT_DIR/$REPO_NAME.Scheiße"

So sieht das endgültige Shell-Skript aus. Wenn Sie fertig sind, speichern Sie die Datei.

Fügen Sie nun dem Shell-Skript eine ausführbare Berechtigung hinzu /usr/sbin/git-create-repo mit folgendem Befehl:

$ sudo chmod +x /usr/sbin/git-create-repo

Erstellen Sie HTTP-zugängliche Git-Repositorys:

Jetzt können Sie ein neues HTTP-zugängliches Git-Repository erstellen (nennen wir es Prüfung) mit folgendem Befehl:

$ sudo git-create-repo test

Ein neues über HTTP zugängliches Git-Repository Prüfung sollte verpackt werden.

Zugriff auf die Git-Repositorys vom Git-Server aus:

Um auf die Git-Repositorys zuzugreifen, die Sie auf Ihrem CentOS 8-Git-Server erstellt haben, benötigen Sie die IP-Adresse des CentOS 8-Git-Servers und den Git-Repository-Namen.

Der Git-Server-Administrator kann die IP-Adresse des Git-Servers mit folgendem Befehl ermitteln:

$ nmcli

In meinem Fall ist die IP-Adresse 192.168.20.129. Bei dir wird es anders sein. Stellen Sie also sicher, dass Sie es von nun an durch Ihres ersetzen.

Sobald der Git-Serveradministrator die IP-Adresse gefunden hat, kann er sie an die Benutzer/Entwickler senden, die auf dem Git-Server gehostete Git-Repositorys verwenden werden. Dann können die Benutzer/Entwickler auf ihre gewünschten Git-Repositorys zugreifen.

Zum Beispiel, wenn Bob möchte das Git-Repository klonen Prüfung vom Git-Server aus kann er dies wie folgt tun:

$ git-Klon http://192.168.20.129/test.git

Das Git-Repository Prüfung sollte vom Git-Server geklont werden.

Ein neues Verzeichnis Prüfung/ sollte im aktuellen Arbeitsverzeichnis von bob . erstellt werden.

Jetzt kann Bob zum navigieren Prüfung/ Verzeichnis wie folgt:

$ CD-Test/

Jetzt erstellt Bob eine neue Datei Botschaft.TXT im Git-Repository.

$ echo 'hallo von linuxhint' >> Nachricht.TXT

Bob übernimmt die Änderungen.

$ git hinzufügen .

$ git commit -m 'erster Commit'

Bob bestätigt, ob die Änderungen im Repository festgeschrieben wurden.

$ git log --oneline

Jetzt lädt Bob die Änderungen auf den Git-Server hoch.

$ git push origin

Ein anderer Entwickler (sagen wir shovon) wer möchte dazu beitragen Prüfung Git-Repository kann auch das klonen Prüfung Repository vom Git-Server.

$ git-Klon http://192.168.20.129/test.git

Shovon navigiert zum Prüfung/ Verzeichnis.

$ CD-Test/

Shovon findet das Commit, das Bob gemacht hat.

Jetzt ändert Shovon die Nachricht.txt-Datei.

$ echo 'shovon hat einige neue Texte hinzugefügt' >> Nachricht.TXT

Bestätigt die Änderungen.

$ git hinzufügen .

$ git commit -m 'neue Nachricht hinzugefügt'

Shovon bestätigt, ob die Änderungen an das Repository übertragen wurden.

$ git log --oneline

Shovon lädt die Änderungen auf den Git-Server hoch.

$ git push origin

Jetzt zieht Bob die Änderungen vom Git-Server.

$ git pull

Bob findet das neue Commit.

$ git log --oneline

Bob findet die Änderungen, die Shovon an der Nachricht vorgenommen hat.txt-Datei.

So können Sie Git-Repositorys vom Git-HTTP-Server verwenden.

Hinzufügen der Benutzerauthentifizierung zum Git-Server:

Wenn Sie die Benutzerauthentifizierung zu serverweiten Git-Repositorys oder bestimmten Git-Repositorys hinzufügen möchten, lesen Sie den Artikel Configure Git Server with HTTP on Ubuntu.

So konfigurieren Sie Git Smart HTTP Server auf CentOS 8 und verwenden Git-Repositorys vom Git-Server. Danke, dass du diesen Artikel gelesen hast.

So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...
Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...
Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...