Apache-Subversion , auch bekannt als SVN, ein Open-Source-Versionskontrollsystem, das verwendet wird, um Quelldateien und -dokumente zu verfolgen.
Wann immer Sie eine Datei oder einen Ordner hinzufügen, löschen oder ändern, die Sie mit Subversion kontrollieren, übergeben Sie diese Unterschiede an das Subversion-Repository, das eine neue Revision im Subversion-Repository erstellt, die diese Änderungen widerspiegelt.
Sie können jederzeit zurückgehen, den Inhalt früherer Überarbeitungen anzeigen und abrufen.
Dieser Beitrag hilft Ihnen bei der Installation von Apache SVN auf Ubuntu 18.04 .
Wechseln Sie zum Root-Benutzer.
su -
ODER
sudo su -
Webserver installieren
Lassen Sie uns zuerst den Repository-Index aktualisieren.
apt update
Hier installieren wir den Apache-Server für den Zugriff auf den SVN-Server über HTTP-URLs.
apt install -y apache2 apache2-utils
Überprüfen Sie den Apache-Dienst, indem Sie die folgende URL aufrufen.
http://ihre.ip.adresse.ressSie sollten die Standardseite von Apache2 erhalten.
Installieren Sie Apache Subversion
Einmal der Apache Webserver installiert ist, können Sie fortfahren und Apache subversion installieren .
apt -y install subversion subversion-tools libapache2-mod-svn
Apache Subversion konfigurieren
Erstellen Sie nun ein Repository gemäß Ihren Anforderungen. Hier erstelle ich /opt/svn als Basis und werde darin ein „testrepo“-Repository erstellen.
mkdir /opt/svn
Erstellen Sie das Repository namens „testrepo “.
svnadmin create /opt/svn/testrepo
Ändern Sie die Berechtigung des Repositorys, damit Apache Daten lesen und darauf schreiben kann.
chown -R www-data:www-data /opt/svn/testrepo/
Konfigurieren Sie einen virtuellen Host in Apache für SVN.
nano /etc/apache2/mods-enabled/dav_svn.conf
Platzieren Sie den folgenden Inhalt.
<Location /svn> DAV svn SVNParentPath /opt/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
Apache Subversion testen
Greifen Sie mit einem Browser auf Apache SVN zu .
http://your-ip-add.ress/svn/testrepoAuthentifizieren Sie sich mit Benutzername und Passwort.
Nach erfolgreicher Anmeldung erhalten Sie die Seite wie unten.
Erstellen Sie ein Verzeichnis mit dem Namen “checkout “.
mkdir checkout
Checken Sie die im Verzeichnis enthaltenen Dateien in das Testing-Repository 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 Nachrichten mit einem Flag -m hinzufügen .
svn 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.
Sie können SVN-Clients wie TortoiseSVN verwenden für Windows und RapidSVN für Linux, Revisionen zu verwalten.
Das ist alles.