Установка WebDAV с Apache2 на Fedora 13
Кратко: пошаговое руководство по включению WebDAV на сервере Fedora 13 с Apache2, создание виртуального хоста, настройка аутентификации и тестирование через cadaver. Важно: используйте TLS для защиты паролей при работе с Basic Auth.
Версия 1.0
Автор: Falko Timme
Подписывайтесь в Twitter
Этот гид объясняет, как настроить WebDAV на сервере Fedora 13 с Apache2. WebDAV (Web-based Distributed Authoring and Versioning) — расширения HTTP, которые позволяют редактировать файлы прямо на сервере Apache без загрузки/выгрузки по FTP. WebDAV также подходит для загрузки и скачивания файлов.
Я не даю гарантий, что инструкция сработает в вашей среде — она даётся «как есть».
Важно: WebDAV с базовой аутентификацией передаёт пароли в незашифрованном виде. Всегда используйте HTTPS в рабочей сети.
1 Предварительная заметка
В примерах используется сервер Fedora 13 с IP-адресом 192.168.0.100.
2 Установка WebDAV
Если Apache ещё не установлен, установите его так:
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 start3 Создание виртуального хоста
В этом примере создаётся виртуальный хост с корневой директорией /var/www/web1/web. Если у вас уже есть vhost, адаптируйте инструкцию.
Создайте каталог и смените владельца на пользователя и группу 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 reload4 Настройка виртуального хоста для 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 следующие строки (в конец конфигурации виртуального хоста):
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 reload5 Тестирование WebDAV
Установите cadaver — консольный клиент WebDAV:
yum install cadaverТест подключения:
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 ~]#Отладка и типичные проблемы
- Нет доступа / 401 Unauthorized: проверьте путь AuthUserFile, права на файл и корректность пароля.
- DAV не включается: проверьте, загружены ли модули mod_dav и mod_dav_fs.
- Права на файловую систему: Apache (пользователь apache) должен иметь права на чтение/запись в целевой каталог.
- Проблемы с блокировками/кешем: при массовых операциях проверьте логи /var/log/httpd/error_log.
Альтернативы и когда это не подходит
- Если нужна совместная версионность с контролем изменений, используйте специализированные системы (Subversion, Git).
- Для шифрования и безопасной передачи данных используйте HTTPS (mod_ssl). Без TLS Basic Auth небезопасен.
- Если требуется смонтировать удалённую файловую систему, рассмотрите sshfs или NFS вместо WebDAV.
Мини-методология (шаги одним взглядом)
- Установить httpd.
- Убедиться, что модули mod_dav и mod_dav_fs загружены.
- Создать папку для веба и дать права apache.
- Добавить Alias +
в vhost. - Создать htpasswd файл и настроить права.
- Перезагрузить httpd и протестировать cadaver.
Чек-листы по ролям
Администратор:
- Проверить установку httpd и модулей.
- Настроить файлы конфигурации и доступы.
- Включить HTTPS и настроить SELinux/фаервол при необходимости.
Разработчик/пользователь:
- Убедиться, что есть учётная запись в passwd.dav.
- Тестировать подключение через cadaver или GUI-клиент.
Аудитор/безопасник:
- Проверить использование TLS.
- Проверить хранение паролей и права доступа к passwd.dav.
Критерии приёмки
- При подключении через cadaver авторизация проходит успешно.
- Пользователь может читать и записывать файлы в /webdav.
- Apache запускается без ошибок в логах после перезагрузки конфигурации.
- Передача чувствительных данных защищена HTTPS.
Быстрый набор команд (cheat sheet)
yum install httpd
chkconfig --levels 235 httpd on
/etc/init.d/httpd start
mkdir -p /var/www/web1/web
chown apache:apache /var/www/web1/web
htpasswd -c /var/www/web1/passwd.dav test
chown root:apache /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav
/etc/init.d/httpd reload
yum install cadaver
cadaver http://localhost/webdav/Краткий глоссарий
- WebDAV: расширение HTTP для удалённого управления файлами.
- htpasswd: утилита для управления файлами паролей Apache.
- cadaver: консольный WebDAV-клиент.
Рекомендации по безопасности
- Настройте HTTPS (mod_ssl) и перенаправляйте HTTP на HTTPS.
- По возможности используйте более защищённые схемы аутентификации (Digest, Kerberos) вместо Basic Auth.
- Ограничьте доступ по IP или сети, если WebDAV нужен только локально.
Итог
Это простая и проверенная последовательность действий для включения WebDAV в Apache на Fedora 13: установить httpd, создать vhost, добавить Alias и
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента