So erstellen Sie einen SVN-Server unter Linux

So erstellen Sie einen SVN-Server unter Linux

1: SVN installieren

yum install -y Subversion

2. Erstellen Sie ein Lager

1: Erstellen Sie ein Lagerverzeichnis

mkdir -p /var/projekt/test

2: Ein Lager anlegen

svnadmin erstellt /var/project/test

Nach der erfolgreichen Erstellung werden die folgenden Verzeichnisse unter dem Verzeichnis /var/project/test erstellt:

drwxr-xr-x. 2 root root 51 Januar 30 13:26 conf
drwxr-sr-x. 6 root root 4096 30. Januar 13:26 db
-r--r--r--. 1 Wurzel Wurzel 2 30. Januar 13:26 Format
drwxr-xr-x. 2 root root 4096 30. Januar 13:26 Haken
drwxr-xr-x. 2 root root 39 Januar 30 13:26 Schlösser
-rw-r--r--. 1 root root 229 30. Januar 13:26 README.txt

Das Verzeichnis „conf“ ist das SVN-Konfigurationsverzeichnis, das Folgendes enthält:

-rw-r--r--. 1 root root 1080 30. Januar 13:26 authz #Berechtigungskontrolle -rw-r--r--. 1 root root 309 30. Januar 13:26 passwd #Passwortverwaltung -rw-r--r--. 1 root root 3090 30. Januar 13:26 svnserve.conf #SVN-Dienstprozesskonfiguration

Drei: SVN-Konfiguration

1: Berechtigungskonfiguration (/var/project/test/conf/authz)

#Benutzergruppierung (Admin->Administrator, Entwicklung->Entwickler, andere->andere)
[Gruppen]
admin = test1 #Administrator-Benutzer test1
Entwicklung = Test2, Test3 #Entwicklungsbenutzer Test2, Test3
other = test4,test5,test6 #andere Benutzer test4,,test5,test6
#Berechtigungskonfiguration[/]
@admin = rw #Lese- und Schreibberechtigungen des Administrators @development = rw #Lese- und Schreibberechtigungen für die Entwicklung @other = r #Andere Leseberechtigungen test7 = rw #Lese- und Schreibberechtigungen für Test7-Benutzer

2: Passwortkonfiguration (/var/project/test/conf/passwd)

#Passwortkonfiguration, das Format ist Benutzername=Passwort, das Passwort ist Klartext [Benutzer]
test1 = test1
test2 = test2
test3 = test3
test4 = test4
test5 = test5
test6 = test6
test7 = test7

3: SVN-Dienstprozesskonfiguration (/var/project/test/conf/svnserve.conf)

[allgemein]
anon-access = none #Anonyme Benutzer haben keinen Zugriff auth-access = write #Authentifizierte Benutzer können lesen und schreiben password-db = passwd #Geben Sie die Passwortdatei für die Benutzerauthentifizierung an authz-db = authz #Geben Sie die Berechtigungskonfigurationsdatei an

4: Starten Sie den SVN-Dienst (Standard-Portnummer 3690)

Kopieren Sie den Code wie folgt:
svnserve -d -r /var/project #-d Dienst im Hintergrund ausgeführt -r gibt das Arbeitsverzeichnis an, /var/project gibt das angegebene Arbeitsverzeichnis an. Beachten Sie, dass die Warehouse-Namensadresse (/var/project/test) nicht angegeben werden kann.

Starten Sie SVN durch Angabe des Ports

svnserve -d -r /var/projekt --listen-port 3691

5. Schließen Sie die Firewall oder öffnen Sie die angegebene Portnummer

1: Schalten Sie die Firewall aus

systemctl stoppe Firewall

2: Öffnen Sie die angegebene Firewall

#Öffnen Sie Port 3690 Firewall-cmd --zone=public --add-port=3690/tcp --permanent
#Konfiguration aktualisieren firewall-cmd --reload

6: Der Client stellt eine Verbindung her und lädt Dateien hoch

Verbinden von SVN unter Windows

1: Erstellen Sie ein neues Verzeichnis, klicken Sie mit der rechten Maustaste und wählen Sie svn checkout


2: Geben Sie die Linux-SVN-Adresse svn://ip:3690/Warehouse-Name in die Versionsbibliothek ein (der Warehouse-Name lautet hier nicht /var/project/test, sondern /test).


2: Geben Sie den Benutzernamen und das Passwort ein


Zu diesem Zeitpunkt können wir sehen, dass in diesem Verzeichnis eine SVN-Datei generiert wird, was darauf hinweist, dass wir eine Verbindung zum SVN-Server unter Linux hergestellt haben.

3: Dateien hochladen

Erstellen wir nun eine neue Datei test.txt und geben einige Informationen ein

(1) Klicken Sie mit der rechten Maustaste und wählen Sie „Hinzufügen“


Wählen Sie dann die Datei test.txt aus und klicken Sie auf OK. Zu diesem Zeitpunkt sehen wir ein Pluszeichen auf der Datei test.txt.


(2): Hochladen

Klicken Sie mit der rechten Maustaste und wählen Sie „Senden“


Füllen Sie die Anmerkungen aus, wählen Sie die hochzuladende Datei aus und klicken Sie auf OK


Zu diesem Zeitpunkt können wir sehen, dass sich das Pluszeichen in der Datei test.txt in ein grünes Häkchen verwandelt, was bedeutet, dass der Upload erfolgreich war.


