Subversion auf SSL umstellen
Posted in Server, Ubuntu on November 12th, 2009 by Patrick – Kommentare deaktiviertVor noch nicht allzu langer Zeit habe ich mir Subversion auf meinem Server installiert, da die 2GB Freespace von Dropbox einfach nicht mehr gereicht haben.
Die Installation war dank einer hervorragenden Anleitung im UU.de-Wiki überhaupt kein Problem. Jedoch, da mein svn nicht öffentlich jedem zugänglich sein soll, habe ich in der /etc/apache2/mods-enabled/dav_svn.conf einen fixen User eingetragen:
<Location /svn>
DAV svn
SVNPath /var/local/svn
AuthType Basic
AuthName "svn"
AuthUserFile /etc/apache2/dav_svn.passwd
Require user compr00t
</Location>Nach der Installation dann ist mir aufgefallen, das Subversion den ganzen Traffic per http transportiert, was mir nicht so wirklich zusagen wollte.
Also habe ich meinen Apache2 auf Port 443 verschoben, so dass alles per SSL gesichert wird.
Das “Umkonfigurieren” ist eigentlich überhaupt kein Problem, wenn man weiss wie
Doch leider hatte ich nur eine wage Ahnung, weshalb sich das ganze über mehrere Stunden in die Länge zog.
Ich versuche hier nochmals wiederzugeben, was ich so alles rumgebastelt habe ![]()
Als erstes habe ich einen neuen Virtualhost angelegt unter /etc/apache2/sites-available/ mit dem Namen ssl und mit folgendem Inhalt gefüllt:
<VirtualHost *:443>
ServerAdmin webmaster@example.com
DocumentRoot /var/www/svn/
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>Nun wird der neue Virtualhost aktiviert und der alte deaktiviert
sudo a2ensite ssl sudo a2dissite default
Danach wird Port 443 aktiviert. Dazu überschreibt man die Datei /etc/apache2/ports.conf mit folgendem Eintrag:
Listen 443
Jetzt fehlt noch ein Zertifikat für die gesicherte Verbindung. Dazu muss das Packet openssl installiert sein:
sudo apt-get install openssl
Nun kann man sein Zertifikat erstellen:
mkdir -p /etc/apache2/ssl openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem\ -keyout /etc/apache2/ssl/apache.pem
Jetzt muss nur noch das Module ssl aktiviert werden:
sudo a2enmod ssl
Jetzt gilt es noch den Apache neuzustarten:
sudo /etc/init.d/apache2 restart sudo /etc/init.d/apache2 force-reload
Und wenn beim restart kein fail als Antwort rauskommt, so sollte ab sofort die Weboberfläche nun über https://localhost/svn verfügbar sein.
Ich hoffe mal, ich habe nichts vergessen ![]()
Als nächstes ist nun geplant, die etwas zu schlichte Weboberfläche von Subversion durch Websvn zu ersetzten.


Willkommen auf meinem Blog über Informatik, Technik und Linux.