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

Как настроить WebDAV в lighttpd на OpenSUSE 11.2

• 5 min read • DevOps • Обновлено 23 Nov 2025
Настройка WebDAV в lighttpd на OpenSUSE 11.2
Настройка WebDAV в lighttpd на OpenSUSE 11.2

Version 1.0
Author: Falko Timme
Follow me on Twitter

1 Предварительная заметка

В примерах используется сервер OpenSUSE 11.2 с IP-адресом 192.168.0.100. Подстраивайте пути, имена хостов и права доступа под свою систему.

Важно: это пошаговый практический пример. Я не даю гарантий, что всё будет работать в вашей среде без изменений.

2 Установка WebDAV и нужных модулей

Установите lighttpd (если он ещё не установлен), модуль WebDAV и утилиту htpasswd2 (в пакете apache2-utils):

yast2 -i lighttpd lighttpd-mod_webdav apache2-utils

Создайте системные ссылки для автоматического запуска и запустите lighttpd:

chkconfig --add lighttpd  
/etc/init.d/lighttpd start

Откройте /etc/lighttpd/modules.conf и включите/добавьте модули mod_alias, mod_webdav и mod_auth в stanza server.modules. Обратите внимание: mod_webdav должен быть указан до mod_auth!

vi /etc/lighttpd/modules.conf
[...]
server.modules = (
  "mod_access",
  "mod_alias",
  "mod_webdav",
  "mod_auth",
#  "mod_evasive",
#  "mod_redirect",
#  "mod_rewrite",
#  "mod_setenv",
#  "mod_usertrack",
)
[...]

Примечание: не включайте строку include “conf.d/webdav.conf” в /etc/lighttpd/modules.conf, если вы хотите включать WebDAV для отдельных vhost, а не для всех виртуальных хостов.

Перезапустите lighttpd:

/etc/init.d/lighttpd restart

3 Создание виртуального хоста

В этом примере vhost будет иметь имя www.example.com и корневую директорию /srv/www/web1/web. Если у вас уже есть vhost — используйте его.

Создайте каталог и сделайте владельцем пользователя и группу lighttpd:

mkdir -p /srv/www/web1/web  
chown lighttpd:lighttpd /srv/www/web1/web

Добавьте vhost в конец /etc/lighttpd/lighttpd.conf:

vi /etc/lighttpd/lighttpd.conf
[...]
$HTTP["host"] == "www.example.com" {
  server.document-root = "/srv/www/web1/web"
}

Перезапустите сервер:

/etc/init.d/lighttpd restart

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

Создайте файл паролей WebDAV /srv/www/web1/passwd.dav с пользователем test (ключ -c создаёт файл, если его нет):

htpasswd2 -c /srv/www/web1/passwd.dav test

Вас попросят ввести пароль для пользователя test.

Важно: не используйте ключ -c, если файл уже существует — это перезапишет файл и удалит всех пользователей.

Ограничьте права доступа к файлу паролей, чтобы только root и члены группы lighttpd имели доступ:

chown root:lighttpd /srv/www/web1/passwd.dav  
chmod 640 /srv/www/web1/passwd.dav

Теперь измените vhost в /etc/lighttpd/lighttpd.conf, чтобы включить WebDAV на пути /webdav:

vi /etc/lighttpd/lighttpd.conf
[...]
$HTTP["host"] == "www.example.com" {
  server.document-root = "/srv/www/web1/web"
  alias.url = ( "/webdav" => "/srv/www/web1/web" )
  $HTTP["url"] =~ "^/webdav($|/)" {
    dir-listing.activate = "enable"
    webdav.activate = "enable"
    webdav.is-readonly = "disable"
    auth.backend = "htpasswd"
    auth.backend.htpasswd.userfile = "/srv/www/web1/passwd.dav"
    auth.require = ( "" => ( "method" => "basic",
                             "realm" => "webdav",
                             "require" => "valid-user" ) )
  }
}

Пояснение: директива alias.url в сочетании с проверкой URL разрешает вызывать WebDAV по /webdav, но при этом остальные URL виртуального хоста остаются обычными HTTP.

Перезапустите lighttpd:

/etc/init.d/lighttpd restart

5 Тестирование WebDAV

Установите cadaver — консольный клиент WebDAV:

yast2 -i cadaver

Подключитесь к WebDAV:

cadaver http://www.example.com/webdav/

