Linux.debian : Subversion + apache 2
Posté par Rui AVELINO () le 12 mars 2008Bonjour à tous,
Je suis sous Debian 4.0
J'ai besoin d'installer subversion et de le lier à apache 2
J'avais déjà un apache 2 qui tourne parfaitement sur la machine
J'ai fait les choses suivantes
apt-get install subversion subversion-tools
mkdir --p /var/svn/private
mkdir --p /var/svn/repositories
cd /var/svn/repositories
svnadmin create myrepository
apt-get install libapache2-svn
a2enmod dav_svn
/etc/init.d/apache2 reload
J'ai ensuite édité le fichier apache2.conf et j'ai rajouté à la fin
«location /svn»
DAV svn
SVNPath /var/svn/repositories/myrepository
# how to authenticate a user
AuthType Basic
AuthName "SVN : My Repository"
AuthUserFile /var/svn/private/myrepository.htpasswd
# our access control policy
AuthzSVNAccessFile /var/svn/private/myrepository.authz
«LimitExcept GET PROPFIND OPTIONS REPORT»
Require valid-user
«/LimitExcept»
«/location»
J'ai ensuite changé les droits d'accès:
chown -R www-data:www-data /var/svn/repositories
chmod -R 775 /var/svn/repositories
chown -R www-data:www-data /var/svn/private
chmod -R 775 /var/svn/private
J'ai ensuite créé les utilisateurs suivant et créer le fichier de droit pour subversion:
cd /var/svn/private/
htpasswd -cm myrepository.htpasswd myuser
touch /path/to/private/myrepository.authz
dans le fichier
[groups]
dev = myuser
[/]
@dev = rw
[/trunk]
@dev = rw
[/branches]
@dev = rw
[/tags]
@dev = rw
J'ai ensuite essayé de créé un projet :
svnadmin create /var/svn/repositories/example
Et la ... je bloque :(
impossible d'y accéder via mon url de base du serveur http://svn.monsite.com/svn/
Alors je me suis dit que le code ne devait pas aller dans apache2.conf mais dans le fichier qui définit mes virtualhost
«VirtualHost *:80»
SSLEngine off
ServerAdmin webmaster@monsite.com
DocumentRoot /var/www/devmp/
ServerName svn.monsite.com
ErrorLog /var/log/apache2/error.log
Alias /phpmyadmin /usr/share/phpmyadmin
«Directory /var/www/devmp/»
Options FollowSymLinks
«/Directory»
«location /svn»
DAV svn
SVNPath /var/svn/repositories/myrepository
# how to authenticate a user
AuthType Basic
AuthName "SVN : My Repository"
AuthUserFile /var/svn/private/myrepository.htpasswd
# our access control policy
AuthzSVNAccessFile /var/svn/private/myrepository.authz
«LimitExcept GET PROPFIND OPTIONS REPORT»
Require valid-user
«/LimitExcept»
«/location»
«/VirtualHost»
Mais ça marche pas mieux !
http://svn.monsite.com/svn/
toujours pas accessible ...
Et quand je tente des commandes du type:
svn import /var/svn/repositories/example file:///var/svn/repositories/example/examplev1 -m "initial import"
http://svn.monsite.com/svn/repositories/example/
http://svn.monsite.com/svn/repositories/
http://svn.monsite.com/svn/
Et j'ai des erreurs du type
The requested URL /svn/example/ was not found on this server.
Les autres sites fonctionnent sans problème (phpmyadmin etc ...) donc j'ai pas tout cassé apache2. Mais bon subversion marche pas :(
Vous pouvez m'aider?
> Lire le message (2 commentaires, moyenne: 1,5).
Vous avez demandé le commentaire #913247.



Logs & more
Tout d'abord: que disent les logs? /var/log/apache2/error_log, /var/log/messages, etc?
Ensuite, après la création du repository 'exemple', as-tu fais un
chown -R www-data\: /var/svn/repositories/example ?
N'y a-t-il pas aussi des directives pour /svn dans /etc/apache2/mods-enabled/dav_svn.conf ?
Essaie sinon d'ajouter la directive
SVNAutoversioning on
après SVNPath
( http://svnbook.red-bean.com/en/1.2/svn.webdav.autoversioning(...) )
En fait, Bernardo n'était pas muet; c'est Zorro qui était sourd.
[^]Re: Logs & more
Bonjour merci pour les conseils
Oui j'ai relancer les droits sur les deux
Et dans le doute je les ai refait:
chown -R www-data\: /var/svn/repositories/example
chown -R www-data\: /var/svn/repositories/myrepository
Dans "/etc/apache2/mods-enabled" j'ai bien les modules de chargés
dav.load -> ../mods-available/dav.load
dav_svn.conf -> ../mods-available/dav_svn.conf
dav_svn.load -> ../mods-available/dav_svn.load
J'ai bien rajouté SVNAutoversioning on
Après les vérifications et ajouts demandés j'ai un message d'erreur légèrement différent, lorsque je cherche à accéder à la page:
Forbidden
You don't have permission to access /svn/ on this server.
Voici le log Error de Apache, par contre il n'y a rien dans le log de "message" à ce sujet.
[Thu Mar 13 10:23:29 2008] [error] [client 82.XXX.XXX.XXX] Access denied: - GET svn:/
[Thu Mar 13 10:23:29 2008] [error] [client 82.XXX.XXX.XXX] Access denied: - GET svn:/
[Thu Mar 13 10:24:22 2008] [error] [client 82.XXX.XXX.XXX] Access denied: - GET svn:/repositories
[Thu Mar 13 10:24:46 2008] [error] [client 82.XXX.XXX.XXX] Access denied: - GET svn:/repositories/myrepository
[Thu Mar 13 11:00:23 2008] [error] [client 82.XXX.XXX.XXX] Access denied: - GET svn:/example
[Thu Mar 13 11:00:33 2008] [error] [client 82.XXX.XXX.XXX] Access denied: - GET svn:/repositories/example