So erstellen Sie einen Git-Dienst basierend auf dem HTTP-Protokoll auf VMware+CentOS 8

So erstellen Sie einen Git-Dienst basierend auf dem HTTP-Protokoll auf VMware+CentOS 8

1. Ursache

Nicht zu verpassen

Das ultimative Ziel dieses Artikels ist es, Android-Terminals den Zugriff auf den Git-Dienst in der virtuellen Maschine zu ermöglichen. Daher ist es notwendig, einen Git-Server mit HTTP-Protokoll zu erstellen. Wie man einen Git-Server mit HTTP-Protokoll erstellt, wurde von Vorgängern beschrieben. Der Autor greift hier auf die Arbeit der Vorgänger zurück.

2. Geräteinformationen

Windows 10 Home Chinese Edition (1903) VMware 15Pro (15.5.0 Build-14665864) CentOS 8 (1905 hat die GUI geschlossen, VMware verwendet den NAT-Modus)

3. Vorbereitung

1. Öffnen Sie Port 80 in der Windows-Firewall. Systemsteuerung -> System und Sicherheit -> Windows Defender Firewall. Klicken Sie auf Erweiterte Einstellungen -> Klicken Sie auf Eingehende Regeln -> Neue Regel. Ändern Sie den zu erstellenden Regeltyp in Port. Stellen Sie ihn wie in der Abbildung gezeigt ein.

Bildbeschreibung hier einfügen

Wählen Sie Verbindung zulassen und folgen Sie den Anweisungen zur Einrichtung

Bildbeschreibung hier einfügen

Namenseinstellung: Klicken Sie auf Ausgehende Regeln -> Neue Regel erstellen. Die nachfolgenden Schritte entsprechen den obigen Einstellungen für eingehende Regeln.

2. Deaktivieren Sie SELinux

Öffnen Sie die Selinux-Konfigurationsdatei

vi /etc/selinux/config

Ändern Sie den Wert in SELINUX=disabled und starten Sie centOS neu, um SELinux dauerhaft zu deaktivieren.

Notiz:

1. SELinux hat 3 Zustände: Erzwingen, Zulassen und Deaktiviert. 2. Befehl zum Anzeigen des aktuellen Zustands: getenforcing. 3. Befehl zum vorübergehenden Herunterfahren: setenforce 0. 4. Vorübergehend aktivieren: setenforce 1 (kann nicht zum Aktivieren nach einem dauerhaften Herunterfahren verwendet werden).

(III) Ändern Sie den virtuellen Netzwerkeditor. Klicken Sie in der VMware-Menüleiste auf Bearbeiten -> Virtueller Netzwerkeditor -> Einstellungen ändern. Klicken Sie auf VMnet8-NAT-Modus -> NAT-Einstellungen -> Hinzufügen. Stellen Sie es wie in der Abbildung gezeigt ein (die IP-Adresse der virtuellen Maschine wird über ifconfig abgefragt und die Beschreibung ist optional).

4. Installieren Sie Apache

(I) Installieren Sie httpd

yum install httpd

(II) Starten Sie den httpd-Dienst

systemctl start httpd.service

(III) Ändern Sie die Firewalld-Konfigurationsdatei und starten Sie Firewalld neu

 Firewall-cmd --zone=public --add-port=80/tcp --permanent systemctl restart firewalld.service

Wenn Sie es als störend empfinden, können Sie einfach die Firewall ausschalten

Notiz:

1. Überprüfen Sie den Firewall-Status: systemctl status firewalld 2. Schalten Sie die Firewall vorübergehend aus: systemctl stop firewalld 3. Schalten Sie die Firewall dauerhaft aus: systemctl disable firewalld 4. Starten Sie die Firewall neu: systemctl enable firewalld (mit diesem Befehl können Sie die Firewall dauerhaft einschalten)

5. Konfigurieren Sie Git

1. Erstellen Sie ein leeres Lager

mkdir -p /home/gitrepo/share.git //Das leere Repository kann in jedem beliebigen Verzeichnis eingerichtet werden cd /home/gitrepo/share.gitgit init --barechown -R apache:apache /home/gitrepo

(II) Erstellen Sie ein Konto und legen Sie Berechtigungen fest