Вас попросят ввести имя пользователя и пароль. Если всё правильно, вы получите доступ к вебdav-облаку и сможете выполнять команды cadaver. Для выхода введите quit.

Пример сессии:

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:~ #

6 Настройка клиента Windows XP

Для Windows XP может понадобиться указать порт в URL, например: http://www.example.com:80/webdav

Примечание: указание порта иногда заставляет Windows XP принять обычное имя пользователя (например, test). Без порта XP может запросить NTLM-имя вида WWW.EXAMPLE.COM\test.

7 Настройка клиента Linux (GNOME)

Подключение из GNOME описано в руководстве по WebDAV (ссылка в разделе «Ссылки»). В файловом менеджере используйте «Подключиться к серверу» и укажите URL вида http://www.example.com/webdav/.

8 Отладка и типичные проблемы

Важно: логирование lighttpd поможет найти причину ошибок. Проверьте /var/log/lighttpd/error.log и access.log.

Распространённые ошибки и решения:

  • 401 Unauthorized при вводе правильного пароля — проверьте путь к файлу auth.backend.htpasswd.userfile и права доступа.
  • 403 Forbidden при записи — проверьте права на файловую систему и владельца каталогов (/srv/www/web1/web). Процесс lighttpd должен иметь права на запись.
  • Метод PROPFIND блокируется — убедитесь, что модуль mod_webdav включён и активирован для нужного URL.

Чек-лист для отладки:

  1. lighttpd запущен и слушает нужный порт.
  2. mod_webdav и mod_auth включены в modules.conf.
  3. vhost настроен правильно, alias.url и правило $HTTP[“url”] соответствуют.
  4. файл passwd.dav существует и имеет права root:lighttpd 640.
  5. права на корневой каталог позволяют записи (если webdav.is-readonly = “disable”).

9 Безопасность и рекомендации

  • Используйте HTTPS (SSL/TLS) для WebDAV в продуктиве. WebDAV передаёт пароли в base64 при Basic auth, поэтому HTTP небезопасен.
  • Храните файл паролей вне общедоступных каталогов веб-сервера и с минимально необходимыми правами.
  • Рассмотрите ограничение доступа по IP для административных зон.

Важно: настройка SSL выходит за рамки этого руководства, но в продуктивной среде она обязательна.

10 Альтернативные подходы

  • Apache (mod_dav) — более функционален и чаще встречается в документации.
  • Nginx + сторонние решения — Nginx не имеет встроенного full-featured WebDAV, но можно использовать сторонние модули или проксирование на backend с WebDAV.
  • Samba/SMB — если цель — совместный доступ к файлам в локальной сети, Samba может быть предпочтительнее для Windows-клиентов.

Когда WebDAV не подходит:

  • Требуется дедупликация/версионирование на уровне файловой системы.
  • Нужны расширенные права и ACL, неудобные для реализации через WebDAV.

11 Чек-листы ролей

Администратор сервера:

  • Установить пакеты и модули.
  • Настроить vhost и alias.
  • Создать файл паролей и настроить права.
  • Настроить HTTPS и проверить логи.

Обычный пользователь:

  • Получить имя пользователя и пароль.
  • Подключиться через cadaver, GNOME или указать URL с портом для Windows XP.
  • Проверить возможность чтения/записи в предоставленной директории.

12 Краткий глоссарий

  • WebDAV: расширение HTTP для редактирования и управления файлами на удалённом сервере.
  • vhost: виртуальный хост — отдельная конфигурация сайта в одном веб-сервере.
  • htpasswd2: утилита для управления файлами паролей в формате htpasswd.

13 Примеры тест-кейсов

  • Успешный доступ: подключение cadaver с корректными учётными данными.
  • Отказ в доступе: попытка с неверным паролем должна возвращать 401.
  • Проверка записи: загрузка файла через WebDAV (если webdav.is-readonly = “disable”) и проверка владельца/прав на ФС.

14 Ссылки

Краткое резюме

  • Установите lighttpd и модуль mod_webdav.
  • Настройте vhost и включите WebDAV на отдельном URL (/webdav).
  • Создайте файл паролей и ограничьте права доступа.
  • Тестируйте с cadaver и настраивайте клиентов (Windows/GNOME).

Важно: в продуктивной среде обязательно использовать HTTPS и проверять журналы ошибок.

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

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро