Установка WebDAV в lighttpd на Debian Lenny
Version 1.0
Author: Falko Timme
Следите за мной в Twitter
1 Предварительная заметка
Здесь используется сервер Debian Lenny с IP-адресом 192.168.0.100. Если у вас другой хост или уже есть виртуальный хост, подстройте команды и пути соответственно.
Важно: Debian Lenny — устаревшая версия. Рассмотрите обновление до поддерживаемой ветки Debian ради безопасности и совместимости.
2 Установка WebDAV
Установите lighttpd (если ещё не установлен), модуль WebDAV и пакет apache2-utils (он содержит утилиту htpasswd для создания файла паролей) командой:
aptitude install lighttpd lighttpd-mod-webdav apache2-utilsСоздайте/проверьте права на каталог /var/run/lighttpd — в нём будет храниться SQLite база, используемая WebDAV:
chown www-data:www-data /var/run/lighttpd/Включите модули auth и webdav:
lighty-enable-mod auth
lighty-enable-mod webdavПерезагрузите или перезапустите lighttpd:
/etc/init.d/lighttpd force-reloadВажно: если при включении модулей появляются ошибки, проверьте /var/log/lighttpd/error.log.
3 Создание виртуального хоста
В этом примере виртуальный хост — www.example.com, документ-рут — /var/www/web1/web. Если у вас другой путь — замените его.
Создайте директорию и назначьте владельца:
mkdir -p /var/www/web1/web
chown www-data:www-data /var/www/web1/webОткройте /etc/lighttpd/lighttpd.conf и добавьте виртуальный хост в конец файла:
vi /etc/lighttpd/lighttpd.conf| [...] $HTTP["host"] == "www.example.com" { server.document-root = "/var/www/web1/web" } |
После правки перезапустите сервер:
/etc/init.d/lighttpd restart4 Настройка виртуального хоста для WebDAV
Создайте файл паролей WebDAV:/var/www/web1/passwd.dav с пользователем test (ключ -c создаёт файл, если его нет):
htpasswd -c /var/www/web1/passwd.dav testВас попросят ввести пароль для пользователя test.
Важно: не используйте -c если файл уже существует — вы перезапишете всех пользователей.
Ограничьте доступ к файлу паролей так, чтобы только root и группа www-data имели доступ:
chown root:www-data /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.davИзмените конфигурацию vhost в /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($|/)" { 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, остальные URL остаются обычными HTTP-страницами.
Перезапустите lighttpd:
/etc/init.d/lighttpd restart5 Тестирование WebDAV
Установите cadaver — консольный WebDAV-клиент:
aptitude install cadaverПроверьте подключение:
cadaver http://www.example.com/webdav/Вас попросят имя пользователя и пароль. Введите test и соответствующий пароль. При успешной аутентификации вы попадёте в dav-оболочку. Для выхода используйте 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:~#Если подключение не проходит:
- проверьте логи lighttpd (/var/log/lighttpd/error.log),
- проверьте права на файлы и каталоги,
- убедитесь, что модуль webdav активирован.
6 Настройка клиента Windows XP для подключения к WebDAV
Инструкция взята из оригинального руководства (см. ссылки в конце). Важная деталь: указывайте порт в URL, например:
http://www.example.com:80/webdav
Это заставляет Windows XP принимать обычное имя пользователя (например, test). Без указания порта XP иногда ожидает NTLM-имена вида www.example.com\test.
Примечание: Windows XP также устарел; современные клиенты (Windows 10/11) работают иначе и могут требовать WebDAV поверх HTTPS.
7 Настройка клиента Linux (GNOME)
GNOME предоставляет возможность подключать сетевые ресурсы через интерфейс “Подключиться к серверу”. Инструкция аналогична общим руководствам по WebDAV. В поле URL укажите http://www.example.com/webdav/ и введите имя пользователя/пароль.
8 Безопасность и рекомендации по хостингу
Important: по умолчанию WebDAV через HTTP передаёт учётные данные в base64, что не является безопасным. Рекомендуется:
- Включить HTTPS (TLS) и перенаправлять HTTP на HTTPS. Это защитит пароли и данные в транзите.
- Ограничить права на каталоги: владелец — www-data, права минимум необходимые для работы.
- Хранить файл паролей вне общедоступных каталогов (в нашем примере он в /var/www — это допустимо, но лучше держать вне document-root).
- Регулярно проверять логи на подозрительную активность.
9 Совместимость и миграция
Debian Lenny давно не поддерживается. Возможные проблемы при переносе:
- Версии lighttpd и модулей отличаются в современных Debian (Squeeze, Wheezy, Jessie, Stretch, Buster, Bullseye). Конфигурационные опции могли поменяться.
- sqlite-библиотеки и имя db-файла WebDAV могут отличаться.
- Рекомендуемый путь: подготовьте тестовый сервер на современной Debian-версии, перенесите конфигурации и протестируйте клиенты.
Короткий чек-лист миграции:
- Развернуть тестовый сервер на актуальной Debian-версии.
- Установить lighttpd и модуль webdav, проверить конфиги.
- Перенести пользователей (htpasswd) и тестовые файлы.
- Проверить подключение cadaver и реальные клиенты (Windows, GNOME, macOS).
10 Контрольный список для развертывания
- Установлены пакеты: lighttpd, lighttpd-mod-webdav, apache2-utils
- Каталог /var/run/lighttpd принадлежит www-data:www-data
- Включены модули auth и webdav
- Создан виртуальный хост с корректным server.document-root
- Создан /var/www/web1/passwd.dav и заданы права chown root:www-data и chmod 640
- webdav.activate и webdav.sqlite-db-name указаны в конфиге
- Перезапущен lighttpd и проверены логи
- Протестировано cadaver и хотя бы один графический клиент
- Настроен HTTPS для безопасной передачи данных
11 Глоссарий (одно предложение)
WebDAV — расширение HTTP для удалённого редактирования и управления файлами на веб-сервере.
12 Итог
Это рабочая пошаговая инструкция для включения WebDAV в lighttpd на Debian Lenny: установка пакетов, создание vhost, настройка авторизации через htpasswd, тестирование и базовые рекомендации по безопасности и миграции. Для продакшена обязательно используйте TLS/HTTPS и планируйте обновление системы до поддерживаемой версии.
13 Ссылки
- WebDAV: http://www.webdav.org
- Lighttpd: http://www.lighttpd.net
- Debian: http://www.debian.org
Похожие материалы
Как скачать адресную книгу Outlook
Как жить без Google на Android — полный план
Установить Google Play Services на Android
Настройка электронной почты на мобильном
Разрешить сохранение пароля на сайтах