WebDAV установка · 2 min read · Dec 17, 2025
Как установить WebDAV с Lighttpd на Debian 8 (Jessie)
Этот гид объясняет, как настроить WebDAV с Lighttpd на сервере Debian 8 (Jessie). WebDAV расшифровывается как Web-based Distributed Authoring and Versioning и представляет собой набор расширений к протоколу HTTP, который позволяет пользователям напрямую редактировать файлы на сервере Lighttpd, чтобы их не нужно было загружать/выгружать через FTP. Конечно, WebDAV также может использоваться для загрузки и выгрузки файлов.
1 Предварительная заметка
Я использую сервер Debian 8 с IP-адресом 192.168.1.100. Моя настройка основана на минимальном серверном руководстве Debian, но любая система Debian, на которой еще не работает веб-сервер, должна подойти.
2 Установка WebDAV
Вы можете установить lighttpd (если он еще не установлен), модуль lighttpd WebDAV и пакет apache2-utils (который содержит инструмент htpasswd, который нам понадобится позже для генерации файла паролей для WebDAV) следующим образом:
apt-get -y install lighttpd lighttpd-mod-webdav apache2-utilsПосле этого мы должны убедиться, что каталог /var/run/lighttpd принадлежит пользователю и группе www-data. Этот каталог будет содержать базу данных SQLite, необходимую для WebDAV:
chown www-data:www-data /var/run/lighttpd/Далее мы включаем модули mod_auth и mod_webdav:
lighty-enable-mod auth
lighty-enable-mod webdavПерезагрузите Lighttpd после этого:
service lighttpd force-reload3 Создание виртуального хоста
Теперь я создам виртуальный хост Lighttpd ( www.example.com) в каталоге /var/www/web1/web. Если у вас уже есть виртуальный хост, для которого вы хотите включить WebDAV, вам нужно будет адаптировать этот учебник к вашей ситуации.
Сначала создадим каталог /var/www/web1/web и сделаем пользователя lighttpd ( www-data) владельцем этого каталога:
mkdir -p /var/www/web1/web
chown www-data:www-data /var/www/web1/webЗатем откроем /etc/lighttpd/lighttpd.conf и добавим следующий виртуальный хост в конец файла:
nano /etc/lighttpd/lighttpd.conf[...]
$HTTP["host"] == "www.example.com" {
server.document-root = "/var/www/web1/web"
}После этого перезапустим lighttpd:
service lighttpd restart4 Настройка виртуального хоста для WebDAV
Теперь мы создадим файл паролей WebDAV /var/www/web1/passwd.dav с пользователем test (опция -c создает файл, если он не существует):
htpasswd -c /var/www/web1/passwd.dav testВас попросят ввести пароль для пользователя test.
(Пожалуйста, не используйте опцию -c, если /var/www/web1/passwd.dav уже существует, потому что это создаст файл заново, что приведет к потере всех пользователей в этом файле!)
Теперь мы изменим разрешения файла /var/www/web1/passwd.dav так, чтобы только root и члены группы www-data могли к нему получить доступ:
chown root:www-data /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.davТеперь мы изменим наш виртуальный хост в /etc/lighttpd/lighttpd.conf так, чтобы он выглядел следующим образом:
nano /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"
dir-listing.activate = "enable"
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 после этого:
service lighttpd restart5 Тестирование WebDAV
Теперь мы установим cadaver, клиент WebDAV командной строки:
apt-get -y install cadaverЧтобы проверить, работает ли WebDAV, введите:
cadaver http://www.example.com/webdav/Вас попросят ввести имя пользователя. Введите test, а затем пароль для пользователя test. Если все пройдет хорошо, вам будет предоставлен доступ, что означает, что WebDAV работает нормально. Введите quit, чтобы выйти из оболочки WebDAV:
root@server1:/home/administrator# 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:/home/administrator#6 Ссылки
- WebDAV: http://www.webdav.org/
- Lighttpd: http://www.lighttpd.net/
- Debian: http://www.debian.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.