Konfigurieren Sie den Git -Server mit HTTP auf CentOS 8

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

Installieren von Git- und Apache -HTTP -Server:

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 Installieren Sie Git httpd httpd-tools

Jetzt drücken Y und dann drücken Sie Um die Installation zu bestätigen.

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

Konfigurieren von Apache HTTP Server:

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

Erstellen Sie zunächst eine neue Konfigurationsdatei /etc/httpd/conf.D/Git.Conf mit dem folgenden 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 +execgi -multiviews +symlinkSifownermatch
NichtsRide keine
Alle gewährt


Dav on
Optionsindizes folgt
NichtsRide keine
Alle gewährt

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 dem folgenden Befehl:

$ sudo mkdir/var/www/git

Konfigurieren Sie nun Selinux für die /var/www/git Verzeichnis mit dem folgenden 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 sollen:

$ sudo restorecon -rv/var/www/git

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

$ sudo systemctl starten Sie HTTPD neu starten

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

$ sudo systemctl aktivieren httpd

Lassen Sie nun den HTTP -Port (80) mit dem folgenden Befehl durch die Dateiwall zu

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

Laden Sie die Firewall wie folgt nach:

$ sudo firewall-cmd-Reload

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

Um das Erstellen von HTTP -zugänglichen Git -Repositories zu vereinfachen, habe ich ein einfaches Shell -Skript geschrieben, mit dem Sie viel Ihrer wertvollen Zeit sparen können.

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

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

Geben Sie dann die folgenden Codes -Zeilen in der neu erstellten Datei ein /usr/sbin/git-crate-repo.

#!/Bin/Bash
Git_dir = "/var/www/git"
Repo_name = $ 1
mkdir -p "$ git_dir/$ repo_name.Git "
CD "$ git_dir/$ repo_name.Git "
git init -bar &> /dev /null
Berühren Sie Git-Daemon-Export-OK
CP-Hooks/Post-Update.Probenhaken/Post-Update
GIT -Konfiguration HTTP.empfangenpack true
GIT -Konfiguration HTTP.Uploadpack true
Git Update-Server-Info
Chown -rf Apache: apache "$ git_dir/$ repo_name.Git "
echo "git repository '$ repo_name' erstellt in $ git_dir/$ repo_name.Git "

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

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

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

Erstellen Sie HTTP -zugängliche Git -Repositories:

Jetzt können Sie ein neues HTTP -zugängliches Git -Repository erstellen (nennen wir es prüfen) mit dem folgenden Befehl:

$ sudo git-create-Repo-Test

Ein neues HTTP -zugänglicher Git -Repository prüfen sollte ingeschickt sein.

Zugriff auf die Git -Repositorys vom Git -Server:

Um auf die Git -Repositories zuzugreifen, die Sie auf Ihrem Centos 8 Git -Server erstellt haben.

Der GIT -Serveradministrator kann die IP -Adresse des Git -Servers mit dem folgenden Befehl finden:

$ nmcli

In meinem Fall ist die IP -Adresse 192.168.20.129. Es wird für Sie anders sein. Stellen Sie also sicher, dass Sie es von nun an durch Ihre ersetzen.

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

Zum Beispiel wenn Bob will das Git -Repository klonen prüfen Aus dem Git -Server kann er dies wie folgt tun:

$ git klone http: // 192.168.20.129/Test.Git

Das Git -Repository prüfen sollte aus dem Git -Server kloniert werden.

Ein neues Verzeichnis prüfen/ sollte im aktuellen Arbeitsverzeichnis von Bob erstellt werden.

Jetzt kann Bob zum Navigieren zur prüfen/ Verzeichnis wie folgt:

$ cd Test/

Jetzt erstellt Bob eine neue Datei Nachricht.txt im Git -Repository.

$ echo 'Hallo aus LinuxHint' >> Nachricht.txt

Bob begeht die Änderungen.

$ git add .
$ git Commit -m 'Erstes Commit' '

Bob bestätigt, ob die Änderungen am Repository verpflichtet wurden.

$ Git -Protokoll -Einmal

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

$ Git Push Origin

Ein anderer Entwickler (sagen wir, sagen wir Shovon) Wer will zum beitragen prüfen Das Git -Repository kann auch das klonen prüfen Repository aus dem Git -Server.

$ git klone http: // 192.168.20.129/Test.Git

Shovon navigiert zur prüfen/ Verzeichnis.

$ cd Test/

Shovon findet das Commit, das Bob gemacht hat.

Jetzt ändert Shovon die Nachricht.TXT -Datei.

$ echo 'Shovon fügte einige neue Texte hinzu' >> Nachricht.txt

Begeht die Änderungen.

$ git add .
$ Git Commit -m 'fügte eine neue Nachricht hinzu.'

Shovon bestätigt, ob die Änderungen am Repository verpflichtet wurden.

$ Git -Protokoll -Einmal

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

$ Git Push Origin

Jetzt zieht Bob die Änderungen vom Git -Server.

$ git ziehen

Bob findet das neue Commit.

$ Git -Protokoll -Einmal

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

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

Hinzufügen von Benutzerauthentifizierung zu Git Server:

Wenn Sie serverweite Git -Repositories oder bestimmte Git -Repositories zu einer Benutzerauthentifizierung hinzufügen möchten, überprüfen Sie den Artikel Configure Git Server mit HTTP auf Ubuntu.

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