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

Настройка виртуального хоста WebDAV в lighttpd

4 min read Серверы Обновлено 21 Sep 2025
WebDAV в lighttpd — настройка виртуального хоста
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. Полезные ссылки


Отладка и типичные ошибки

  • “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 шага)

  1. Подготовка: создать файл паролей и права доступа.
  2. Настройка: добавить блок webdav в конфигурацию vhost.
  3. Тестирование: перезапустить сервис, проверить cadaver и клиентские подключения.

Глоссарий (1 строка)

  • WebDAV — расширение HTTP, позволяющее управлять файлами на удалённом сервере посредством методов PROPFIND/PUT/DELETE и т.д.

Примечания

  • Не используйте ключ -c при добавлении дополнительных пользователей в уже существующий passwd.dav.
  • Для производства рассмотрите настройку TLS (HTTPS) и ограничение доступа по IP или VPN.

Короткое резюме представлено ниже.

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

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

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

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

Ошибка «program error» в Photoshop — как исправить
Photoshop

Ошибка «program error» в Photoshop — как исправить

WebDAV в lighttpd — настройка виртуального хоста
Серверы

WebDAV в lighttpd — настройка виртуального хоста

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

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

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

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

Clonezilla: зашифрованный образ диска CentOS 7
Backup

Clonezilla: зашифрованный образ диска CentOS 7