Documentation technique : Debian
Documentation basée sur la distribution Debian

> > > Configuration d’Apache pour servir SVN

Configuration d’Apache pour servir SVN

Activer les modules apache nécessaires

Le module fastcgi pour apache2 est dans les dépots "non-free" de debian. Vérifiez tout d’abord d’avoir cette ligne dans votre fichier /etc/apt/sources.list :

  1. deb http://ftp.debian.org/debian/ squeeze non-free

ou celle ci :

  1. deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free

On installe les modules au préalable si ce n’est déjà fait :

  1. apt-get install libapache2-mod-fastcgi libapache2-svn

Puis on active les modules nécessaires :

  1. sudo a2enmod alias
  2. sudo a2enmod dav
  3. sudo a2enmod dav_fs
  4. sudo a2enmod dav_lock
  5. sudo a2enmod dav_svn
  6. sudo a2enmod fastcgi

Télécharger

Vous trouverez un exemple de configuration d’apache concernant svn dans /etc/apache2/mods-available/dav_svn.conf

Configuration du virtualhost pour apache

On va créer un nouveau fichier dans les sites-available d’apache qui configurera la mise à disposition de notre dépôt :

  1. sudo nano /etc/apache2/sites-available/svn

Tous nos dépôts sont dans le même répertoire, on active donc svn de cette manière, ceci est le contenu minimum pour chaque virtualhost servant un dépot subversion (NB : il est nécessaire de recopier ceci et de le modifier pour chaque virtualhost souhaité) :

  1. <VirtualHost *:80>
  2. ServerAdmin admin@domaine.tld
  3. ServerName svn.domaine.tld
  4. # SVN n'est accessible que sur /svn
  5. <Location /svn>
  6. DAV svn
  7. SVNPath /var/svn/domaine.tld
  8.  
  9. # our access control policy
  10.  
  11. # try anonymous access first, resort to real
  12. # authentication if necessary.
  13.  
  14. # how to authenticate a user
  15. AuthType Basic
  16. AuthName "Subversion repository"
  17. AuthUserFile /var/svn/domaine.tld/conf/passwd
  18.  
  19. Satisfy Any
  20. AuthzSVNAccessFile /var/svn/domaine.tld/conf/authz
  21.  
  22. Require valid-user
  23. </Location>
  24. </VirtualHost>

Télécharger

Il est nécessaire qu’Apache ait accès à l’ensemble du dépot ... donc pour en être sûr... lancer la commande :

  1. sudo chown -Rvf www-data:www-data /var/svn/domaine.tld

Enfin on active tout cela et relance Apache :

  1. sudo a2ensite svn
  2. sudo /etc/init.d/apache2 restart

Télécharger

Le dépot est alors accessible dans un navigateur à l’adresse : http://svn.domaine.tld/svn. Une boite de dialogue demandant nom d’utilisateur et mot de passe s’affiche si vous n’avez pas autorisé la lecture lors de la configuration du dépot. Vous devriez voir s’afficher : svn - Revision 0: / si tout s’est passé correctement.

Si oui, votre serveur svn est utilisable. Vous pouvez donc faire un checkout du dépot dans le répertoire local domaine.tld :

  1. svn co http://svn.domaine.tld/svn/ domaine.tld

Y ajouter un un répertoire de test par exemple :

  1. cd domaine.tld
  2. mkdir repertoire_test
  3. svn add repertoire_test
  4. svn commit -m "un répertoire de test"

Télécharger

  • Auteur :
  • Publié le :
  • Mis à jour : 25/04/12

4 commentaires


  • Le 26 mai 2010 à 18:36, par hornetbzz En réponse à : Configuration d’Apache

    Merci, c’est vraiment très clair.

    3 points à noter :

    1) d’après ce ticket, il semblerait que le module fcgi entre en conflit avec le module deflate d’Apache.

    2) Par ailleurs, je n’ai pas trouvé le module fcgi dans les dépôts. Peut être a-t-il disparu suite à l’introduction de fcgid ?

    3) Trac recommande donc l’utilisation du module fcgid.

    Finalement la question :

    Dans le cas de l’utilisation du module fcgid, comment configurer Apache ?

    Merci d’avance

    PS : je ne sais pas si c’est ma config ou le serveur, mais les fleches de deplacement ne fonctionnent pas dans la zone de texte du message.

    Répondre à ce message

    • Le 26 mai 2010 à 22:05, par hornetbzz En réponse à : Configuration d’Apache

      hum j’ai retrouvé le dépôt, d’ailleurs mentionné en entête du tuto, ... désolé

      Répondre à ce message

    • Le 26 mai 2010 à 23:08, par Quentin Drouet En réponse à : Configuration d’Apache

      Pour le point 1, je n’ai pas personnellement ce problème même si j’utilise les deux personnellement

      Pour le point 2, vous avez apparemment trouvé la solution dans le prochain post

      Question subsidiaire, du coup, est ce que cette solution fonctionne encore ? ou est ce nécessaire de mettre impérativement à jour le tuto....

      Répondre à ce message

  • Le 22 août 2010 à 03:57, par hornetbzz En réponse à : Configuration d’Apache

    Un petit commentaire dans le cas d’un Apache2 Debian non compilé avec plusieurs VHOSTS :

    J’ai eu pas mal de difficultés à faire fonctionner plusieurs virtual hosts, correspondant chacun à un projet sous /usr/share/trac/projects, avec le module fast_cgi.

    Pour cela, j’ai dû paramétrer trac.fcgi de la façon suivante :
    try :
    import os
    import pkg_resources
    if ’TRAC_ENV’ not in os.environ and \
    ’TRAC_ENV_PARENT_DIR’ not in os.environ :
    # MODIFIED hornetbzz
    os.environ[’TRAC_ENV_PARENT_DIR’] = ’/usr/share/trac/projects’
    ...

    J’ai également dû adapter la configuration de chaque vhost de la manière suivante, par exemple ici avec test.net :
    DirectoryIndex trac/test.net

    Voila si ça peut en aider d’autres,

    Slts

    Répondre à ce message

Qui êtes-vous ?
  • [Se connecter]
Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.