Zu diesem Zeitpunkt stellten wir jedoch fest, dass wir die hochgeladenen Dateien nicht im Verzeichnis /var/project/test finden konnten. Warum ist das so? Wurde der Upload nicht erfolgreich durchgeführt?
Dies liegt daran, dass die hochgeladene Datei nach dem Hochladen in das SVN-Repository nicht mehr im ursprünglichen Dateiformat gespeichert wird, sondern von SVN in einem benutzerdefinierten Format in Repository-Daten komprimiert und im Repository gespeichert wird. Das SVN-Server-Repository verfügt über zwei Formate, eines ist FSFS und das andere ist BDB.
Zu diesem Zeitpunkt müssen wir den Checkout in Linux implementieren

4: Auschecken

svn checkout svn://192.168.11.201/test /data/test #svn://192.168.11.201/test gibt die auszucheckende Warehouse-Adresse an /data/test gibt das Verzeichnis an, in das die Daten ausgecheckt werden müssen


Dies liegt daran, dass wir die Dateien, die wir zuvor auf den Client hochgeladen haben, im Verzeichnis /data/test sehen können, aber jetzt tritt das Problem erneut auf. Nachdem wir die Dateien auf den Client hochgeladen haben, ist es nicht mehr möglich, sie jedes Mal auf dem Server auszuchecken. Wie können wir sie also automatisch auschecken?

5: Konfiguration automatisch auschecken

Erstellen Sie eine Post-Commit-Datei im Verzeichnis /var/project/test/hooks und fügen Sie der Post-Commit-Datei den folgenden Inhalt hinzu:

#!/bin/sh
REPOS="$1" #Warehouse REV="$2" #Versionsnummer export.UTF-8 #Kodierung SVN=/usr/bin/svn #SVN-Adresse WEB=/data/test #Zu aktualisierendes Projektverzeichnis $SVN-Update $WEB --username test1 --password test1 #--username test1 bedeutet Festlegen des Benutzernamens --password test1 bedeutet Festlegen des Passworts

Post-Commit auf ausführbar setzen

chmod +x /var/projekt/test/hooks/post-commit

Die Konfiguration des automatischen Checkouts ist nun abgeschlossen. Beachten Sie jedoch, dass Sie beim ersten Mal manuell auschecken müssen und dies später nicht mehr tun müssen. Damit ist die Einrichtung des SVN-Servers unter Linux abgeschlossen.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Eine vollständige Liste gängiger Befehle für die SVN-Versionskontrolle unter Linux
  • Detaillierte Erläuterung der SVN-Befehlszeilen-Batchoperationen unter Linux
  • Linux SVN-Server-Setup, Client-Betrieb, Sicherung und Wiederherstellung
  • So erstellen und verwenden Sie Linux svn (mit Bildern und Text)
  • So erstellen Sie einen SVN-Server unter Linux (CentOS)
  • So aktualisieren Sie unter Linux automatisch Dateien vom SVN-Server in das Webverzeichnis
  • Der Linux SVN-Server unterstützt sowohl den Apache http- als auch den Svnserve-Standalone-Servermodus und verwendet dasselbe Zugriffsberechtigungskonto
  • Detaillierte Erläuterung des Prozesses zum Konfigurieren mehrerer SVN-Repositorys auf Linux-Servern

<<:  Gründe und Lösungen für die mehrfache Ausführung der Überwachungsmethode, wenn Vue Routenänderungen überwacht

>>:  So installieren Sie mehrere mysql5.7.19 (tar.gz)-Dateien unter Linux

Artikel empfehlen

So erstellen Sie mit Harbor ein privates Docker-Repository

Inhaltsverzeichnis 1. Open-Source-Lagerverwaltung...

MYSQL Left Join-Optimierung (10 Sekunden bis 20 Millisekunden)

Inhaltsverzeichnis 【Funktionshintergrund】 [Rohes ...

Verwendung des optionalen Verkettungsoperators von JS

Vorwort Der optionale Verkettungsoperator (?.) er...

Textmodus im IE! Einführung in die Rolle von DOCTYPE

Nachdem das im vorherigen Artikel besprochene Prob...

Was sind die Vorteile von MySQL MGR?

MGR (MySQL Group Replication) ist eine neue Funkt...

Implementierung der CSS-Rahmenlängensteuerungsfunktion

Wenn die Rahmenlänge früher kleiner als der Conta...

SQL-Implementierung von LeetCode (196. Doppelte Postfächer löschen)

[LeetCode] 196.Doppelte E-Mails löschen Schreiben...

Detaillierte Erklärung des Vue-Elements plus Mehrsprachenumschaltung

Inhaltsverzeichnis Vorwort Wie wechselt man zwisc...

Vergleich zwischen Node.js und Deno

Inhaltsverzeichnis Vorwort Was ist Deno? Vergleic...

Entwickeln Sie Beispielcode für einen Taschenrechner mit nativem JavaScript

Die Hauptfunktion eines Rechners besteht darin, n...

Fehlerbehebung bei MySQL-Datenverlust

Inhaltsverzeichnis Vorwort Untersuchung vor Ort G...

Detaillierter Prozess zum Erstellen von MongoDB und MySQL mit Docker-Compose

Schauen wir uns die detaillierte Methode zum Erst...