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

Настройка WebDAV с Apache2 на OpenSUSE 11.2

5 min read Серверы Обновлено 27 Nov 2025
WebDAV на OpenSUSE 11.2 с Apache2
WebDAV на OpenSUSE 11.2 с Apache2

Версия 1.0
Автор: Falko Timme
Подписывайтесь на меня в Twitter

Введение

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

Важно: Автор не даёт гарантий, что инструкция сработает в вашей среде. Тестируйте изменения на тестовом сервере прежде, чем применять в продакшене.

1 Предварительное замечание

В примерах используется сервер OpenSUSE 11.2 с IP-адресом 192.168.0.100. При необходимости замените адреса и домены на ваши.

2 Установка WebDAV

Если Apache ещё не установлен, установите его командой:

yast2 -i apache2

Затем включите модули WebDAV:

a2enmod dav
a2enmod dav_fs
a2enmod dav_lock

Создайте системные ссылки автозапуска для Apache и запустите службу:

chkconfig --add apache2
/etc/init.d/apache2 start

Примечание: команды управления сервисами специфичны для OpenSUSE 11.2; в более новых версиях используются systemctl.

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

В этом примере создаём виртуальный хост www.example1.com, корневая директория — /srv/www/web1/web. Если у вас уже есть vhost, адаптируйте пути и имена.

Создаём директорию и назначаем владельца (Apache-пользователь wwwrun и группа www):

mkdir -p /srv/www/web1/web
chown wwwrun:www /srv/www/web1/web

Создайте файл vhost:

vi /etc/apache2/vhosts.d/www.example1.com.conf

Вставьте в файл следующее:


        ServerAdmin webmaster@localhost
        ServerName www.example1.com
        ServerAlias example1.com

        DocumentRoot /srv/www/web1/web/
        
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        

Откройте /etc/apache2/httpd.conf и перед строкой Include /etc/apache2/vhosts.d/.conf добавьте NameVirtualHost :

vi /etc/apache2/httpd.conf

Найдите секцию конфигурации виртуальных хостов и добавьте/проверьте:

[...]
NameVirtualHost *

