Configuration Serveur · 3 min read · Jan 20, 2026
Configurer Subversion et Trac en tant qu'hôtes virtuels sur un serveur Ubuntu
Configurer Subversion et Trac en tant qu’hôtes virtuels sur un serveur Ubuntu
Ce guide décrit le processus par lequel on peut configurer le système de contrôle de version Subversion, et le faire fonctionner en tandem avec Trac, le gestionnaire de projet pour les projets de développement logiciel, sur un serveur exécutant Ubuntu (ou éventuellement Debian). Il est proposé par Openject Consulting.
Configuration de Subversion
Pour des informations détaillées à ce sujet, y compris des configurations alternatives, jetez un œil à Contrôle de version avec Subversion.
- Installez les paquets requis.sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
- Créez un répertoire d’hôte virtuel pour SVN. Nous utiliserons /var/local/svn au lieu de /var/www afin que les instances de Subversion ne saturent pas le répertoire des répertoires racines web.sudo mkdir -p /var/local/svn/svn.example.com
- Créez un groupe de développement et ajoutez-y l’utilisateur web.sudo addgroup example; sudo adduser www-data example
- Ajoutez des utilisateurs au groupe de développement. Ce sont des personnes qui ont besoin d’accéder au dépôt.sudo adduser username1 example
sudo adduser username2 example
sudo adduser username3 example - Définissez les permissions appropriées.sudo chmod 2770 /var/local/svn/svn.example.com
- Configurez le dépôt.sudo svnadmin create /var/local/svn/svn.example.com
- Effacez le fichier de mot de passe actuel. Par défaut, il est pour le protocole svnserve, mais nous utiliserons HTTPS (ou juste HTTP). Nous ajouterons des utilisateurs à ce fichier plus tard dans le processus.sudo rm /var/local/svn/svn.example.com/conf/passwd
sudo touch /var/local/svn/svn.example.com/conf/passwd - Autorisez le groupe à écrire dans le dépôt.sudo chmod -R g+w /var/local/svn/svn.example.com
- Définissez la propriété des fichiers appropriée.sudo chown -R www-data:example /var/local/svn/svn.example.com
- Définissez les permissions d’accès au dépôt. Des informations sur la façon de faire cela peuvent être trouvées dans la section Autorisation basée sur le chemin de Contrôle de version avec Subversion.sudo vi /var/local/svn/svn.example.com/conf/authz
- Créez un répertoire pour les fichiers journaux.sudo mkdir /var/log/apache2/svn.example.com
- Ajoutez le site à la liste de rotation des journaux.sudo vi /etc/logrotate.d/apache2
- Configurez l’hôte virtuel…sudo vi /etc/apache2/sites-available/svn.example.com…avec les données suivantes. Si vous ne vous souciez pas de SSL, vous pouvez ignorer les options SSL et exécuter cela sur le port 80.
Référence:/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 # Ajoutez ceci une fois qu'il y a un vrai certificat (non auto-signé). # SSLCertificateKeyFile /etc/apache2/ssl/server.key ServerName svn.example.com Redirect / https://svn.example.com/ - Activez l’hôte virtuel subversion.sudo a2ensite svn.example.com
- Créez des combinaisons utilisateur/mot de passe.htpasswd /var/local/svn/svn.example.com/conf/passwd username
- Redémarrez le serveur web.sudo /etc/init.d/apache2 restart
- Si vous allez avoir des utilisateurs travaillant localement, configurez svnwrap. (Voir la page de manuel pour plus de détails.)sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn
Configuration de Trac
- Créez le répertoire web. Nous utiliserons /var/local/trac au lieu de /var/www afin de ne pas saturer le répertoire des racines web.sudo mkdir -p /var/local/trac/trac.example.com
- Définissez les permissions appropriées.sudo chmod 2770 /var/local/trac/trac.example.com
- Créez une instance Trac.sudo trac-admin /var/local/trac/trac.example.com initenv
- Définissez la propriété appropriée sur le répertoire web.sudo chown -R www-data:example /var/local/trac/trac.example.com
- Autorisez le groupe à écrire dans le dépôt.sudo chmod -R g+w /var/local/trac/trac.example.com
- Configurez-le.sudo vi /var/local/trac/trac.example.com/conf/trac.ini
- Créez un répertoire pour les fichiers journaux.sudo mkdir /var/log/apache2/trac.example.com
- Ajoutez le site à la liste de rotation des journaux.sudo vi /etc/logrotate.d/apache2
- Configurez l’hôte virtuel…sudo vi /etc/apache2/sites-available/trac.example.com…avec les données suivantes. Si vous ne vous souciez pas de SSL, vous pouvez ignorer les options SSL et exécuter cela sur le port 80.
# Configuration de TracRéférence: 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" # Utilisez le fichier de mot de passe SVN. 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 # Ajoutez ceci une fois qu'il y a un vrai certificat (non auto-signé). # SSLCertificateKeyFile /etc/apache2/ssl/server.key - Activez l’hôte virtuel Trac.sudo a2ensite trac.example.com
- Configurez les permissions Trac. Une fois que vous êtes dans la console d’administration, exécutez la commande “help permission” pour des informations sur la façon de faire cela. C’est important car certains paramètres sont permissifs par défaut, alors qu’ils devraient être restrictifs. De plus, consultez la page wiki TracPermissions qui accompagne votre nouvelle installation.trac-admin /var/local/trac/trac.example.com
- Redémarrez le serveur web.sudo /etc/init.d/apache2 restart
La dernière chose à faire est d’ajouter les sous-domaines “svn” et “trac” à la configuration DNS de votre domaine. Une fois cela fait, Subversion et Trac seront intégrés dans votre environnement serveur et seront accessibles depuis le web.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.