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

Настройка 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
Автор
Редакция

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

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство