0

Создание и настройка WebDAV-сервера

18.05.2023

Установите Web-Server Apache

sudo apt-get update
sudo apt-get install apache2

Задайте каталог для хранения данных WebDAV
По умолчанию корневым каталогом для документов сервера Apache (в Ubuntu 14.04 и выше) является каталог /var/www/html. Он образует древовидную структуру документов, которые должны быть доступны через интернет. Создайте новую папку с названием webdav в каталоге /var/www/:
sudo mkdir /var/www/webdav

Измените владельца папки на пользователя Apache www-data, чтобы у него был доступ к этой папке с правами на запись:
sudo chown -R www-data:www-data /var/www/

Включите модули WebDAV в конфигурации сервера Apache
Модули WebDAV входят в состав Apache, но по умолчанию они не включены. Включите их с помощью следующих команд:
sudo a2enmod dav
sudo a2enmod dav_fs

Настройте WebDAV-сервер
Первоначальная настройка
    Откройте файл конфигурации в текстовом редакторе, например, nano:
sudo nano /etc/apache2/sites-available/000-default.conf

Первой строкой добавьте следующую директиву:
DavLockDB /var/www/DavLock

Найдите секцию <VirtualHost> и добавьте в нее следующие директивы:
Alias /webdav /var/www/webdav 
<Directory /var/www/webdav> 
DAV On 
</Directory>

Директива DavLockDB задает путь к базе данных блокировок WebDAV.
Директива Alias позволяет предоставить веб-доступ к любой папке вне корневого каталога документов. В этом примере она связывает запросы к адресу http://<hostname>/webdav с каталогом /var/www/webdav.
Директива Directory задает ряд других директив, которые должны применяться к указанной папке и всему ее содержимому. В этом примере директива DAV определяет, что WebDAV должен быть включен для каталога /var/www/webdav.
В результате файл конфигурации должен выглядеть следующим образом:

Сохраните изменения и закройте файл.

Теперь WebDAV-сервер почти готов к использованию, но для обеспечения повышенной безопасности необходимо включить аутентификацию.

Включение аутентификации

Выберите нужный тип аутентификации в зависимости от следующих двух условий:

  • какую версию ONLYOFFICE (Windows или Linux) вы используете,
  • включен ли HTTPS на Apache-сервере.

С помощью следующей таблицы можно выбрать подходящий тип аутентификации.

HTTP ApacheHTTPS Apache
Linux-версия ONLYOFFICEBasicBasic
Windows-версия ONLYOFFICEDigestBasic, Digest

Установите необходимые компоненты

Независимо от того, какой тип аутентификации требуется включить, сначала установите утилиты apache2-utils для веб-сервера. Этот набор программ включает в себя и утилиту htpasswd, которая используется при создании файла с паролями для basic-аутентификации, и утилиту htdigest, которая используется при создании файла с паролями для digest-аутентификации.

sudo apt-get install apache2-utils

Создайте файл с паролями

Создайте файл, который содержит пароли пользователей, добавив первого пользователя:
Для Basic-аутентификации:
sudo htpasswd -c /etc/apache2/webdav.passwords alex

Для Digest-аутентификации:
sudo htdigest -c /etc/apache2/webdav.passwords webdav alex

Вам будет предложено задать и подтвердить новый пароль для указанного пользователя.

При добавлении других пользователей используйте эту же команду без флага -c:
Для Basic-аутентификации:
sudo htpasswd /etc/apache2/webdav.passwords chris

Для Digest-аутентификации:
sudo htdigest /etc/apache2/webdav.passwords webdav chris

Измените владельца файла с паролями на пользователя Apache www-data, чтобы у него был доступ к этому файлу:
sudo chown www-data:www-data /etc/apache2/webdav.passwords

Отредактируйте файл конфигурации сервера Apache

Откройте файл конфигурации в текстовом редакторе, например, nano:
sudo nano /etc/apache2/sites-available/000-default.conf

Добавьте следующие строки в секцию <Directory>:
Для Basic-аутентификации:
AuthType Basic 
AuthName "webdav" 
AuthUserFile /etc/apache2/webdav.passwords 
Require valid-user

Для Digest-аутентификации:
AuthType Digest 
AuthName "webdav" 
AuthUserFile /etc/apache2/webdav.passwords 
Require valid-user

