Перейти к содержанию

Настройка и использование WebDAV при помощи Apache

Посмотрим, как можно настроить веб-сервер Apache для предоставления доступа к ресурсам сервера при помощи WebDAV. Такой доступ очень напоминает файловые ресурсы samba, но при использовании протокола HTTP.

Настройка веб-сервера

Создайте директорию, в которой будут размещаться пользовательские файлы:

sudo mkdir /usr/local/www/webdav
sudo chown www:www /usr/local/www/webdav

Создайте директорию, в которой сервер будет хранить данные о подключениях:

sudo mkdir /dav
sudo chown www:www /dav

В файл конфигурации /usr/local/etc/apache24/httpd.conf внесите изменения, позволяющие загрузить необходимые модули:

...

LoadModule auth_digest_module libexec/apache24/mod_auth_digest.so
LoadModule dav_module libexec/apache24/mod_dav.so
LoadModule dav_fs_module libexec/apache24/mod_dav_fs.so
LoadModule dav_lock_module libexec/apache24/mod_dav_lock.so

...

В файл конфигурации сайтов /usr/local/etc/apache24/extra/httpd-vhosts.conf добавьте настройку ресурса:

...

DAVLockDB /dav/davlockdb
Alias /webdav /usr/local/www/webdav
<Directory /usr/local/www/webdav>
    AllowOverride none
    DAV On
    AuthType Digest
    AuthName dav
    AuthUserFile /etc/davpasswd
    Options Indexes MiltiView
    IndexOptions Charset=UTF-8
    Require ip ___GRANTED_IP___
    Require valid-user
#   Require all granted <--- даст возможность просматривать файлы без авторизации
</Directory>

...

, где ___GRANTED_IP___ - адреса, которым разрешено подключение (через пробел).

Создайте учетные записи пользователей:

htdigest -c /etc/davpasswd dav username

, где -c - ключ, при указании которого будет создан файл /etc/davpasswd; dav - имя хранилища (указывается в настройках сайта, см.выше); username - имя пользователя.

Перезапустите сервер:

apachectl restart

Настоятельная рекомендация

  • использовать SSL;
  • применять сложные пароли;
  • фильтровать трафик.

Использование

Наиболее простой способ подлключения - через браузер и через "проводник" Windows.

Примечание

По-умолчанию, штатный webclient в ОС Windows 10 настроен для корректной работы по протоколу WebDAV только с файлами, не превышающими 50 МБ. Чтобы увеличить этот лимит, нужно исправить значение реестра:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\FileSizeLimitInBytes = ffffffff