Subversion Teil 1: Server (deamon) installieren
- Oliver Schwerttner

- 17. Apr. 2023
- 2 Min. Lesezeit
Aktualisiert: 18. Apr. 2023
Nachfolgend wird beschrieben, wie man einen Subversion Server (svnserve) als eigenständigen Deamon installiert (ohne Apache Webserver).
Diese Art der Installation wird idR. innerhalb von Unternehmenskonfigurationen verwendet, ua. weil sich der SVN-Deamon dann speziell auf die Server-Hardware anpassen lässt (Stichwort Thread-Management) und weil man den SVN-Deamon so auch an LDAP bzw. Active Directory Server anbinden kann. Des weiteren kann man auch bzgl. der Verschlüsselung zw. SVN-Clients und SVN-Server per "SASL" sehr umfangreiche Konfigurationen definieren und man spart sich die Installation und Konfiguration des Apache Webservers.
Subversion (Client und Server) runterladen
# apt install subversionDanach sollten folgende Dateien vorhanden sein:

Service-User erstellen
# adduser --system --no-create-home --group svnSVN Home-Verzeichnis erstellen und Rechte vergeben
# mkdir /var/lib/svn
# cd /var/lib/svn
# chown -R svn:svn /var/lib/svn
# chmod -R g+rws /var/lib/svnSVN Server zum Testen manuell starten
# svnserve -d -r /var/lib/svnDefault Port 3690 überprüfen
# ss -ltnSVN Deamon Prozess manuell beenden
# pkill svnserveIm Service-Verzeichnis die Datei "/etc/systemd/system/svn.service" erstellen und den folgenden Text hinzufügen:
[Unit]
Description=Subversion daemon
After=syslog.target network.target
[Service]
Type=forking
RuntimeDirectory=svnserve
PIDFile=/run/svnserve/svnserve.pid
EnvironmentFile=/etc/default/svnserve
ExecStart=/usr/bin/svnserve $DAEMON_ARGS
User=svn
Group=svn
KillMode=control-group
Restart=on-failure
[Install]
WantedBy=multi-user.targetDatei "/etc/default/svnserve" erstellen und folgenden Text hinzufügen
# svnserve options
DAEMON_ARGS="--daemon --pid-file /run/svnserve/svnserve.pid --root /var/lib/svn --log-file /var/log/svnserve/svnserve.log"Rechte für Default-Datei setzen
# chown -R svn:svn /etc/default/svnserveVerzeichnisse für das Logging und die Prozess ID Datei erstellen
# mkdir -p /var/log/svnserve; chown -R svn:svn /var/log/svnserve
# mkdir -p /run/svnserve; chown -R svn:svn /run/svnserveDatei "/etc/logrotate.d/svnserve" erstellen und folgenden Text hinzufügen
/var/log/svnserve/*.log {
daily
missingok
rotate 14
compress
notifempty
create 640 svn adm
sharedscripts
postrotate
if /bin/systemctl status svnserve > /dev/null ; then \
/bin/systemctl restart svnserve > /dev/null; \
fi;
endscript
}Um den SVN-Dienst beim Serverstart automatisch zu starten, gibt man einmalig folgenden Befehl ein:
# systemctl enable svn.serviceMit folgenden Befehlen kann man den Dienst manuell kontrollieren
# systemctl start svn.service
# systemctl stop svn.service
# systemctl restart svn.serviceIn der Firewall den Port 3690 freischalten
# ufw allow 3690
# ufw statusZum Abschluss nochmal den Port 3690 überprüfen
# ss -ltnDieser Artikel beschreibt nur die wichtigsten Punkte. Eine ausführliche Dokumentation zu Subversion findet man im offiziellen Buch "Subversion" von RedBean, das auch kostenlos online verfügbar ist.
Weitere Informationen findet man auf der offiziellen Subversion Webseite von Apache, welches Subversion entwickelt und verwaltet.




Kommentare