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

Настройка WebDAV в Apache2 на Debian Lenny

• 4 min read • DevOps • Обновлено 28 Nov 2025
Настройка WebDAV в Apache2 на Debian Lenny
Настройка WebDAV в Apache2 на Debian Lenny

Что такое WebDAV в одно предложение

WebDAV — расширение HTTP для редактирования и управления файлами на веб-сервере напрямую, без FTP: позволяет открывать, изменять и сохранять файлы на сервере.

Основные понятия

  • DAV On — включает WebDAV для указанного Location.
  • AuthUserFile — файл с паролями для базовой аутентификации (htpasswd).
  • Alias и — позволяют выделить путь для WebDAV в рамках виртуального хоста.

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

В примере используется Debian Lenny с IP 192.168.0.100 и пользователь Apache www-data. При необходимости подставьте свои значения. Я не даю гарантий работы в вашей среде — адаптируйте конфигурацию под ваши потребности.

Установка WebDAV

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

aptitude install apache2

Включите модули WebDAV:

a2enmod dav_fs
a2enmod dav

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

/etc/init.d/apache2 restart

Важно: используйте привилегии root или sudo для всех команд, которые требуют доступа к системным файлам и сервисам.

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

Создаём директорию для содержимого WebDAV и назначаем владельцем www-data:

mkdir -p /var/www/web1/web
chown www-data /var/www/web1/web

Делаем резервную копию дефолтного виртуального хоста и открываем его для редактирования:

mv /etc/apache2/sites-available/default /etc/apache2/sites-available/default_orig
vi /etc/apache2/sites-available/default

В файле вставьте (или отредактируйте) конфигурацию виртуального хоста:

NameVirtualHost *

        ServerAdmin webmaster@localhost

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

Перегружаем конфигурацию Apache:

/etc/init.d/apache2 reload

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

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

htpasswd -c /var/www/web1/passwd.dav test

Если файл уже существует — не используйте -c, иначе все пользователи будут удалены.

Ограничиваем доступ к файлу паролей:

chown root:www-data /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav

Добавьте в конфигурацию виртуального хоста следующие строки (внутри ):

Alias /webdav /var/www/web1/web


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

Итоговый виртуальный хост должен выглядеть так:

NameVirtualHost *

        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/apache2 reload

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

Установим cadaver — простейший CLI-клиент WebDAV:

aptitude install cadaver

Подключаемся и проверяем работу:

cadaver http://localhost/webdav/

Ожидается запрос имени пользователя: введите test и пароль. Пример сессии:

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

Если вы вошли — WebDAV работает.

Отладка и распространённые ошибки

  • Ошибка 403 Forbidden: Проверьте права на каталог /var/www/web1/web и пользователя www-data. Убедитесь, что Apache имеет право записи, если планируется запись через WebDAV.
  • Проблемы с аутентификацией: проверьте путь AuthUserFile и права на файл passwd.dav (должен быть доступен Apache). Если Apache запущен от www-data, файл должен быть readable группой www-data.
  • Модули не загружены: проверьте output a2enmod и /etc/apache2/mods-enabled.
  • SELinux или AppArmor: на системах с включёнными ограничениями безопасности может требоваться дополнительная настройка политик.

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

  • Использовать WebDAV через отдельный виртуальный хост с отдельным доменом/портом (упрощает правила доступа).
  • Для защищённой работы применяйте HTTPS (TLS) — базовая аутентификация передаёт пароль в незашифрованном виде.
  • Рассмотрите SFTP для случаев, когда нужен только файловый доступ без HTTP-интеграции.

Чек-лист администратора перед вводом в эксплуатацию

  • Установлены и включены модули dav_fs и dav
  • Создан каталог /var/www/web1/web и назначен владелец www-data
  • Создан файл паролей /var/www/web1/passwd.dav и добавлены пользователи
  • Права на файл passwd.dav установлены как 640 и владелец root:www-data
  • Конфигурация виртуального хоста обновлена и перезагружена
  • Выполнено тестовое подключение cadaver или GUI-клиента
  • При необходимости настроен TLS и проверен сертификат

Быстрая шпаргалка команд

  • Установка Apache: aptitude install apache2
  • Включить модули: a2enmod dav_fs; a2enmod dav
  • Перезапустить: /etc/init.d/apache2 restart
  • Создать пользователя WebDAV: htpasswd -c /var/www/web1/passwd.dav test
  • Тест: cadaver http://localhost/webdav/

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

  • Системный администратор: установка, права, SELinux/AppArmor, перезагрузка сервиса.
  • DevOps/инженер безопасности: настройка TLS, аудит паролей, мониторинг доступа.
  • Тестировщик: проверка чтения/записи, проверка отказоустойчивости и восстановления.

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

  • Удалённое подключение к /webdav разрешено с учётными данными из passwd.dav.
  • Пользователь может читать и (если разрешено) записывать файлы в /var/www/web1/web.
  • Доступ к другим URL виртуального хоста остаётся стандартным HTTP.
  • Логи Apache не содержат ошибок доступа или модулей.

Таблица полезных значений

  • Порт по умолчанию: 80 (рекомендуется включить 443 + TLS)
  • Файл паролей: /var/www/web1/passwd.dav
  • Права файла паролей: 640 (root:www-data)
  • Путь WebDAV: /webdav
  • Владелец каталога: www-data

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

WebDAV даёт простой способ управлять файлами через HTTP. На Debian Lenny достаточно включить модули dav_fs и dav, настроить виртуальный хост с Alias и , создать файл паролей через htpasswd и протестировать подключение cadaver. Для продакшена обязательно используйте HTTPS и настройте права доступа.

Важное: если в вашей среде есть корпоративные политики безопасности (SELinux/AppArmor, прокси, брандмауэр), обязательно согласуйте и протестируйте настройку в тестовом окружении перед развёртыванием в продакшн.

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