Как настроить WebDAV с Apache2 на Fedora 11
Краткое руководство по установке и настройке WebDAV на Apache2 под Fedora 11: установка httpd и модулей DAV, создание виртуального хоста, защита с помощью файла паролей htpasswd и тестирование через cadaver. Внизу — чеклист, рекомендации по безопасности и варианты альтернатив.
Версия 1.0
Автор: Falko Timme
Следите за автором в Twitter
Предварительная заметка
В примерах используется сервер Fedora 11 с IP-адресом 192.168.0.100. Если вы настраиваете другой хост или более новую версию дистрибутива, адаптируйте команды и пути. Fedora 11 устарела и может не получать обновления безопасности — по возможности используйте поддерживаемую версию дистрибутива.
Установка WebDAV
Если Apache (httpd) ещё не установлен, установите его:
yum install httpdОткройте файл /etc/httpd/conf/httpd.conf и убедитесь, что модули dav и dav_fs включены в секции LoadModule (они обычно включены по умолчанию):
vi /etc/httpd/conf/httpd.conf[...]
LoadModule dav_module modules/mod_dav.so
[...]
LoadModule dav_fs_module modules/mod_dav_fs.so
[...]Затем создайте системные ссылки запуска для Apache и запустите сервис:
chkconfig --levels 235 httpd on
/etc/init.d/httpd startСоздание виртуального хоста
В примере создаётся виртуальный хост с корнем документа в /var/www/web1/web. Если у вас уже есть vhost, внесите соответствующие изменения в него.
Создайте каталог и сделайте владельцем пользователя и группу Apache (apache):
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
Перезагрузите Apache:
/etc/init.d/httpd reloadНастройка виртуального хоста для WebDAV
Создайте файл паролей WebDAV и добавьте тестового пользователя test (ключ -c создаёт файл, если он не существует):
htpasswd -c /var/www/web1/passwd.dav testВас попросят ввести пароль для пользователя test.
Важно: не используйте опцию -c, если файл /var/www/web1/passwd.dav уже существует — это перезапишет файл и удалит всех предыдущих пользователей.
Измените права доступа к файлу паролей так, чтобы только root и члены группы apache могли его читать:
chown root:apache /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.davДобавьте в конфигурацию vhost директивы Alias и Location для включения WebDAV. Откройте /etc/httpd/conf/httpd.conf и добавьте следующие строки в конец vhost:
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 reloadТестирование WebDAV
Установите cadaver — консольный WebDAV-клиент:
yum install cadaverПроверьте работу WebDAV командой:
cadaver http://localhost/webdav/Вас попросят ввести имя пользователя. Укажите test и пароль, заданный ранее. Если доступ предоставлен, WebDAV работает. Для выхода введите 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 ~]#Критерии приёмки
- Удалённый клиент может подключиться к http://<ваш_хост>/webdav/ и выполнить ls/put/get через cadaver или аналог.
- Попытка доступа без учётных данных должна возвращать запрос авторизации.
- Права на /var/www/web1/passwd.dav установлены как root:apache и 640.
- Общая зона vhost остаётся доступной по HTTP, а путь /webdav обрабатывается через DAV.
Безопасность и жёсткая настройка
Важно: по умолчанию Basic-авторизация передаёт учётные данные в кодировке base64 — используйте HTTPS (TLS) для защиты паролей в сети.
Рекомендации по укреплению:
- Включите SSL/TLS и проксируйте WebDAV через HTTPS.
- Рассмотрите использование Digest-аутентификации или другого защищённого механизма в сочетании с TLS.
- Ограничьте доступ по IP в
, если возможно. - Проверьте контексты SELinux (если SELinux включён) и при необходимости примените соответствующие boolean/контекстные правила.
- Отключите лишние HTTP-методы (TRACE, TRACK) и ограничьте список методов, если это возможно для ваших клиентов.
- Регулярно обновляйте ОС и пакет httpd (в современных версиях Fedora/CentOS/RHEL).
Когда это может не работать
- Fedora 11 устарела: пакеты могут быть неактуальны или отсутствовать в репозиториях.
- SELinux может блокировать доступ к файлам; проверяйте audit.log и используйте chcon/restorecon.
- Фаервол или NAT могут блокировать порт 80/443.
- Неправильные права на файл AuthUserFile приведут к ошибкам авторизации.
- Если модуль mod_dav_fs не загружен, DAV не будет работать.
Альтернативы
Если WebDAV не подходит, рассмотрите:
- SFTP (SSH File Transfer) — простой, защищённый способ для удалённого редактирования файлов.
- davfs2 — клиентское монтирование WebDAV как файловой системы.
- Nextcloud / ownCloud — полноценные веб-платформы для файлов и совместной работы.
- NFS/SMB — для локальных сетей и интеграции с файловыми серверами.
- rsync — для синхронизации файлов.
Роли и чеклист (администратор / оператор / тестировщик)
Администратор:
- Установить httpd и модули dav, dav_fs.
- Настроить vhost и Alias /webdav.
- Создать файл паролей и выставить права.
Оператор:
- Перезапустить/перезагрузить сервис httpd.
- Следить за логами /var/log/httpd/error_log и access_log.
- Выполнять бэкапы каталога /var/www/web1/web и файла passwd.dav.
Тестировщик:
- Подключиться через cadaver и проверить чтение/запись/удаление.
- Попробовать доступ без учётных данных.
- Проверить работу через HTTPS (если настроен).
Короткий словарь
- WebDAV — расширение HTTP для удалённого редактирования и управления файлами.
- vhost — виртуальный хост Apache (виртуальный сайт).
- htpasswd — утилита для управления файлами паролей Apache.
- DAV On — директива Apache для включения WebDAV в указанном контексте.
Рекомендации по миграции и совместимости
- Поскольку Fedora 11 устарела, планируйте миграцию на поддерживаемую версию дистрибутива с актуальными пакетами.
- Проверьте совместимость модулей mod_dav и mod_dav_fs с вашей версией httpd.
- При переносе конфигурации сохраняйте абсолютные пути и права файлов.
Краткое резюме
WebDAV легко включается в существующий Apache-проект через Alias и
Важно: проверяйте права, SELinux и сетевые настройки при отладке.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента