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

Как настроить WebDAV в lighttpd на Mandriva 2009.1

• 5 min read • Linux • Обновлено 21 Nov 2025
Настройка WebDAV в lighttpd на Mandriva 2009.1
Настройка WebDAV в lighttpd на Mandriva 2009.1

TL;DR

Кратко: установите модуль mod_webdav для lighttpd, создайте vhost с alias /webdav, настройте HTTP-аутентификацию через htpasswd и проверьте работу с cadaver. Обязательно защите доступ TLS и права на файл паролей.

Введение

Этот пошаговый гид покажет, как включить WebDAV в lighttpd на сервере Mandriva 2009.1. WebDAV (Web-based Distributed Authoring and Versioning) расширяет HTTP и позволяет редактировать и передавать файлы прямо на сервере без использования FTP. Гид адаптирован под конфигурацию примера: IP 192.168.0.100 и vhost www.example.com.

Важно: автор не даёт гарантий; выполняйте команды с правами root и при необходимости делайте резервные копии конфигураций.

Основные понятия

  • WebDAV — расширение HTTP для совместного редактирования и передачи файлов.
  • vhost (виртуальный хост) — конфигурация сервера для одного домена/сайта.
  • htpasswd — утилита для управления файлом с паролями в формате Apache htpasswd.

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

В примерах используется Mandriva 2009.1 с IP 192.168.0.100. Подставьте свои имена хостов, пути и пользователей при применении инструкций.

2. Установка WebDAV и зависимостей

Установите lighttpd, модуль WebDAV и apache-base (htpasswd входит в него):

urpmi lighttpd lighttpd-mod_webdav lighttpd-mod_auth apache-base

Если у вас установлен Apache, остановите его и отключите автозапуск, чтобы исключить конфликт за порт 80:

/etc/init.d/httpd stop
chkconfig httpd off

Запустите lighttpd:

/etc/init.d/lighttpd start

Откройте файл конфигурации /etc/lighttpd/lighttpd.conf и включите модули mod_alias, mod_webdav и mod_auth в секции server.modules. Важно: укажите mod_webdav до mod_auth.

vi /etc/lighttpd/lighttpd.conf

Пример блока модулей (сокращённо):

[...]
server.modules              = (
#                               "mod_rewrite",
#                               "mod_redirect",
                                "mod_alias",
                                "mod_access",
#                               "mod_cml",
#                               "mod_trigger_b4_dl",
                                "mod_webdav",
                                "mod_auth",
#                               "mod_status",
#                               "mod_setenv",
#                               "mod_fastcgi",
#                               "mod_proxy",
#                               "mod_simple_vhost",
#                               "mod_evhost",
#                               "mod_userdir",
#                               "mod_cgi",
#                               "mod_compress",
#                               "mod_ssi",
#                               "mod_usertrack",
#                               "mod_expire",
#                               "mod_secdownload",
#                               "mod_rrdtool",
                                "mod_accesslog" )
[...]

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

/etc/init.d/lighttpd restart

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

В примере мы создаём vhost для www.example.com с документ-рутом /var/www/web1/web.

Создайте каталог и назначьте владельца apache:apache (в Mandriva пользователь веб-сервера называется apache):

mkdir -p /var/www/web1/web
chown apache:apache /var/www/web1/web

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

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

Затем перезапустите:

/etc/init.d/lighttpd restart

4. Конфигурация vhost для WebDAV

Создайте файл паролей WebDAV и добавьте пользователя test (ключ -c создаёт файл):

htpasswd -c /var/www/web1/passwd.dav test

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

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

Назначьте права, чтобы только root и группа apache могли читать файл:

chown root:apache /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav

Отредактируйте vhost, чтобы подключить алиас /webdav и включить WebDAV с базовой авторизацией:

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

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

urpmi cadaver

Подключитесь к шару:

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

Ожидается запрос имени пользователя и пароля. Пример сессии:

[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 ~]#

Если доступ разрешён и команды cadaver работают, WebDAV функционирует.

