Настройка WebDAV в lighttpd
Кратко: создайте htpasswd-файл для доступа по HTTP Basic, задайте права на файл, подключите WebDAV в конфигурации vhost lighttpd и протестируйте с помощью cadaver или клиента ОС. Внизу — чек-листы, сценарии тестирования и рекомендации по безопасности.
Введение
Этот документ переводит и адаптирует шаги по настройке WebDAV для lighttpd. Здесь приведены команды, конфигурация виртуального хоста и инструкции по тестированию с клиента Linux и Windows XP. Определение: WebDAV — расширение HTTP, позволяющее управлять файлами на сервере удалённо.
1 Подготовка файла паролей WebDAV
Создаём файл паролей в /var/www/web1/passwd.dav с пользователем test. Ключ -c создаёт файл заново:
htpasswd -c /var/www/web1/passwd.dav testВас попросят ввести пароль для пользователя test.
Important: не используйте -c, если файл /var/www/web1/passwd.dav уже существует — это приведёт к перезаписи и удалению всех существующих пользователей.
Теперь задаём права доступа, чтобы только root и участники группы www-data имели доступ к файлу паролей:
chown root:www-data /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav2 Конфигурация виртуального хоста для WebDAV
Откройте основной конфиг lighttpd или vhost-файл:
vi /etc/lighttpd/lighttpd.confНиже — пример секции vhost. В исходном материале код размещён внутри таблицы — сохраняем точную структуру конфигурации:
| $HTTP["host"] == "www.example.com" { server.document-root = "/var/www/web1/web" alias.url = ( "/webdav" => "/var/www/web1/web" ) $HTTP["url"] =~ "^/webdav($|/)" { webdav.activate = "enable" webdav.is-readonly = "disable" webdav.sqlite-db-name = "/var/run/lighttpd/lighttpd.webdav_lock.db" 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. Остальной контент виртуального хоста остаётся доступным по обычному HTTP.
После изменения конфигурации перезапустите lighttpd:
/etc/init.d/lighttpd restart3 Тестирование WebDAV на сервере
Установим текстовый клиент для WebDAV — cadaver:
apt-get install cadaverПроверка соединения:
cadaver http://www.example.com/webdav/Ожидается запрос имени пользователя и пароля. Введите test и соответствующий пароль. Пример сессии:
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.
server1:~#Если доступ предоставлен — WebDAV работает.
4 Подключение клиента 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). Без указания порта Windows XP может пытаться использовать NTLM-учётные записи вида www.example.com\test.
5 Подключение клиента Linux (GNOME)
Инструкция описана по ссылке: https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p3
GNOME обычно поддерживает WebDAV через «Подключиться к серверу» (gvfs), используйте URL вида dav://www.example.com/webdav/ или http://www.example.com/webdav/ в зависимости от конфигурации.
6 Советы по безопасности и надёжности
- Используйте HTTPS (TLS) для WebDAV, чтобы защитить пароли и передаваемые файлы в канале. Настройте сертификат и слушайте 443.
- Ограничьте доступ по IP, если возможно, через правила firewall или внутри lighttpd.
- Храните файл паролей вне корня веб-документов и с правами 640.
- Для много-пользовательских установок рассмотрите внешний бэкенд авторизации (LDAP) вместо htpasswd.
7 Отладка и распространённые проблемы
- Ошибка 401 Unauthorized: проверьте путь к
auth.backend.htpasswd.userfileи права доступа. - Невозможность монтировать в Windows: указывайте порт в URL и проверьте, что протокол явно http(s). Для Windows XP часто требуется дополнительный патч/фикс клиента WebDAV.
- Конфликты блокировок:
webdav.sqlite-db-nameуказывает файл блокировок. Проверьте права на/var/run/lighttpd/. - При изменении конфигурации всегда проверяйте логи lighttpd (
/var/log/lighttpd/error.log).
8 Чек-лист для администратора
- [ ] Создан файл
/var/www/web1/passwd.davс нужными пользователями. - [ ] Права:
chown root:www-data /var/www/web1/passwd.davиchmod 640 /var/www/web1/passwd.dav. - [ ] В конфигурации vhost добавлена секция для
/webdavи активированwebdav.activate. - Перезапущен сервис lighttpd.
- [ ] Тест через
cadaverуспешен. - Если требуется, настроен HTTPS и правила firewall.
9 Критерии приёмки
- WebDAV доступен по URL
http://www.example.com/webdav/и возвращает аутентификацию Basic. - Пользователь
testможет выйти в командную оболочку cadaver и выполнить базовые операции (ls, put, get). - Доступ к другим путям виртуального хоста остаётся как обычный HTTP.
10 Роль‑ориентированные задачи
Администратор:
- Создать и защищать файл паролей.
- Настроить и перезапустить lighttpd.
- Мониторить логи и права на файлы.
Пользователь:
- Подключаться с помощью клиента WebDAV (cadaver, файловый менеджер, ОС).
- Сообщать о проблемах доступа администратору.
11 Тест-кейсы
- Подключение с корректными учётными данными — ожидается успешный доступ.
- Подключение с некорректным паролем — ожидается 401 Unauthorized.
- Попытка доступа к
/webdavкак аноним — отказ, если включена авторизация. - Проверка других URL виртуального хоста — должны оставаться доступны обычным HTTP.
12 Ссылки
- WebDAV: http://www.webdav.org
- Lighttpd: http://www.lighttpd.net
- Debian: http://www.debian.org
Заметки
- Для крупных деплоев рекомендуется миграция на LDAP/Active Directory или другой централизованный бэкенд авторизации.
- Проверяйте совместимость клиентов (особенно старые версии Windows) с используемым режимом аутентификации.
Конец.
Похожие материалы
Как устроить идеальную вечеринку для просмотра ТВ
Как распаковать несколько RAR‑файлов сразу
Приватный просмотр в Linux: как и зачем
Windows 11 не видит iPod — способы исправить
PS5: как настроить игровые пресеты