WebDAV настройка · 4 min read · Dec 03, 2025

Как настроить WebDAV с Lighttpd на Mandriva 2008.1

Как настроить WebDAV с Lighttpd на Mandriva 2008.1

Версия 1.0
Автор: Фалько Тимме

Это руководство объясняет, как настроить WebDAV с lighttpd на сервере Mandriva 2008.1. WebDAV означает Веб-распределенное авторство и версионность и представляет собой набор расширений к протоколу HTTP, которые позволяют пользователям напрямую редактировать файлы на сервере lighttpd, чтобы их не нужно было загружать/выгружать через FTP. Конечно, WebDAV также можно использовать для загрузки и скачивания файлов.

Я не даю никаких гарантий, что это сработает для вас!

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

Я использую сервер Mandriva 2008.1 с IP-адресом 192.168.0.100.

2 Установка WebDAV

Перед тем как установить какие-либо пакеты, мы должны включить основные, обновления основных, contrib и обновления contrib репозитории. Перейдите на http://easyurpmi.zarb.org/ - он должен предоставить вам команды, которые нужно выполнить для включения этих репозиториев. В моем случае я выполнил

urpmi.addmedia contrib ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/release with media_info/hdlist.cz
urpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.cz
urpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.cz
urpmi.addmedia --update main_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/updates with media_info/hdlist.cz

Вы можете установить lighttpd (если он еще не установлен), модуль lighttpd WebDAV и пакет apache-base (который содержит инструмент htpasswd, который нам понадобится позже для генерации файла паролей для общего доступа WebDAV) следующим образом:

urpmi lighttpd lighttpd-mod_webdav lighttpd-mod_auth apache-base

Если у вас уже установлен Apache, вам следует остановить его и удалить системные ссылки запуска Apache, чтобы он не мешал lighttpd (вы можете выполнить следующие две команды, даже если не знаете, установлен ли у вас Apache):

/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 Создание виртуального хоста

Теперь я создам виртуальный хост lighttpd ( www.example.com) в директории /var/www/web1/web. Если у вас уже есть виртуальный хост, для которого вы хотите включить WebDAV, вам нужно будет адаптировать это руководство к вашей ситуации.

Сначала мы создаем директорию /var/www/web1/web и делаем пользователя и группу lighttpd (они называются apache на Mandriva!) владельцем этой директории:

mkdir -p /var/www/web1/web  
chown apache:apache /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" } |

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

/etc/init.d/lighttpd restart

4 Настройка виртуального хоста для 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 и члены группы apache могли к нему получить доступ:

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

Теперь мы изменяем наш виртуальный хост в /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($|/)" { 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, клиент WebDAV командной строки:

urpmi cadaver

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

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

Вам будет предложено ввести имя пользователя. Введите test, а затем пароль для пользователя test. Если все пройдет хорошо, вам будет предоставлен доступ, что означает, что WebDAV работает нормально. Введите quit, чтобы выйти из оболочки 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 ~]#

6 Настройка клиента Windows XP для подключения к общему доступу WebDAV

Это описано на https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p2.

Пожалуйста, укажите порт в URL-адресе WebDAV, например http://www.example.com:80/webdav. По какой-то странной причине это заставляет Windows XP принимать обычное имя пользователя (например, test) - в противном случае Windows XP ожидает имена пользователей NTLM (которые будут иметь форму www.example.com\test).

7 Настройка клиента Linux (GNOME) для подключения к общему доступу WebDAV

Это описано на https://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch-p3.

8 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.