Subversion , auch bekannt als SVN, ein Open-Source-Versionskontrollsystem. Es wird verwendet, um Quelldateien und -dokumente zu verfolgen.
Jedes Mal, wenn Sie eine Datei oder einen Ordner ändern, hinzufügen oder löschen, die Sie mit Subversion kontrollieren, übergeben Sie diese Änderungen an das Subversion-Repository, das eine neue Revision im Repository erstellt, die diese Änderungen widerspiegelt.
Wann immer Sie möchten, können Sie jederzeit zurückgehen, den Inhalt früherer Überarbeitungen ansehen und abrufen.
Dieser Beitrag hilft Ihnen bei der Einrichtung von SVN unter Debian 9 / Ubuntu 16.04 .
Wechseln Sie zum Root-Benutzer.
su -
ODER
sudo su -
Webserver installieren
Lassen Sie uns zuerst den Repository-Index aktualisieren.
apt-get update
Hier installieren wir den Apache-Server für den Zugriff auf den SVN-Server über HTTP-URLs.
apt-get install -y apache2 apache2-utils
Apache durch die Firewall zulassen (falls zutreffend).
ufw allow 80/tcp ufw reload
Überprüfen Sie den Apache-Dienst, indem Sie die folgende URL aufrufen.
http://ihre.ip.adresse.ressSie sollten die Apache2-Standardseite erhalten.

Subversion installieren
Sobald der Apache installiert ist, können Sie den folgenden Befehl ausführen, um die Apache-Subversion zu installieren.
### debian ### apt-get install -y subversion subversion-tools libapache2-mod-svn ### ubuntu ### apt-get install -y subversion subversion-tools libapache2-mod-svn libapache2-svn
Subversion konfigurieren
Erstellen Sie nach Abschluss der Installation ein Repository gemäß Ihren Anforderungen. Hier erstelle ich /var/lib/svn als Basis und werde darin ein „testrepo“-Repository erstellen.
mkdir /var/lib/svn
Erstellen Sie das Repository mit dem Namen „testrepo“
svnadmin create /var/lib/svn/testrepo
Ändern Sie die Berechtigung des Repositorys, damit Apache Daten lesen und darauf schreiben kann.
chown -R www-data:www-data /var/lib/svn/testrepo/
Virtuellen Host in Apache konfigurieren.
nano /etc/apache2/mods-enabled/dav_svn.conf
Platzieren Sie den folgenden Inhalt.
<Location /svn> DAV svn SVNParentPath /var/lib/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location>
Erstellen Sie eine Kennwortdatei für den Benutzer. Ersetzen Sie raj durch Ihren Benutzernamen .
htpasswd -cm /etc/apache2/dav_svn.passwd raj
Starten Sie den Apache-Server neu.
systemctl restart apache2
Subversion testen
Greifen Sie mit einem Browser auf das SVN zu , URL lautet
http://your-ip-add.ress/svn/testrepoSie werden aufgefordert, den Benutzernamen und das Passwort einzugeben.

Nach erfolgreicher Anmeldung wird der Inhalt wie unten aufgeführt.

Erstellen Sie ein Verzeichnis namens „checkout“
mkdir checkout
Checken Sie die im Repository enthaltenen Dateien in das Testverzeichnis aus. Ersetzen Sie raj durch Ihren Benutzernamen .
svn checkout http://192.168.1.10/svn/testrepo --username raj checkout/
Die Ausgabe sieht wie folgt aus.
Authentication realm: <http://192.168.1.10:80> Subversion Repository Password for 'raj': **** <-- Enter Password ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <http://192.168.1.10:80> Subversion Repository can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted, if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes <-- Store Password Checked out revision 0.

Erstellen Sie Testdateien zum Festschreiben im Testrepo-Repository.
cd checkout/ touch checkout1.txt touch checkout2.txt
Fügen Sie diese erstellten Dateien zum Festschreiben hinzu.
svn add checkout1.txt checkout2.txt
Ausgabe:
A checkout1.txt A checkout2.txt
Übertragen Sie die hinzugefügten Dateien. Sie können die Commit-Nachricht mit einem Flag -m.
erwähnensvn commit -m 'First Revision'
Ausgabe:
Adding checkout1.txt Adding checkout2.txt Transmitting file data .. Committed revision 1.
Sie können die übertragenen Dateien in einem Browser anzeigen.

Das ist alles. Sie können SVN-Clients wie TortoiseSVN für Windows und Rapidsvn für Linux verwenden.