Сегодня мы будем разбирать настройку WebDAV на FreeBSD 7.0 (работает так же на Linux, Windows и прочих системах)
Строго говоря WebDAV работает на всех системах, где работает Веб Сервер Apache.
Для тех кто незнаком с WebDAV, расскажу чуть подробнее про это.
WebDAV – это Web-based Distributed Authoring and Versioning. Фактически WebDav – это расширение протокола HTTP, для работы с файлами на удаленном сервере по протоколу HTTP. Можно сказать, что WebDAV похож на FTP. Плюсом в использовании этого протокола: доступность откуда угодно при наличии веб доступа, возможность работы с использованием ssl шифрования, простота реализации, кросс-платформенность.
На данный момент возможность использования WebDAV включена в базовую функциональность практически всех ОС, в частности Windows, MacOS, iOS, Linux, FreeBSD.
И так, для того чтобы нам начать использовать WebDAV, Нам необходимо иметь рабочий сервер с установленным на нем Apache. Я использую 2-ю ветку апача, соответственно конфиги привожу для него. Для ветки 1.3 будут небольшие изменения, можно найти в сети.
Для начала в конфиге httpd.conf необходимо убедится что подключены следующие модули:
LoadModule dav_module libexec/apache22/mod_dav.so
LoadModule dav_fs_module libexec/apache22/mod_dav_fs.so
Далее копируем файл httpd-dav.conf из ./extra в ./includes и редактируем его до примерно такого состояния:
DavLockDB «/usr/local/var/DavLock»
<Directory «/www/dav»>
Dav On
#Если включен модуль RewriteEngine, то необходимо его отключить для этой папки, иначе создание новых файлов в директории будет невозможно.
RewriteEngine off
Order Allow,Deny
Allow from all
AuthType Digest
AuthName DAV
AuthUserFile «/usr/local/var/user.passwd»
<LimitExcept GET POST PUT DELETE CONNECT OPTIONS PATCH PROPFIND MKCOL MOVE PROPPATCH COPY LOCK UNLOCK>
require user admin
</LimitExcept>
</Directory>
BrowserMatch «Microsoft Data Access Internet Publishing Provider» redirect-carefully
BrowserMatch «MS FrontPage» redirect-carefully
BrowserMatch «^WebDrive» redirect-carefully
BrowserMatch «^WebDAVFS/1.[0123]» redirect-carefully
BrowserMatch «^gnome-vfs/1.0» redirect-carefully
BrowserMatch «^XML Spy» redirect-carefully
BrowserMatch «^Dreamweaver-WebDAV-SCM1» redirect-carefully
После редактирования конфига, необходимо создать папку /usr/local/var/ и дать разрешение чтение-запись на нее пользователю под которым работает Апач (www:www)
Ну и конечно /www/dav тоже должна быть доступна для чтения-записи пользователю Апач.
Дальше надо создать пользователей, которым будет разрешен доступ, делается это путем исполнения команды:
htdigest -c «/usr/local/var/user.passwd» DAV admin
добавление пользователей с помощью команды:
htdigest «/usr/local/var/user.passwd» DAV имя пользователя
Не забудьте прописать дополнительные имена в строке «require user» конфига httpd-dav.conf
Все, перезапускаем апач, все работает!
Теперь важно! Все что я описал выше, написано во многих местах, но вот то что надо вырубать RewriteEngine – Это я нашел только на одном западном форуме. Это была большая засада, когда при использовании ВебДав, файлы можно редактировать и удалять, но невозможно создать. В логах пишет примерно следующее:
Unable to PUT new contents for /dav/Privet.doc. [403, #0]
No such file or directory: An error occurred while opening a resource.
Вот такие дела.