Apache Subversion (allgemein bekannt als SVN) ist ein sehr beliebtes Open-Source-Versionskontrollsystem. Mit einem Versionskontrollsystem können Sie Änderungen an einer Datei oder einem Satz von Dateien über einen bestimmten Zeitraum aufzeichnen, sodass Sie bei Bedarf bestimmte Versionen abrufen können.
Um Versionskontrolle für Ihr Projekt zu haben, müssen Sie zuerst den SVN-Server auf Ihrem Ubuntu installieren Maschine.
Installieren von SVN Server auf Ubuntu 18.04 LTS
Hier werden wir die Apache-Subversion auf Ubuntu 18.04 LTS installieren und konfigurieren.
Schritt 1. Apache installieren
Bevor wir mit der Installation fortfahren, lassen Sie uns zuerst das Repository aktualisieren.
sudo apt-get update
sudo apt-get install apache2
Überprüfen Sie den Apache-Status.
sudo systemctl status apache2
Wenn der Dienst noch nicht gestartet ist, dann .starten Sie Apache.
sudo systemctl start apache2
Apache beim Systemstart aktivieren.
sudo systemctl enable apache2
Überprüfen Sie die Apache-Installation. Öffnen Sie einfach Ihren Webbrowser und geben Sie die Webserver-IP oder den Hostnamen ein. Wenn Sie die Apache-Standardseite sehen können, war die Apache-Installation erfolgreich.
Schritt 2. Apache Subversion installieren
Subversion und benötigte Pakete installieren
sudo apt-get install subversion libapache2-mod-svn
Nach der Installation aktiviert es automatisch die benötigten SVN-Module (dav_module , dav_svn_module, authz_svn_module ).
Listen Sie die aktivierten Module auf
sudo apachectl -M
Wenn SVN-Module nicht aktiviert sind. Führen Sie die folgenden Befehle aus und aktivieren Sie sie
sudo a2enmod dav
sudo a2enmod dav_svn
sudo a2enmod authz_svn
Nach dem Aktivieren dieser Module müssen wir den Apache-Dienst neu starten.
sudo service apache2 restart
Schritt 3. Konfigurieren Sie Apache Subversion
Jetzt werden wir das SVN-Repository erstellen. Hier verwenden wir das Verzeichnis „/opt“, um unser Repository zu erstellen.
SVN-Verzeichnis erstellen.
sudo mkdir -p /opt/svn
SVN-Repository erstellen. Hier erstellen wir ein Repository namens „fosslinuxrepo“
sudo svnadmin create /opt/svn/fosslinuxrepo
Besitzer des Repositorys ändern.
sudo chown -R www-data:www-data /opt/svn/fosslinuxrepo/
Berechtigungen des Repositorys ändern.
sudo chmod -R 775/ opt/svn/fosslinuxrepo
Fügen Sie Subversion-Benutzer hinzu. Hier erstellen wir eine Passwortdatei im Verzeichnis „/etc“.
sudo htpasswd -cm /etc/svn-auth-users fosslinux
Erstellen Sie den zweiten Benutzer.
sudo htpasswd -m /etc/svn-auth-users fosslinux2
Erstellen Sie eine virtuelle Apache-Hostdatei für SVN – dazu müssen wir zuerst das Verzeichnis in „/etc/apache2/sites-available/“ ändern
cd /etc/apache2/sites-available/
Erstellen Sie eine virtuelle Hostdatei und hier erstellen wir eine Datei namens „fosslinuxsvn.conf“.
sudo vim fosslinuxsvn.conf
Folgende Zeilen zur Datei hinzufügen.
<VirtualHost *:80> ServerName svn.fosslinux.com ServerAlias svn.fosslinux.com <Location /svn> DAV svn SVNParentPath /opt/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/svn-auth-users Require valid-user </Location> ErrorLog ${APACHE_LOG_DIR}/svn.fosslinux.com-error.log CustomLog ${APACHE_LOG_DIR}/svn.fosslinux.com-access.log combined </VirtualHost>
Ändern Sie „svn.fosslinux.com“ in Ihren Hostnamen.
Speichern und beenden Sie die Datei.
Deaktivieren Sie die standardmäßige virtuelle Hostdatei.
sudo a2dissite 000-default.conf
Neu erstellte virtuelle Hostdatei aktivieren.
sudo a2ensite fosslinuxsvn.conf
Überprüfen Sie die Apache-Syntax.
sudo apachectl -t
Starten Sie dann Apache neu.
sudo systemctl restart apache2
Schritt 4. Testen Sie die konfigurierte Apache-Subversion
Öffnen Sie den Webbrowser, geben Sie die Repo-URL ein und drücken Sie die Eingabetaste.
http://svn.fosslinux.com/svn/fosslinuxrepo/
Ersetzen Sie sv.fosslinux.com durch Ihren Hostnamen.
Wenn Sie den Authentifizierungs-Popup-Bildschirm erhalten, geben Sie den bereits erstellten Benutzernamen und das Passwort ein, um auf das SVN-Repository zuzugreifen.
Jetzt können Sie das erstellte Repository sehen.
Lassen Sie uns nun ein Projekt namens „RnD_works“ im Repository erstellen.
svn mkdir file:///opt/svn/fosslinuxrepo/RnD_works -m "added RnD_works repository"
svn mkdir file:///opt/svn/fosslinuxrepo/RnD_works/trunk -m "added RnD_works trunk repository"
svn mkdir file:///opt/svn/fosslinuxrepo/RnD_works/branches -m "added RnD_works branches repository"
svn mkdir file:///opt/svn/fosslinuxrepo/RnD_works/tags -m "added RnD_works tags repository"
Lassen Sie uns prüfen, ob dieses neue Projekt im Repository angezeigt werden kann.
Klicken und öffnen Sie „RnD_works“
Wenn Sie ein erstelltes Projekt löschen möchten, können Sie den folgenden Befehl verwenden, um es zu löschen.
svn delete file:///opt/svn/fosslinuxrepo/RnD_works -m "delete RnD_works repository"
Schritt 5. Repository-Sicherung planen
Erstellen Sie einen Sicherungsordner.
sudo mkdir -p /etc/backcups
Ändern Sie den Benutzer zum Root-Benutzer.
sudo su -
Crontab bearbeiten.
crontab -e
Im folgenden Befehl planen wir svn backup jeden Tag um Mitternacht ein.
0 0 * * * svnadmin dump /opt/svn/fosslinuxrepo > /etc/backcups/svnbackups-$(date +%Y%m%d).dump
Dann speichern und beenden.
Schritt 6. Repository wiederherstellen
Wenn Sie das SVN-Repository aus der Sicherungsdatei wiederherstellen müssen, verwenden Sie die folgenden Befehle.
Erstellen Sie ein neues Repository.
svnadmin create /opt/svn/restorerepo
Sicherung wiederherstellen:
svnadmin load /opt/svn/restorerepo < /etc/backups/svnbackups-20190204.dump
Das ist alles. Wir hoffen, dieser Artikel hat Ihnen geholfen, Subversion erfolgreich zu konfigurieren. Wenn Sie Fragen oder Kommentare haben, besuchen Sie bitte den Kommentarbereich unten.