webdav et authentification

Clément Février clement at forumanalogue.fr
Ven 14 Mai 16:25:17 UTC 2010


Le 14/05/2010 14:42, Stéphane MARTIN a écrit :
> Salut,
> Le 14/05/2010 05:59, Clément Février a écrit :
>    
>> Bonjour,
>>
>> je souhaite monter un webdav sur apache2, mais j'ai un problème d'
>> authentification qui ne me laisse qu'un accès en lecture seule.
>>
>> cadaver http://www.forumanalogue.fr/webdav/
>> Authentication required for webdav on server `www.forumanalogue.fr':
>> Username: clement
>> Password:
>> Authentication required for webdav on server `www.forumanalogue.fr':
>> Username: clement
>> Password:
>> Could not open collection:
>> Could not authenticate to server: rejected Digest challenge
>> dav:/webdav/?
>>
>> les logs :
>> [Wed May 12 16:42:13 2010] [error] [client 127.0.0.1] GROUP: clement not
>> in required group(s).
>>
>> Voici comment j'ai procédé :
>>
>> sudo a2enmod dav dav_fs #ajout des modules webdav à apache2
>> sudo mkdir /home/www/www/webdav #création du répertoire webdav
>> sudo a2enmod auth_digest #ajout du module pour l'authentification digest
>> à apache2
>> sudo htdigest -c /home/www/www/webdav/passwd.dav webdav clement
>> #création du fichier contenant les mots de passe pour l'utilisateur clement
>>
>> Dans /etc/apache2/sites-enabled/forumanalogue (virtualhost du site
>> www.forumanalogue.fr) j'ai ajouté
>>
>> <Directory "/home/www/www/webdav/">
>> Options Indexes MultiViews
>> AllowOverride None
>> Order allow,deny
>> Allow from all
>> DAV On
>> AuthType Digest
>> AuthName "webdav"
>> AuthUserFile /home/www/www/webdav/passwd.dav
>> Require valid-user
>> </Directory>
>>
>> avant
>>
>> </VirtualHost>
>>
>> sudo service apache2 restart
>>
>> Qu'est ce que j'ai oublié de faire ?
>> Merci d'avance
>>
>>      
> Si tu mets ton répertoire webdav dans /home/www ne faudrait-il pas le
> signifier à apache ?
>    
Qu'est ce que tu entends par le dire à apache ?
Tous mes sites (virtualhosts) sont dans mon home (dans le dossier 
/home/www/) et ne correspondent pas à un utilisateur.
> Autrefois il y avait un module user_dir à ajouter mais je crois que ça
> ne se fait plus. Est-ce que c'est activé par défaut ?
>    
J'ai activé le module userdir mais il ne sert pas ici. Ce module permet 
aux utilisateurs du système de publier à partir du dossier $HOME/public_html
Mais je n'ai pas d'utilisateur associé à ce virtualhost
> Tu pourrais essayer en créant le répertoire webdav dans /var/www pour voir.
> Chez moi ça marche comme ça. Le répertoire appartient à
> www-data:www-data et est en 0755.
>    
j'ai essayé, c'est pire ^^
sudo mkdir /var/www/webdav
sudo chown www-data:www-data
sudo chmod 755 /var/www/webdav
j'ai changé
<Directory "/home/www/www/webdav/">
en
Alias /webdav /var/www/webdav
<Directory "/var/www/webdav/">
sudo service apache2 restart

test de la config : même chose.

Donc je suis revenu à la configuration précédente.


Mon virtualhost complet si ça peut aider :

<VirtualHost *:80>
     ServerAdmin clement at forumanalogue.fr
     ServerName forumanalogue.fr
     ServerAlias www.forumanalogue.fr

     DocumentRoot /home/www/www
<Directory />
         Options FollowSymLinks
         AllowOverride None
</Directory>
<Directory /home/www/www>
         Options Indexes FollowSymLinks MultiViews
         AllowOverride All
         Order allow,deny
         allow from all
</Directory>

     ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
         AllowOverride None
         Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
         Order allow,deny
         Allow from all
</Directory>

<Directory "/home/www/www/webdav/">
         Options Indexes MultiViews
         AllowOverride None
         Order allow,deny
         Allow from all
            DAV On
            AuthType Digest
            AuthName "webdav"
            AuthUserFile /home/www/www/webdav/passwd.dav
            Require valid-user
</Directory>


     ErrorLog /var/log/apache2/error.log

     # Possible values include: debug, info, notice, warn, error, crit,
     # alert, emerg.
     LogLevel warn

     CustomLog /var/log/apache2/access.log combined

     Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
         Options Indexes MultiViews FollowSymLinks
         AllowOverride None
         Order deny,allow
         Deny from all
         Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>


-- 
Clément Février
http://www.forumanalogue.fr/
Président d'Ubuntu-Lyon
http://www.ubuntu-lyon.org/?accueil





Plus d'informations sur la liste de diffusion ubuntu-fr