Директива AuthType задает тип аутентификации, который должен использоваться, когда пользователи пытаются получить доступ к каталогу /var/www/webdav. Можно использовать значения Basic или Digest.
Директива AuthName задает название области аутентификации. Указанное значение должно отображаться в диалоговом окне ввода пароля в браузере, чтобы пользователь знал, какие именно учетные данные необходимо ввести. При включении Digest-аутентификации, это значение также включено в команду, используемую для создания файла с паролями, и выступает в качестве пространства имен пользователей.
Директива AuthUserFile задает путь к файлу, содержащему список пользователей и их паролей.
Директива Require проверяет, имеют ли пользователи, прошедшие аутентификацию, права на доступ к каталогу в соответствии с определенными ограничениями. В этом случае данная директива определяет, что все пользователи, подтвердившие свою личность, могут получить доступ к каталогу.
В результате файл конфигурации должен выглядеть следующим образом:

Сохраните внесенные изменения и закройте файл.

Примените изменения

  1. Включите выбранный модуль аутентификации.
    • Для Basic-аутентификации:
sudo a2enmod auth_basic

Для Digest-аутентификации:
sudo a2enmod auth_digest

Чтобы изменения вступили в силу, перезапустите сервер Apache с помощью следующей команды:
sudo service apache2 restart

Убедитесь, что каталог WebDAV доступен с внешнего компьютера:

К WebDAV-серверу можно получить доступ по адресу http://<hostname>/webdav

Где <hostname> - это IP-адрес или имя хоста WebDAV-сервера. Этот адрес можно ввести в адресной строке браузера или подключиться к нему через файловую систему компьютера. Например, в Ubuntu это можно сделать следующим образом:

В окне Файлы выберите пункт меню Подключиться к серверу.
В новом открывшемся окне введите dav://<hostname>/webdav и нажмите кнопку Подключиться.
Вам будет предложено ввести учетные данные. Введите имя пользователя WebDAV и пароль, указанные в файле с паролями, и нажмите кнопку Подключиться.

Подключение WebDAV-сервера к модулю "Документы"
Теперь вы можете перейти в модуль Документы и подключить сервер WebDAV.

Нажмите на ссылку Документы на стартовой странице портала.
В открывшемся модуле Документы нажмите на кнопку Кнопка Добавить аккаунт, расположенную под надписью Добавить аккаунт.
В окне Подключение аккаунта нажмите на кнопку Другой аккаунт.
Подключение аккаунта
Откроется новая форма. Введите в ней параметры для подключения каталога WebDAV:
Введите URL-адрес подключения в следующей форме: http://<hostname>/webdav/ или https://<hostname>/webdav/
В полях Логин и Пароль укажите имя пользователя WebDAV и его пароль.
В случае необходимости измените заданное по умолчанию имя каталога WebDAV в поле Название папки.
Вы также можете добавить каталог WebDAV не в ваши персональные документы, а в раздел Общие документы, доступный для всех пользователей портала. Для этого отметьте опцию Сделать доступным и поместить в папку 'Общие документы'.
Подключение аккаунта
Нажмите кнопку Сохранить.
Вы успешно подключили WebDAV-сервер к модулю Документы ONLYOFFICE. Теперь вы можете:

менять права доступа к папкам и документам внутри подключенного каталога WebDAV. Для получения дополнительной информации о правах доступа в модуле Документы можно обратиться к этой статье.
редактировать документы, используя полнофункциональные онлайн-редакторы. Чтобы узнать больше о возможностях онлайн-редакторов, обратитесь к этому разделу.

Свежие комментарии

Подписка

Лучшие статьи

Рубрики

Популярное

1 webdav 548 views

Памятка по использованию WebDAV

WebDAV — это расширение протокола HTTP, описанное в RFC4918. WebDAV добавляет в HTTP возможность загружать файлы на сервер, а также удалять / перемещать их, и
Previous Story

PostgreSQL Изменение таблиц

Next Story

PSQL ключи

Latest from Blog

Ansible: развёртывание Django-стека на 3 VM

Это четвертая и завершающая статья из цикла: настройка и развертывание Django-стека на серверах. До этого мы освоили основы Terraform, научились управлять облачным ЦОДом через него и подробно рассмотрели работу Django-стека на одном сервере. В этой статье —

Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300. От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам

Безопасная работа в домене ALD Pro на базе FreeIPA

В первой части мы обсудили правила HBAC и SUDO для ограничения доступа к хостам и предоставления прав на повышение привилегий. Теперь поднимем не менее важные вопросы: мы поговорим о политиках паролей, необходимости обновления

Mikrotik: изменяем TTL

Иногда для преодоления проблем от операторов сотовой связи необходимо зафиксировать TTL. Терминал: Через интерфейс:
Go toTop

Don't Miss

webdav

Памятка по использованию WebDAV

WebDAV — это расширение протокола HTTP, описанное в RFC4918. WebDAV добавляет в