htpasswd -m -c /etc/httpd/conf.d/git-team.htpasswd XXX //XXX ist der Kontoname und kann beliebig festgelegt werden chown apache:apache /etc/httpd/conf.d/git-team.htpasswdchmod 640 /etc/httpd/conf.d/git-team.htpasswd

6. Apache konfigurieren

1. Bearbeiten Sie die Konfigurationsdatei

vi /etc/httpd/conf/httpd.conf

Fügen Sie den folgenden Inhalt über der letzten Zeile von IncludeOptional conf.d/*.conf hinzu

<VirtuellerHost *:80>
 ServerName XXXX #centOS IP-Adresse SetEnv GIT_HTTP_EXPORT_ALL
 SetEnv GIT_PROJECT_ROOT /home/gitrepo #Dies sollte mit dem Speicherort übereinstimmen, an dem das leere Repository erstellt wird ScriptAlias ​​​​/git/ /usr/libexec/git-core/git-http-backend/
 <Standort />
 AuthType Basic
 AuthName "Git"
 AuthUserFile /etc/httpd/conf.d/git-team.htpasswd
 Gültiger Benutzer erforderlich
 </Standort>
</VirtualHost>

(II) Starten Sie httpd neu

systemctl restart httpd.service

Notiz:

1. Status des httpd-Dienstes abfragen: systemctl status httpd.service 2. Abfrage, ob der httpd-Dienst beim Booten gestartet wird: systemctl is-enabled httpd.service 3. httpd-Dienst so einstellen, dass er beim Booten startet: systemctl enable httpd.service 4. httpd-Dienst so einstellen, dass er beim Booten nicht startet: systemctl disable httpd.service

Nach Abschluss der oben genannten Vorgänge können Sie Git-Vorgänge im externen Netzwerk ausführen, z. B. Klonen

Git-Klon http://Windows_IP_Adresse/git/share.git

7. Greifen Sie vom Android-Terminal aus auf den oben genannten Git-Dienst zu

Pocket Git wird empfohlen

Downloadadresse:

Verknüpfung: https://pan.baidu.com/s/1JAUsvU-qKAg-7FJGWv2JSA

Extraktionscode: 9cgu

Bisher haben wir einen auf dem HTTP-Protokoll basierenden Git-Dienst erstellt und Pocket Git verwendet, um Dateien zwischen Android und CentOS 8 auf dem Computer zu übertragen.

Zusammenfassen

Oben ist die vom Herausgeber vorgestellte Methode zum Erstellen eines auf dem HTTP-Protokoll basierenden Git-Dienstes unter VMware+CentOS 8. Ich hoffe, sie ist für alle hilfreich!

Das könnte Sie auch interessieren:
  • Verwenden von SpringBoot+OkHttp+fastjson zum Implementieren der OAuth-Anmeldung von Drittanbietern bei Github
  • So stellen Sie unter Linux über https eine Verbindung zu Git her, ohne jedes Mal ein Kennwort eingeben zu müssen

<<:  Vollständiger Schrittbericht zur Vue-Kapselung allgemeiner Tabellenkomponenten

>>:  Detailliertes grafisches Tutorial zur Installation der entpackten Version von MySQL unter Windows 10

Artikel empfehlen

Webdesign: Wenn der Titel nicht vollständig angezeigt werden kann

<br />Ich habe mir heute die neu gestaltete ...

Detaillierte Erklärung der Tomcat-Verzeichnisstruktur

Inhaltsverzeichnis Verzeichnisstruktur bin-Verzei...

Detaillierte Erklärung der Lösung für das Nginx-Panikproblem

In Bezug auf das Nginx-Panikproblem müssen wir zu...

So verhindern Sie, dass sich vsftpd-Benutzer über SSH anmelden

Vorwort vsftp ist eine benutzerfreundliche und si...

MySQL-Kill-Befehl – ​​Verwendungshandbuch

KILL [VERBINDUNG | ABFRAGE] Prozesslisten-ID In M...

Vue implementiert das gleichzeitige Einstellen mehrerer Countdowns

In diesem Artikelbeispiel wird der spezifische Co...

Einführung in den vollständigen Namen und die Funktion von HTML-Tags

Alphabetisch DTD: Gibt an, in welcher XHTML 1.0 D...