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.czurpmi.addmedia --update contrib_updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/contrib/updates with media_info/hdlist.czurpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586/media/main/release with media_info/hdlist.czurpmi.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 restart3 Создание виртуального хоста
Теперь я создам виртуальный хост 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 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 и члены группы 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 restart5 Тестирование 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 Ссылки
- WebDAV: http://www.webdav.org
- Lighttpd: http://www.lighttpd.net
- Mandriva: http://www.mandriva.com
Get new posts in your inbox
No spam. Unsubscribe anytime.