Настройка WebDAV с Apache2 на Mandriva 2009.1
Кратко: обновите пакеты, установите apache и модуль WebDAV, настройте виртуальный хост с Alias /webdav и файл паролей, затем проверьте работу через cadaver или клиент ОС. Ниже — пошаговое руководство, безопасные практики, проверочный чеклист и план отката.
Версия и автор
Версия 1.0
Автор: Falko Timme
Следите за автором в Twitter
Введение
Это руководство объясняет, как настроить WebDAV с Apache2 на сервере Mandriva 2009.1. WebDAV (Web-based Distributed Authoring and Versioning) — набор расширений протокола HTTP, который позволяет редактировать файлы непосредственно на сервере Apache без явного скачивания/загрузки через FTP. WebDAV также удобно использовать для загрузки и скачивания файлов.
Важно: данная инструкция — практический шаг за шагом; я не даю гарантии успешной работы в вашей среде из-за различий в конфигурациях и версиях пакетов.
Предварительные замечания
Я использую сервер Mandriva 2009.1 с IP-адресом 192.168.0.100. Если у вас другая сеть или уже настроенный виртуальный хост, подстройте пути и имена в примерах под вашу среду.
Что потребуется
- Рут-доступ на сервере (root или sudo).
- Mandriva 2009.1 с доступом к urpmi.
- Знание базовой работы с vi/редактором и командной строкой.
1. Установка WebDAV и Apache
Сначала обновим базу пакетов:
urpmi.update -aУстановим Apache и модуль WebDAV:
urpmi apache apache-mod_davОткройте /etc/httpd/conf/httpd.conf и в секции LoadModule раскомментируйте (уберите ведущие символы коммента) следующие строки. Если в конце строк появилась лишняя строка “+-> available in the apache-mod_dav package” — удалите её, иначе Apache может ругаться на синтаксис:
vi /etc/httpd/conf/httpd.conf[...]
LoadModule dav_module modules/mod_dav.so
[...]
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
[...]Перезапустите Apache:
/etc/init.d/httpd restart2. Создание виртуального хоста
В этом примере мы создадим vhost с корнем /var/www/web1/web. Если у вас уже есть vhost, внесите аналогичные изменения в существующий конфиг.
Создайте директорию и назначьте владельца:
mkdir -p /var/www/web1/web
chown apache:apache /var/www/web1/webДобавьте vhost в конец /etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.conf[...]
NameVirtualHost *:80
ServerAdmin webmaster@localhost
DocumentRoot /var/www/web1/web/
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
Перезагрузите конфигурацию:
/etc/init.d/httpd reload3. Настройка виртуального хоста для WebDAV
Создадим файл паролей WebDAV и добавим пользователя test (ключ -c создаёт файл, если его нет):
htpasswd -c /var/www/web1/passwd.dav testВас попросят ввести пароль для test. Если файл уже существует, НЕ используйте -c — это перезапишет и удалит старые записи.
Установите разрешения так, чтобы только root и пользователи группы apache имели доступ:
chown root:apache /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.davДобавьте в конфигурацию vhost блок для WebDAV:
vi /etc/httpd/conf/httpd.conf[...]
Alias /webdav /var/www/web1/web
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/web1/passwd.dav
Require valid-user
[...]Пояснение: Alias вместе с
Полный пример vhost:
[...]
NameVirtualHost *:80
ServerAdmin webmaster@localhost
DocumentRoot /var/www/web1/web/
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
Alias /webdav /var/www/web1/web
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/web1/passwd.dav
Require valid-user
Перезагрузите Apache:
/etc/init.d/httpd reload4. Тестирование WebDAV
Установим cadaver — консольный клиент WebDAV:
urpmi cadaverПодключитесь к новому ресурсу:
cadaver http://localhost/webdav/Вас попросят ввести имя пользователя и пароль. Введите test и соответствующий пароль. Если всё настроено верно, вы попадёте в оболочку cadaver и сможете выполнять операции. Для выхода введите quit.
Пример сессии:
[root@server1 ~]# cadaver http://localhost/webdav/
Authentication required for webdav on server `localhost':
Username: test
Password:
dav:/webdav/> quit
Connection to `localhost' closed.
[root@server1 ~]#Проверочный чеклист администратора
- Обновлены пакеты (urpmi.update -a).
- Установлены apache и apache-mod_dav.
- Раскомментированы модули mod_dav, mod_dav_fs, mod_dav_lock.
- Создан vhost и корневая директория /var/www/web1/web.
- Создан файл паролей /var/www/web1/passwd.dav с правильными правами.
- Alias и
добавлены в конфиг. - Apache перезагружен и проверен через cadaver или клиент ОС.
Безопасность и рекомендации
Важно: Basic-авторизация передаёт учётные данные в кодировке Base64, что не является шифрованием. Рекомендуется включать HTTPS (SSL/TLS) перед использованием WebDAV в продакшне:
- Настройте SSL (mod_ssl) и перенаправляйте HTTP на HTTPS.
- Храните файл паролей вне корня документа и ограничьте права доступа (как показано выше).
- По возможности используйте более сильную аутентификацию (Digest, Kerberos, клиентские сертификаты) — модуль mod_auth_digest может понадобиться в другом наборе пакетов.
Отказ и ошибки — когда это не сработает
- Если модуль apache-mod_dav не установлен или несовместим с версией Apache, модуль не загрузится.
- Если файл AuthUserFile имеет неверные права, Apache не сможет его прочитать или доступ будет открыт всем.
- При использовании прокси или специфичных сетевых правил запросы WebDAV могут блокироваться (особенно методы HTTP PROPFIND, LOCK, UNLOCK). Проверьте firewall и прокси.
Альтернативные подходы
- Использовать WebDAV через HTTPS для защиты паролей.
- Применить другие серверы: nginx с модулем ngx_http_dav_module (ограниченная реализация) или специализированные файлообменные решения (Nextcloud, ownCloud).
- В сетях, где WebDAV запрещён, рассмотреть SFTP/SSHFS для безопасного монтирования.
Мини-руководство по откату (rollback)
- Верните изменения в /etc/httpd/conf/httpd.conf (удалите Alias и
или восстановите из бэкапа). - Удалите /var/www/web1/web, если это временная директория: rm -rf /var/www/web1/web
- Удалите файл паролей: rm /var/www/web1/passwd.dav (если не нужен).
- Перезагрузите Apache: /etc/init.d/httpd restart
Тестовые случаи / Критерии приёмки
- Подключение к http://localhost/webdav/ запрашивает имя/пароль.
- Пользователь test успешно аутентифицируется и видит содержимое каталога.
- Попытка доступа к /webdav без аутентификации отклоняется.
- Доступ к остальным URL в vhost остаётся по обычному HTTP.
Роль — чеклист (администратор)
- Системный администратор: проверить права, владельца и рестарт службы.
- Сетевой администратор: удостовериться в отсутствии блокировок HTTP-методов.
- DevOps/безопасность: включить TLS, рассмотреть управление секретами и мониторинг попыток входа.
Краткое резюме
- Установите apache и модуль dav, раскомментируйте нужные модули.
- Создайте vhost и Alias /webdav, добавьте блок
с DAV On и Basic-авторизацией. - Создайте файл паролей htpasswd и задайте безопасные права.
- Тестируйте через cadaver или клиент ОС и включите HTTPS для продакшна.
Важно: всегда делайте резервную копию конфигурационных файлов перед изменениями.
Словарь — 1 строка
WebDAV: расширение HTTP для удалённого редактирования и управления файлами на веб-сервере.
Примечание
Если вы планируете открытую установку WebDAV в Интернете, обязательно используйте HTTPS и мониторинг доступа.
Ключевые команды и примеры конфигураций приведены выше и сохранены в исходном синтаксисе для копирования.
Похожие материалы
Отложить обновление Windows 10 v1903
Как включить Spatial Audio на iPhone, iPad, Mac и Apple TV
Изменить имя учётной записи в Windows
Edge закрывается сразу — как исправить
Как снизить напряжение CPU: безопасный гид