Гид по технологиям

How To Set Up WebDAV With Apache2 On CentOS 5.5

• 5 min read • DevOps • Обновлено 28 Nov 2025
WebDAV на Apache2 в CentOS 5.5 — настройка
WebDAV на Apache2 в CentOS 5.5 — настройка

Настройка WebDAV на Apache2 в CentOS 5.5: установить httpd, включить модули dav и dav_fs, создать виртуальный хост с Alias /webdav, создать файл паролей htpasswd, ограничить права доступа и перезагрузить Apache. Для теста используйте командный клиент cadaver или любой WebDAV-клиент.

Введение

Этот документ объясняет, как настроить WebDAV с Apache2 на сервере CentOS 5.5. WebDAV (Web-based Distributed Authoring and Versioning) — расширения протокола HTTP, которые позволяют редактировать файлы напрямую на сервере Apache без необходимости загружать/выгружать их через FTP. Также WebDAV подходит для загрузки и скачивания файлов.

Я не даю гарантий, что описанное подойдёт для вашей среды — адаптируйте шаги под вашу конфигурацию.

Важно: в примерах используется IP 192.168.0.100 и пути к файлам конфигурации в CentOS: /etc/httpd/conf/httpd.conf, /var/www/web1/

Что потребуется

  • Сервер с CentOS 5.5 (root-доступ) или совместимая система
  • Права root для установки пакетов и изменения конфигураций
  • Пакет httpd (Apache) и утилита htpasswd
  • Клиент cadaver или GUI-клиент WebDAV для тестирования

1 Предварительная заметка

В примерах используется сервер CentOS 5.5 с IP 192.168.0.100. Если у вас другая версия или дистрибутив, обратитесь к разделу «Совместимость и примечания».

2 Установка WebDAV (Apache)

Если 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

Важное замечание: команды управления сервисом в CentOS 5.x используют /etc/init.d. На более новых версиях используется systemd.

3 Создание виртуального хоста

В примере мы создаём виртуальный хост с документ-рутом /var/www/web1/web. Скорректируйте пути под вашу структуру сайтов.

Создайте директорию и назначьте владельца apache:apache:

mkdir -p /var/www/web1/web
chown apache:apache /var/www/web1/web

Добавьте виртуальный хост в конец файла /etc/httpd/conf/httpd.conf (или создайте отдельный файл в /etc/httpd/conf.d/):

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
        

Перезагрузите или перечитайте конфигурацию Apache:

/etc/init.d/httpd reload

4 Настройка виртуального хоста для 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

Добавьте в конфигурацию виртуального хоста директивы Alias и Location для 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
       

Полная конфигурация 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

(Примечание: в некоторых окружениях пробел после слэша не нужен — приведённая команда должна быть без пробела: /etc/init.d/httpd reload.)

5 Тестирование WebDAV

Установите cadaver — консольный WebDAV-клиент:

yum install cadaver

Подключитесь к WebDAV:

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 ~]#

Проверка и отладка

Если подключение не удаётся:

  • Проверьте, запущен ли httpd: ps aux | grep httpd или /etc/init.d/httpd status.
  • Убедитесь, что модули mod_dav и mod_dav_fs загружены в httpd.conf.
  • Проверьте права доступа к директории /var/www/web1/web и к файлу /var/www/web1/passwd.dav.
  • Посмотрите логи Apache: /var/log/httpd/error_log и /var/log/httpd/access_log.
  • Попробуйте подключиться локально (http://localhost) и с другой машины по IP.

Если при авторизации браузер постоянно предлагает логин:

  • Убедитесь, что AuthUserFile указывает на существующий файл и что его права позволяют Apache читать файл.
  • Проверьте, что имя пользователя и пароль были созданы корректно через htpasswd.

Безопасность и рекомендации по доступу

  • Basic Auth передаёт учётные данные в кодировке Base64; используйте HTTPS (SSL/TLS), если WebDAV доступен через сеть.
  • Ограничьте доступ к /webdav по IP или через VPN при необходимости.
  • Храните файл паролей вне DocumentRoot, как в примере (/var/www/web1/passwd.dav).
  • Регулярно обновляйте пакеты и следите за патчами безопасности Apache.

Альтернативы и расширения

  • Для шифрования используйте модуль mod_ssl и настройте HTTPS. На CentOS 5.x это часто делается через пакет mod_ssl.
  • При необходимости более продвинутой аутентификации используйте digest-авторизацию, LDAP или интеграцию с PAM.
  • Для больших команд рассмотрите использование WebDAV-серверов уровня приложения (например, SabreDAV в PHP) для более гибкой логики прав.

Чеклист для развёртывания

  • Установлен пакет httpd
  • Подключены модулі mod_dav и mod_dav_fs
  • Создана директория DocumentRoot и права назначены apache:apache
  • Добавлен виртуальный хост с Alias /webdav
  • Создан файл паролей htpasswd и установлены права 640
  • Apache перезагружен и сервис активен
  • Проверено подключение через cadaver или GUI-клиент
  • При необходимости настроен HTTPS

Критерии приёмки

  • WebDAV доступен по URL http:///webdav/ и запрашивает аутентификацию.
  • Авторизованный пользователь может просматривать и изменять файлы в /var/www/web1/web через WebDAV.
  • Неавторизованные запросы получают отказ в доступе.

Частые ошибки и решения

  1. «401 Unauthorized» после ввода корректного пароля — проверьте AuthUserFile и права на файл.
  2. «405 Method Not Allowed» при попытке PUT — убедитесь, что DAV On включён в и mod_dav_fs загружен.
  3. Разрешения на файловой системе мешают записи — проверьте, что владелец/группа директории и права позволяют Apache создавать файлы.

Совместимость и заметки по версиям

Этот гайд ориентирован на CentOS 5.5 и Apache2 тех лет. На более новых системах команды управления сервисами и расположение конфигурационных файлов могут отличаться (например, systemd и директории /etc/httpd/conf.d/). Актуализируйте команды управления и пути под вашу ОС.

Быстрая сводка команд (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 на Apache2 в CentOS 5.5: от установки httpd и включения модулей до создания виртуального хоста с Alias /webdav и файла паролей. Не забудьте про безопасность — используйте HTTPS и ограничивайте доступ там, где это необходимо.

Ключевые файлы и пути: /etc/httpd/conf/httpd.conf, /var/www/web1/web, /var/www/web1/passwd.dav

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро