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
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/bashGIT_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:
$ nmcliIn 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.