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

Как настроить WebDAV с Apache2 на OpenSUSE 12.2

• 4 min read • Серверы • Обновлено 28 Nov 2025
Настройка WebDAV с Apache2 на OpenSUSE 12.2
Настройка WebDAV с Apache2 на OpenSUSE 12.2

TL;DR

Настройте WebDAV на OpenSUSE 12.2, установив apache2, включив модули DAV, создав виртуальный хост и файл паролей. Проверьте работу через cadaver или клиент ОС; добавьте DAVLockDB и настройте права доступа для безопасности.

Введение

Версия 1.0
Автор: Falko Timme

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

Важно: автор не даёт гарантии, что инструкция сработает в вашей среде — адаптируйте шаги под вашу конфигурацию.

Краткие термины

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

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

В примере используется сервер OpenSUSE 12.2 с IP-адресом 192.168.0.100.

2 Установка WebDAV

Если Apache ещё не установлен, выполните:

zypper install apache2

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

a2enmod dav
a2enmod dav_fs
a2enmod dav_lock

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

systemctl enable apache2.service
systemctl start apache2.service

Важно: команды требуют root-права или sudo.

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

В примере мы создаём vhost для 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 :80:

vi /etc/apache2/httpd.conf

Пример части файла:

[...]
### Virtual server configuration ############################################
...
NameVirtualHost *:80

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

Затем перезапустите Apache:

systemctl restart apache2.service

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:

Alias /webdav /srv/www/web1/web


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

Полный 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 *:80:

vi /etc/apache2/httpd.conf

Пример фрагмента:


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

NameVirtualHost *:80

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

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

systemctl restart apache2.service

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

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

zypper install 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-клиентов. Для некоторых Windows-клиентов может понадобиться указать порт явно: http://www.example1.com:80/webdav/.

Безопасность и твики (Security hardening)

  • Используйте HTTPS (SSL/TLS) для защиты учётных данных Basic Auth. Установите сертификат и переведите vhost на порт 443.
  • Рассмотрите использование Digest или механизма аутентификации на базе Kerberos/LDAP вместо Basic, если нужна более строгая безопасность.
  • Держите файл паролей вне публичного дерева документов и с правами 640.
  • Ограничьте доступ к /webdav по IP или VPN для снижения атаки поверхности.

Важно: Basic Auth передаёт пароль в закодированном, но не шифрованном виде — без HTTPS это небезопасно.

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

  • Использовать Nginx с модулем dav (ограниченная функциональность).
  • Использовать WebDAV-реализацию через специализированный файловый сервер (Nextcloud/ownCloud) для продвинутых возможностей и управления пользователями.
  • Для простого обмена файлами можно настроить SFTP вместо WebDAV.

Где это может не сработать (Counterexamples / Troubleshooting)

  • Если модуль dav_fs не загружен — DAV не включится. Убедитесь, что a2enmod выполнился успешно.
  • Неправильные права на DocumentRoot или DAVLockDB приведут к ошибкам записи и проблемам с блокировками.
  • Брандмауэр или SELinux/AppArmor могут блокировать доступ — проверьте логи и разрешения.
  • На старых клиентах Windows поддержка WebDAV может быть ограничена; проверьте совместимость и используйте альтернативные клиенты.

Роль-ориентированные чеклисты

  • Администратор сервера: установить apache2, включить модули, создать vhost, задать DAVLockDB, перезапустить сервис.
  • Администратор безопасности: настроить HTTPS, проверить права на файлы, внедрить аудит доступа.
  • Оператор приложений: создать пользователей htpasswd, тестировать доступ cadaver/клиентами, документировать URL и инструкции для пользователей.

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

  • Пользователь test может подключиться и просматривать/загружать/загружать файлы через cadaver.
  • DAVLockDB доступна для записи процессу Apache (права и владелец верны).
  • Apache успешно перезапускается без ошибок конфигурации.

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

  • vhost — виртуальный хост Apache.
  • DAVLockDB — база блокировок WebDAV.
  • htpasswd2 — утилита для управления файлами паролей Apache.

6 Ссылки

Краткое резюме

WebDAV даёт удобный способ редактирования файлов прямо на сервере. Основные шаги: установить Apache, включить модули dav, создать vhost и файл паролей, указать DAVLockDB и протестировать доступ. Обязательно используйте HTTPS и настройте права доступа для безопасности.

Примечание: для продакшена рассмотрите использование более современных решений для совместной работы с файлами (Nextcloud, SFTP с PAM/LDAP и т. п.).

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