Поиск по сайту:

Как установить WebDAV с Lighttpd на Debian 8 (Джесси)


Это руководство существует для этих версий ОС

  • Debian 8 (Джесси)
  • Debian 5 (Ленни)

На этой странице

  1. 1 Предварительное примечание
  2. 2 Установка WebDAV
  3. 3 Создание виртуального хоста
  4. 4. Настройка виртуального хоста для WebDAV
  5. 5 Тестирование WebDAV
  6. 6 ссылок

В этом руководстве объясняется, как настроить WebDAV с Lighttpd на сервере Debian 8 (Jessie). WebDAV означает Распределенное создание и управление версиями через Интернет и представляет собой набор расширений протокола HTTP, которые позволяют пользователям напрямую редактировать файлы на сервере Lighthttpdd, чтобы их не нужно было загружать/выгружать через 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-reload

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

Теперь я создам виртуальный хост 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 и добавляем в конец файла следующий vhost:

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

После этого перезапускаем lighttpd:

service lighttpd restart

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

Теперь мы создаем файл паролей WebDAV /var/www/web1/passwd.dav с пользовательским тестом (переключатель -c создает файл, если он не существует):

htpasswd -c /var/www/web1/passwd.dav 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, но вы по-прежнему можете получить доступ к весь корень документа vhost. Все другие URL-адреса этого виртуального хоста по-прежнему являются «нормальным» HTTP.

После этого перезапустите Lighttpd:

service lighttpd restart

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

Теперь мы установим cadaver, клиент WebDAV из командной строки:

apt-get -y install cadaver

Чтобы проверить, работает ли WebDAV, введите:

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

Вам будет предложено ввести имя пользователя. Введите test, а затем пароль для пользовательского теста. Если все пойдет хорошо, вам должен быть предоставлен доступ, что означает, что WebDAV работает нормально. Введите quit, чтобы выйти из оболочки WebDAV:

:/home/administrator#

6 ссылок

  • WebDAV: http://www.webdav.org/
  • Lighttpd: http://www.lighttpd.net/
  • Debian: http://www.debian.org/