Назад | Перейти на главную страницу

Как включить web-dav на виртуальном хостинге?

Я предоставляю своим клиентам общий веб-хостинг. PHP работает с fast-cgi, доступ по ftp тоже не проблема. Но как мне включить web-dav для моих клиентов? У каждого покупателя есть свой uid и gid. Apache использует для webdav собственный uid / gid.

Некоторое объяснение этому есть в mod_dav Вопросы-Ответы. Предлагаемые варианты:

  1. Вы можете запросить у Apache выполнение setuid (но для этого требуется, чтобы Apache запускался от имени пользователя root, что особенно не рекомендуется)
  2. Вы можете запустить экземпляр Apache для каждого клиента
  3. Вы можете попробовать найти сервер WebDAV на PHP или CGI, а затем использовать что-то вроде suphp или suexec

Попробуйте установить некоторые директивы auth в разделе вашего местоположения:

например.

<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> 

Это гарантирует, что любой, кто попытается просмотреть файлы, должен будет предоставить учетные данные. Вам нужно будет установить каталог dav так, чтобы gid apache мог его видеть, но никто не должен иметь возможность просматривать файлы без аутентификации с помощью файла каталогов .DAVlogin, который будет содержать только пароли для пользователя этого сайта.