Je propose à mes clients un hébergement web partagé. PHP fonctionne avec fast-cgi, l'accès ftp ne pose pas de problème non plus. Mais comment puis-je activer web-dav pour mes clients ? Chaque client a ses propres uid et gid. Apache utilise pour webdav son propre uid/gid.
Réponses
Trop de publicités?Vous trouverez des explications à ce sujet dans le mod_dav
FAQ . Les options proposées sont les suivantes :
- Vous pouvez demander à Apache de faire setuid (mais cela nécessite qu'Apache tourne en tant que root, ce qui est spécifiquement déconseillé).
- Vous pouvez exécuter une instance d'Apache pour chaque client
- Vous pouvez essayer de trouver un serveur WebDAV en PHP ou CGI et utiliser quelque chose comme suphp o suexec
Essayez de définir des directives d'authentification dans votre section de localisation :
eg.
<Location /webshare/>
DAV On
AuthType Basic
AuthName "Editing Restricted"
AuthUserFile /home/httpd/vhosts/XXXXXXX.com/.DAVlogin
<LimitExcept GET HEAD OPTIONS>
Require user wbuser
</LimitExcept>
</Location>
Ainsi, toute personne souhaitant consulter les fichiers devra fournir des informations d'identification. Vous devrez cependant configurer le répertoire dav pour que le gid d'apache puisse le voir, mais personne ne devrait pouvoir voir les fichiers sans s'authentifier avec le fichier .DAVlogin du répertoire, qui ne contiendra que les mots de passe de l'utilisateur de ce site.