Настройка виртуального хоста WebDAV в lighttpd
4. Настройка виртуального хоста для WebDAV
Создайте файл паролей WebDAV /var/www/web1/passwd.dav и добавьте пользователя test. Ключ -c создаёт файл, если его ещё нет:
htpasswd -c /var/www/web1/passwd.dav test
Вас попросят ввести пароль для пользователя test.
Важно: не используйте ключ -c, если /var/www/web1/passwd.dav уже существует — это перезапишет файл и приведёт к потере всех пользователей в нём.
Ограничьте доступ к файлу паролей так, чтобы только root и члены группы lighttpd могли его читать:
chown root:lighttpd /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav
Теперь отредактируйте конфигурацию виртуального хоста в /etc/lighttpd/lighttpd.conf. Откройте файл в редакторе:
vi /etc/lighttpd/lighttpd.conf
Вставьте или отредактируйте блок виртуального хоста так, чтобы он выглядел примерно так:
[...]
$HTTP["host"] == "www.example.com" {
server.document-root = "/var/www/web1/web"
alias.url = ( "/webdav" => "/var/www/web1/web" )
$HTTP["url"] =~ "^/webdav($|/)" {
dir-listing.activate = "enable"
webdav.activate = "enable"
webdav.is-readonly = "disable"
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/var/www/web1/passwd.dav"
auth.require = ( "" => ( "method" => "basic",
"realm" => "webdav",
"require" => "valid-user" ) )
}
}
Пояснение: alias.url вместе с условием $HTTP[“url”] =~ “^/webdav($|/)” включает WebDAV только при обращении к /webdav. При этом остальные URL виртуального хоста остаются обычными HTTP-ресурсами.
Перезапустите lighttpd, чтобы применить изменения:
/etc/init.d/lighttpd restart
5. Тестирование WebDAV
Установите cadaver — консольный клиент WebDAV:
yum install cadaver
Проверьте доступ командой:
cadaver http://www.example.com/webdav/
Вас попросят ввести имя пользователя. Укажите test и пароль, который вы задали ранее. При успешном входе вы попадёте в оболочку WebDAV. Для выхода введите quit:
[root@server1 ~]# cadaver http://www.example.com/webdav/
Authentication required for webdav on server `www.example.com':
Username: test
Password:
dav:/webdav/> quit
Connection to `www.example.com' closed.
[root@server1 ~]#
Если аутентификация не проходит — проверьте права на файл passwd.dav, корректность пути в конфигурации и логи lighttpd (/var/log/lighttpd/error.log и access.log).
6. Настройка клиента Windows XP для доступа к WebDAV
Инструкцию по подключению клиента Windows XP можно найти на источнике: https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p2.
Совет: указывайте порт в URL WebDAV, например:
http://www.example.com:80/webdav
На практике указание порта иногда заставляет Windows XP принять обычные имена пользователей (например, test). Без порта XP может ожидать NTLM-формат имён пользователей (например, www.example.com\test).
7. Настройка клиента Linux (GNOME)
Инструкция по подключению из GNOME приведена здесь: https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p3.
В GNOME обычно используется интерфейс «Подключиться к серверу» (Connect to Server) с указанием URL вида dav:// или http:// с путём к /webdav.
8. Полезные ссылки
- WebDAV: http://www.webdav.org
- Lighttpd: http://www.lighttpd.net
- Fedora: http://fedoraproject.org
Отладка и типичные ошибки
- “401 Unauthorized”: проверьте auth.backend.htpasswd.userfile и права на него (chmod 640, владелец root:lighttpd). Проверьте синтаксис в lighttpd.conf.
- “405 Method Not Allowed” или проблемы с записью: убедитесь, что webdav.is-readonly = “disable” и права на файловую систему позволяют запись пользователю, под которым работает lighttpd.
- Проблемы с Windows-клиентами: указывайте явный порт в URL; проверяйте режим аутентификации (Basic vs NTLM).
- Логи: /var/log/lighttpd/error.log — основной источник информации при ошибках.
Альтернативные подходы
- Использовать Apache (mod_dav) вместо lighttpd, если требуется тонкая настройка аутентификации и расширенные возможности DAV.
- Использовать специализированные решения (Nextcloud, ownCloud) для управления файлами и правами в веб-интерфейсе.
- Для простых шар: WebDAV через nginx + dav модуль (не всегда включён в официальные сборки).
Чек‑лист администратора перед запуском
- Создан /var/www/web1/passwd.dav и добавлен пользователь
- Проведён chown root:lighttpd и chmod 640 на passwd.dav
- В lighttpd.conf добавлен блок для /webdav и включён webdav.activate
- Перезапущен сервис lighttpd
- Проверено через cadaver и при необходимости GUI-клиенты
- Проверены логи на предмет ошибок
Критерии приёмки
- Пользователь test может подключиться к http://www.example.com/webdav/ и просматривать/записывать файлы (если разрешено).
- Остальные URL виртуального хоста работают как обычные HTTP-ресурсы.
- Логи не содержат ошибок уровня “CRITICAL” связанных с модулем webdav или аутентификацией.
Короткая методология внедрения (3 шага)
- Подготовка: создать файл паролей и права доступа.
- Настройка: добавить блок webdav в конфигурацию vhost.
- Тестирование: перезапустить сервис, проверить cadaver и клиентские подключения.
Глоссарий (1 строка)
- WebDAV — расширение HTTP, позволяющее управлять файлами на удалённом сервере посредством методов PROPFIND/PUT/DELETE и т.д.
Примечания
- Не используйте ключ -c при добавлении дополнительных пользователей в уже существующий passwd.dav.
- Для производства рассмотрите настройку TLS (HTTPS) и ограничение доступа по IP или VPN.
Короткое резюме представлено ниже.
Похожие материалы

Как добавить USB‑порты к компьютеру — руководство

Ошибка «program error» в Photoshop — как исправить
WebDAV в lighttpd — настройка виртуального хоста

Удалить историю поиска YouTube — шаги и советы

Как вернуть потерянный стрик в Snapchat