Include /etc/apache2/vhosts.d/*.conf
[...]

Перезапустите Apache:

/etc/init.d/apache2 restart

4 Настройка виртуального хоста для WebDAV

Создаём файл паролей WebDAV и добавляем пользователя test (ключ -c создаёт файл):

htpasswd2 -c /srv/www/web1/passwd.dav test

Вас попросят ввести пароль для пользователя test. Не используйте -c, если файл уже существует — это перезапишет его и удалит всех других пользователей.

Измените права доступа, чтобы файл мог читать root и члены группы www:

chown root:www /srv/www/web1/passwd.dav
chmod 640 /srv/www/web1/passwd.dav

Отредактируйте vhost /etc/apache2/vhosts.d/www.example1.com.conf и добавьте Alias и секцию Location для WebDAV:

vi /etc/apache2/vhosts.d/www.example1.com.conf

Вставьте:

        Alias /webdav /srv/www/web1/web

        
           DAV On
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /srv/www/web1/passwd.dav
           Require valid-user
       

Alias вместе с позволяет включать WebDAV только для /webdav, в то время как остальные URL данного vhost остаются обычными HTTP.

Финальный vhost будет выглядеть примерно так:


        ServerAdmin webmaster@localhost
        ServerName www.example1.com
        ServerAlias example1.com

        DocumentRoot /srv/www/web1/web/
        
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        

        Alias /webdav /srv/www/web1/web

        
           DAV On
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /srv/www/web1/passwd.dav
           Require valid-user
       

Следующий шаг — указать расположение базы блокировок WebDAV. В примере я использую /var/lib/dav/:

mkdir /var/lib/dav/
chown wwwrun:www /var/lib/dav/

Отредактируйте /etc/apache2/httpd.conf и добавьте DAVLockDB выше строки NameVirtualHost *:

vi /etc/apache2/httpd.conf

Добавьте блок:


# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb

NameVirtualHost *

Перезапустите Apache:

/ etc/init.d/apache2 restart

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

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

yast2 -i cadaver

Тест подключения:

cadaver http://www.example1.com/webdav/

Должно появиться приглашение ввести имя пользователя и пароль. Введите test и соответствующий пароль. Если доступ предоставлен — WebDAV работает. Введите quit для выхода:

server1:~ # cadaver http://www.example1.com/webdav/
Authentication required for webdav on server `www.example1.com':
Username: test
Password:
dav:/webdav/> quit
Connection to `www.example1.com' closed.
server1:~ #

URL WebDAV: http://www.example1.com/webdav/ для Linux-клиентов и http://www.example1.com:80/webdav/ для клиентов Windows (в некоторых клиентах Windows требуется указать порт).

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

Важно: Basic Auth передаёт учётные данные в кодировке Base64 (не зашифрованы). Рекомендации:

  • Используйте HTTPS (SSL/TLS) для защищённого обмена и авторизации.
  • Храните файл паролей вне общедоступных директорий и с правами 640/640.
  • По возможности используйте более продвинутые механизмы аутентификации (LDAP, Kerberos) для корпоративных сред.
  • Ограничьте доступ по IP/ACL к /webdav для уменьшения поверхности атаки.
  • Регулярно проверяйте и защищайте DAVLockDB от перезаписи и доступов.

7 Тесты и критерии приёмки

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

  • Apache успешно запускается после конфигурации без ошибок.
  • Веб‑браузер/ cadaver получают запрос аутентификации при обращении к /webdav.
  • Пользователь с действительными учётными данными может просмотреть/загрузить/создать файл в /webdav.
  • Попытки без аутентификации или с неверными учётными данными отклоняются.
  • База блокировок DAVLockDB создаётся и имеет корректные права доступа.

Тестовые случаи

  • Попытка доступа без авторизации: должно быть 401 Unauthorized.
  • Попытка записи и блокировки файла параллельно с двух клиентов: блокировки должны работать (проверить через cadaver).
  • Перезапуск Apache не приводит к потере DAVLockDB или к нарушению прав доступа.

8 Чек‑лист системного администратора

Перед запуском:

  • Сделан резерв конфигурации Apache
  • Каталог /srv/www/web1/web создан и имеет владельца wwwrun:www
  • Файл паролей /srv/www/web1/passwd.dav создан и защищён
  • DAVLockDB настроен и соответствует правам доступа
  • Приведён список пользователей, которым нужен доступ
  • В планах — включение HTTPS

При эксплуатации:

  • Мониторинг логов (error_log, access_log) на предмет ошибок WebDAV
  • Регулярное тестирование аутентификации
  • Обновление пакетов Apache и OpenSUSE

9 Когда это может не работать (частые проблемы)

  • Модуль dav_fs не включён: убедитесь, что a2enmod dav_fs выполнился успешно.
  • Неправильные права доступа на каталог или файлы: проверьте chown/chmod.
  • DAVLockDB отсутствует или доступ закрыт для Apache-пользователя.
  • Фаервол блокирует соединения: откройте порт 80/443 для нужных адресов.
  • В некоторых средах SELinux/AppArmor может блокировать доступ к файлам — проверьте профиль безопасности.

10 Альтернативные подходы

  • Если нужна совместная работа в локальной сети — рассмотрите Samba или NFS для простого шаринга.
  • Для версионности и совместной работы с историей — используйте Git или специализированные системы управления версиями.
  • Если важна интеграция с каталогом пользователей — используйте LDAP/Active Directory для аутентификации в Apache.

11 Роли и ответственность

Системный администратор:

  • Настройка Apache, модулей и прав доступа.
  • Настройка SSL/TLS и контроля доступа.

Администратор безопасности:

  • Проведение аудита и настройка политики паролей.

Пользователь:

  • Использование клиента WebDAV (cadaver, файловый менеджер, монтирование WebDAV в ОС).

12 Короткое объявление (для команды, 100–200 слов)

Мы внедрили WebDAV на Apache2 в OpenSUSE 11.2 для удобного удалённого редактирования и обмена файлами. Пользовательский доступ защищён базовой аутентификацией и файлом паролей; для рабочих сред настоятельно рекомендуется включить HTTPS. Администраторы должны проверить DAVLockDB и права на директории перед вводом в эксплуатацию. Инструкции по тестированию включают использование cadaver и критерии приёмки, чтобы убедиться в корректной работе. Если нужна интеграция с корпоративными учетными записями или усиленная безопасность, рассмотрим LDAP/SSL.

13 Краткий глоссарий

  • WebDAV: расширения HTTP для удалённого редактирования файлов.
  • DAVLockDB: файл базы блокировок WebDAV.
  • htpasswd2: утилита для создания файла пользователей Apache.

14 Полезные ссылки

Важно: адаптируйте примерные пути и конфигурации под вашу инфраструктуру и требования безопасности.

Конец руководства.

Поделиться: 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 быстро