Гид по технологиям

Настройка WebDAV в lighttpd

4 min read Веб-сервер Обновлено 20 Nov 2025
Настройка WebDAV в lighttpd
Настройка 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.dav

2 Конфигурация виртуального хоста для 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 restart

3 Тестирование 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 Тест-кейсы

  1. Подключение с корректными учётными данными — ожидается успешный доступ.
  2. Подключение с некорректным паролем — ожидается 401 Unauthorized.
  3. Попытка доступа к /webdav как аноним — отказ, если включена авторизация.
  4. Проверка других URL виртуального хоста — должны оставаться доступны обычным HTTP.

12 Ссылки

Заметки

  • Для крупных деплоев рекомендуется миграция на LDAP/Active Directory или другой централизованный бэкенд авторизации.
  • Проверяйте совместимость клиентов (особенно старые версии Windows) с используемым режимом аутентификации.

Конец.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как устроить идеальную вечеринку для просмотра ТВ
Развлечения

Как устроить идеальную вечеринку для просмотра ТВ

Как распаковать несколько RAR‑файлов сразу
Инструменты

Как распаковать несколько RAR‑файлов сразу

Приватный просмотр в Linux: как и зачем
Приватность

Приватный просмотр в Linux: как и зачем

Windows 11 не видит iPod — способы исправить
Руководство

Windows 11 не видит iPod — способы исправить

PS5: как настроить игровые пресеты
Консоли

PS5: как настроить игровые пресеты

Как переключить камеру в Omegle на iPhone и Android
Руководство

Как переключить камеру в Omegle на iPhone и Android