Как настроить WebDAV с Apache2 на Mandriva 2010.1 Spring
Версия 1.0
Автор: Falko Timme
Следите за обновлениями в Twitter
1. Краткое пояснение
WebDAV (Web-based Distributed Authoring and Versioning) — расширение HTTP, которое позволяет редактировать и передавать файлы прямо на веб-сервер без явного FTP-загрузчика. В этом руководстве шаг за шагом показано, как включить WebDAV в Apache2 на Mandriva 2010.1 Spring. Примеры команд предполагают запуск от root или через sudo.
Важно: я не даю гарантий, что эта инструкция сработает во всех окружениях.
2. Предварительные замечания
В примерах используется сервер Mandriva 2010.1 Spring с IP 192.168.0.100. Если у вас другой адрес или уже настроенный vhost — адаптируйте пути и конфигурацию соответственно.
3. Установка WebDAV
Обновите базу пакетов:
urpmi.update -aУстановите Apache и модуль WebDAV:
urpmi apache apache-mod_davОткройте /etc/httpd/conf/httpd.conf и убедитесь, что в секции LoadModule раскомментированы следующие модули. Если в конце строк появляется лишняя строка “-> available in the apache-mod_dav package”, удалите её, чтобы не было ошибок синтаксиса:
vi /etc/httpd/conf/httpd.confLoadModule 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 restart4. Создание виртуального хоста и корня веб-документов
Создадим директорию /var/www/web1/web и сделаем владельцем пользователя и группу apache:
mkdir -p /var/www/web1/web
chown apache:apache /var/www/web1/webДобавьте vhost в конец /etc/httpd/conf/httpd.conf (или отредактируйте существующий vhost, если вы хотите включить WebDAV в уже работающий сайт):
vi /etc/httpd/conf/httpd.confПример минимального vhost:
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 reload5. Конфигурация виртуального хоста для WebDAV
Создайте файл паролей для WebDAV и добавьте пользователя test (ключ -c создаёт файл заново — используйте только при первом создании):
htpasswd -c /var/www/web1/passwd.dav testВведите пароль при запросе. Если файл уже существует, не используйте -c, чтобы не перезаписать текущих пользователей.
Ограничьте права доступа так, чтобы файл паролей был доступен только root и группе apache:
chown root:apache /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.davДобавьте в ваш vhost следующие строки, чтобы примонтировать WebDAV по URL /webdav:
vi /etc/httpd/conf/httpd.confAlias /webdav /var/www/web1/web
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/web1/passwd.dav
Require valid-user
Полный 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
Примените изменения:
/etc/init.d/httpd reload6. Тестирование WebDAV
Установите cadaver — консольный WebDAV-клиент:
urpmi cadaverЗапустите тест подключения:
cadaver http://localhost/webdav/Ожидается запрос логина и пароля; введите test и соответствующий пароль. После успешной авторизации вы попадёте в dav:/> и сможете выполнять операции; введите quit для выхода.
Пример успешной сессии:
[root@server1 administrator]# cadaver http://localhost/webdav/
Authentication required for webdav on server `localhost':
Username: test
Password:
dav:/webdav/> quit
Connection to `localhost' closed.
[root@server1 administrator]#7. Отладка и распространённые ошибки
- 401 Unauthorized: проверьте, что файл /var/www/web1/passwd.dav содержит пользователя и что права на файл 640, владелец root:apache.
- 403 Forbidden: проверьте права на папку /var/www/web1/web и владельца apache:apache.
- 500 Internal Server Error: проверьте синтаксис httpd.conf (особенно если вы удаляли лишние фрагменты после LoadModule).
- Проблемы с блокировками (locks): модуль dav_lock должен быть включён. Если возникают ошибки блокировок при одновременной записи, исследуйте файл блокировок или настройте LOCK-ступени.
Полезные команды для диагностики:
/etc/init.d/httpd configtest
tail -n 200 /var/log/httpd/error_log
ls -la /var/www/web1/8. Укрепление безопасности
- Используйте HTTPS (SSL/TLS) для защиты передаваемых паролей — Basic-аутентификация передаёт данные в незашифрованном виде.
- Рассмотрите AuthType Digest или предпочтительнее — модуль для аутентификации через PAM/LDAP или внешнюю систему.
- Ограничьте доступ по IP или добавьте двухфакторную аутентификацию в более защищённой схеме.
- Регулярно обновляйте пакеты и применяйте патчи безопасности для Apache и модулей.
Пример минимальной директивы для принуждения HTTPS (включить SSL-конфигурацию отдельно):
SSLEngine on
SSLCertificateFile /path/to/cert.pem
SSLCertificateKeyFile /path/to/key.pem
...
9. Альтернативные подходы и совместимость
- Если вы используете Nginx, у него есть собственный модуль WebDAV (nginx-dav-module), но функционал отличается — Nginx не обеспечивает полный набор DAV-операций по умолчанию.
- Для совместной работы с версиями рассмотрите использование WebDAV-серверов с контролем версий (например, Subversion с mod_dav_svn), если нужна история изменений.
- На современных дистрибутивах имя пакетов и пути (например, /etc/httpd vs /etc/apache2) и команды управления сервисом (systemctl вместо /etc/init.d) могут отличаться.
10. Чек-лист ролей
Администратор:
- Установить пакеты и включить модули.
- Проверить синтаксис конфигурации и перезапустить Apache.
Разработчик/Контент-менеджер:
- Проверить права на файлы/директории.
- Опробовать базовые операции (создать/удалить/скачать файл).
Оператор безопасности:
- Настроить HTTPS и пересмотреть методы аутентификации.
- Проверить журналы доступа и ошибок.
11. Критерии приёмки
- При подключении через cadaver к http://localhost/webdav/ пользователь test проходит аутентификацию.
- Пользователь может создавать, изменять и удалять файлы в /var/www/web1/web.
- Доступ к файлу паролей ограничен (chown root:apache; chmod 640).
- Apache успешно перезагружается без ошибок конфигурации.
12. Краткая справка
- DAV On — включает WebDAV для указанного Location.
- AuthUserFile — путь к htpasswd-файлу.
- Alias — привязывает URL к реальному пути на диске.
Глоссарий (одна строка на термин):
- WebDAV: протокол для редактирования файлов по HTTP.
- vhost: виртуальный хост Apache.
- htpasswd: утилита для создания файла пользователей HTTP-аутентификации.
13. Сводка
Этот пошаговый сценарий показывает, как настроить WebDAV на Mandriva 2010.1 Spring с Apache2 и модулем mod_dav. Важные моменты: корректные права на файлы и директории, безопасная передача паролей (HTTPS) и проверка логов при возникновении ошибок. При необходимости выбирайте альтернативные методы аутентификации и учитывайте особенности вашего дистрибутива.
Важное: при публикации в продуктивной среде обязательно включите TLS и продумайте политику бэкапов и журналирования.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента