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.

  1. Installez les paquets requis.sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
  2. 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
  3. Créez un groupe de développement et ajoutez-y l’utilisateur web.sudo addgroup example; sudo adduser www-data example
  4. 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
  5. Définissez les permissions appropriées.sudo chmod 2770 /var/local/svn/svn.example.com
  6. Configurez le dépôt.sudo svnadmin create /var/local/svn/svn.example.com
  7. 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
  8. Autorisez le groupe à écrire dans le dépôt.sudo chmod -R g+w /var/local/svn/svn.example.com
  9. Définissez la propriété des fichiers appropriée.sudo chown -R www-data:example /var/local/svn/svn.example.com
  10. 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
  11. Créez un répertoire pour les fichiers journaux.sudo mkdir /var/log/apache2/svn.example.com
  12. Ajoutez le site à la liste de rotation des journaux.sudo vi /etc/logrotate.d/apache2
  13. 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. ServerName 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/ Référence:/etc/apache2/mods-enabled/dav_svn.conf
  14. Activez l’hôte virtuel subversion.sudo a2ensite svn.example.com
  15. Créez des combinaisons utilisateur/mot de passe.htpasswd /var/local/svn/svn.example.com/conf/passwd username
  16. Redémarrez le serveur web.sudo /etc/init.d/apache2 restart
  17. 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

  1. 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
  2. Définissez les permissions appropriées.sudo chmod 2770 /var/local/trac/trac.example.com
  3. Créez une instance Trac.sudo trac-admin /var/local/trac/trac.example.com initenv
  4. Définissez la propriété appropriée sur le répertoire web.sudo chown -R www-data:example /var/local/trac/trac.example.com
  5. Autorisez le groupe à écrire dans le dépôt.sudo chmod -R g+w /var/local/trac/trac.example.com
  6. Configurez-le.sudo vi /var/local/trac/trac.example.com/conf/trac.ini
  7. Créez un répertoire pour les fichiers journaux.sudo mkdir /var/log/apache2/trac.example.com
  8. Ajoutez le site à la liste de rotation des journaux.sudo vi /etc/logrotate.d/apache2
  9. 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 Trac ServerName 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 Référence: http://trac.edgewall.org/wiki/TracOnUbuntu
  10. Activez l’hôte virtuel Trac.sudo a2ensite trac.example.com
  11. 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
  12. 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.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.