6. Подключение клиента Windows XP

Инструкция описана в исходном материале: https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p2

Примечание для Windows XP: указывайте порт в URL, например http://www.example.com:80/webdav — это часто заставляет 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 используйте «Подключиться к серверу» и укажите URL вида dav:// или http:// (при отсутствии TLS). Рекомендуется использовать TLS (https) для безопасной передачи паролей.

8. Отладка и распространённые ошибки

  • 401 Unauthorized: проверьте файл /var/www/web1/passwd.dav, права доступа и auth.require.
  • 405 Method Not Allowed или ошибки LOCK/PUT: убедитесь, что webdav.activate = “enable” и webdav.is-readonly = “disable”.
  • Проблемы с правами файлов: убедитесь, что пользователь apache имеет права на запись в каталог /var/www/web1/web.
  • Конфликты с Apache: проверьте, что Apache остановлен и не слушает порт 80.
  • Логи: смотрите /var/log/lighttpd/error.log и access-log (если включён mod_accesslog).

Совет по безопасности: если у вас включены SELinux или AppArmor, проверьте соответствующие правила, они могут блокировать доступ к файлам и портам.

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

  • Используйте HTTPS (TLS) для всех WebDAV-соединений — базовая HTTP-аутентификация передаёт пароли в незашифрованном виде.
  • Ограничьте доступ по IP, если это возможно (директива $HTTP[“remoteip”]).
  • Храните файл паролей вне документ-рута и с правами 640.
  • Отключите перечисление директорий (dir-listing.activate = “disable”) в рабочей среде, если не нужно.
  • Регулярно пересматривайте пользователей в passwd.dav и используйте сложные пароли.

10. Миграция и альтернативные подходы

  • Если вы уже используете Apache, можно включить WebDAV через модуль mod_dav и mod_dav_fs — для крупных инсталляций Apache имеет большее количество расширений.
  • Nginx не имеет встроенной полноценной реализации WebDAV для записи, но поддерживает ограничённый набор методов; для полноценного WebDAV часто используют Apache или специализированные сервисы (Nextcloud, ownCloud).

11. Роли и контрольный список

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

  • Установить пакеты: lighttpd, lighttpd-mod_webdav, lighttpd-mod_auth, apache-base.
  • Остановить Apache и отключить автозапуск.
  • Включить необходимые модули в /etc/lighttpd/lighttpd.conf.
  • Создать vhost и каталог документа.
  • Создать файл паролей htpasswd и настроить права.
  • Перезапустить lighttpd и проверить логи.

Пользователь рабочего места:

  • Подключиться через cadaver или клиент ОС (GNOME, Windows).
  • Проверить запись/чтение/удаление в /webdav.

12. Критерии приёмки

  • Пользователь test успешно аутентифицируется и может просматривать/записывать файлы в /webdav.
  • При обращении к другим URL vhost доступны обычным способом.
  • Логи lighttpd не содержат критических ошибок при подключениях.
  • Подключение через HTTPS (если настроено) не вызывает ошибок сертификата для доверенного клиента.

13. Мини-методология развёртывания

  1. Подготовка: выбор хоста, резервная копия конфигурации.
  2. Тестовая среда: настроить на тестовом сервере и проверить базовую функциональность.
  3. Безопасность: настроить TLS и права доступа.
  4. Перенос в прод: применить на продакшн и контролировать логи первые 24–72 часа.

14. Полезные ссылки

15. Заключение

WebDAV в lighttpd даёт простой способ удалённого редактирования файлов через HTTP. Для безопасной эксплуатации обязательно используйте TLS, жёсткие права на файл паролей и контроль доступа. Тестируйте подключение перед переносом в продакшн и следите за логами.

Важно: если вы меняете пути, имена хостов или порты — обновите соответствующие места в конфигурациях и в файле passwd.dav.

Сводка и действия: проверьте, что mod_webdav включён, создайте passwd.dav с нужными правами, добавьте алиас /webdav и протестируйте cadaver.

Поделиться: 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 быстро