Server Setup · 3 min read · Jan 20, 2026
Einrichten von Subversion und Trac als virtuelle Hosts auf einem Ubuntu-Server
Einrichten von Subversion und Trac als virtuelle Hosts auf einem Ubuntu-Server
Diese Anleitung beschreibt den Prozess, wie man das Versionskontrollsystem Subversion einrichten kann, und es in Kombination mit Trac, dem Projektmanager für Softwareentwicklungsprojekte, auf einem Server mit Ubuntu (oder möglicherweise Debian) zum Laufen bringt. Sie wird Ihnen von Openject Consulting bereitgestellt.
Einrichten von Subversion
Für detaillierte Informationen dazu, einschließlich alternativer Setups, werfen Sie einen Blick auf Version Control with Subversion.
- Installieren Sie die erforderlichen Pakete.sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
- Erstellen Sie ein Verzeichnis für den virtuellen Host für SVN. Wir verwenden /var/local/svn anstelle von /var/www, damit die Subversion-Instanzen das Verzeichnis der Web-Stammverzeichnisse nicht verstopfen.sudo mkdir -p /var/local/svn/svn.example.com
- Erstellen Sie eine Entwicklungsgruppe und fügen Sie den Webbenutzer hinzu.sudo addgroup example; sudo adduser www-data example
- Fügen Sie Benutzer zur Entwicklungsgruppe hinzu. Dies sind Personen, die Zugriff auf das Repository benötigen.sudo adduser username1 example
sudo adduser username2 example
sudo adduser username3 example - Setzen Sie die richtigen Berechtigungen.sudo chmod 2770 /var/local/svn/svn.example.com
- Richten Sie das Repository ein.sudo svnadmin create /var/local/svn/svn.example.com
- Löschen Sie die aktuelle Passwortdatei. Standardmäßig ist sie für das svnserve-Protokoll, aber wir werden HTTPS (oder nur HTTP) verwenden. Wir werden später in diesem Prozess Benutzer zu dieser Datei hinzufügen.sudo rm /var/local/svn/svn.example.com/conf/passwd
sudo touch /var/local/svn/svn.example.com/conf/passwd - Erlauben Sie der Gruppe, in das Repository zu schreiben.sudo chmod -R g+w /var/local/svn/svn.example.com
- Setzen Sie den richtigen Dateibesitz.sudo chown -R www-data:example /var/local/svn/svn.example.com
- Setzen Sie die Zugriffsberechtigungen für das Repository. Informationen dazu finden Sie im Abschnitt zur pfadbasierten Autorisierung in Version Control with Subversion.sudo vi /var/local/svn/svn.example.com/conf/authz
- Erstellen Sie ein Verzeichnis für die Protokolldateien.sudo mkdir /var/log/apache2/svn.example.com
- Fügen Sie die Site zur Protokolldrehungsliste hinzu.sudo vi /etc/logrotate.d/apache2
- Konfigurieren Sie den virtuellen Host…sudo vi /etc/apache2/sites-available/svn.example.com…mit den folgenden Daten. Wenn Ihnen SSL egal ist, können Sie die SSL-Optionen ignorieren und dies auf Port 80 ausführen.
Referenz:/etc/apache2/mods-enabled/dav_svn.confServerName svn.example.com DAV svn AuthType Basic AuthName "svn.example.com" AuthUserFile /var/local/svn/svn.example.com/conf/passwd AuthzSVNAccessFile /var/local/svn/svn.example.com/conf/authz SVNPath /var/local/svn/svn.example.com Require valid-user CustomLog /var/log/apache2/svn.example.com/access.log combined ErrorLog /var/log/apache2/svn.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # Fügen Sie dies hinzu, sobald es ein echtes (nicht selbstsigniertes) Zertifikat gibt. # SSLCertificateKeyFile /etc/apache2/ssl/server.key ServerName svn.example.com Redirect / https://svn.example.com/ - Aktivieren Sie den Subversion-Virtual Host.sudo a2ensite svn.example.com
- Erstellen Sie Benutzer-/Passwort-Kombinationen.htpasswd /var/local/svn/svn.example.com/conf/passwd username
- Starten Sie den Webserver neu.sudo /etc/init.d/apache2 restart
- Wenn Sie Benutzer haben, die lokal arbeiten, richten Sie svnwrap ein. (Siehe die Man-Seite für Details.)sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn
Einrichten von Trac
- Erstellen Sie das Webverzeichnis. Wir verwenden /var/local/trac anstelle von /var/www, um das Verzeichnis der Webwurzeln nicht zu verstopfen.sudo mkdir -p /var/local/trac/trac.example.com
- Setzen Sie die richtigen Berechtigungen.sudo chmod 2770 /var/local/trac/trac.example.com
- Erstellen Sie eine Trac-Instanz.sudo trac-admin /var/local/trac/trac.example.com initenv
- Setzen Sie den richtigen Besitz im Webverzeichnis.sudo chown -R www-data:example /var/local/trac/trac.example.com
- Erlauben Sie der Gruppe, in das Repository zu schreiben.sudo chmod -R g+w /var/local/trac/trac.example.com
- Konfigurieren Sie es.sudo vi /var/local/trac/trac.example.com/conf/trac.ini
- Erstellen Sie ein Verzeichnis für die Protokolldateien.sudo mkdir /var/log/apache2/trac.example.com
- Fügen Sie die Site zur Protokolldrehungsliste hinzu.sudo vi /etc/logrotate.d/apache2
- Konfigurieren Sie den virtuellen Host…sudo vi /etc/apache2/sites-available/trac.example.com…mit den folgenden Daten. Wenn Ihnen SSL egal ist, können Sie die SSL-Optionen überspringen und dies auf Port 80 ausführen.
# Trac-KonfigurationReferenz: http://trac.edgewall.org/wiki/TracOnUbuntuServerName trac.example.com Redirect / https://trac.example.com/ ServerName trac.example.com DocumentRoot /var/local/trac/trac.example.com/ Alias /trac/ /usr/share/trac/htdocs Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonInterpreter main_interpreter PythonOption TracEnv /var/local/trac/trac.example.com/ PythonOption TracUriRoot / AuthType Basic AuthName "trac.example.com" # Verwenden Sie die SVN-Passwortdatei. AuthUserFile /var/local/svn/svn.example.com/conf/passwd Require valid-user CustomLog /var/log/apache2/trac.example.com/access.log combined ErrorLog /var/log/apache2/trac.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # Fügen Sie dies hinzu, sobald es ein echtes (nicht selbstsigniertes) Zertifikat gibt. # SSLCertificateKeyFile /etc/apache2/ssl/server.key - Aktivieren Sie den Trac-Virtual Host.sudo a2ensite trac.example.com
- Konfigurieren Sie die Trac-Berechtigungen. Sobald Sie sich in der Administrationskonsole befinden, führen Sie den Befehl “help permission” aus, um Informationen dazu zu erhalten. Dies ist wichtig, da einige Einstellungen standardmäßig permissiv sind, wenn sie restriktiv sein sollten. Siehe auch die Wiki-Seite TracPermissions, die mit Ihrer neuen Installation geliefert wird.trac-admin /var/local/trac/trac.example.com
- Starten Sie den Webserver neu.sudo /etc/init.d/apache2 restart
Das Letzte, was zu tun ist, ist, die Subdomains “svn” und “trac” zur DNS-Konfiguration Ihrer Domain hinzuzufügen. Sobald dies erledigt ist, werden Subversion und Trac in Ihre Serverumgebung integriert und sind über das Web zugänglich.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.