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. Для получения дополнительной информации о правах доступа в модуле Документы можно обратиться к этой статье.
редактировать документы, используя полнофункциональные онлайн-редакторы. Чтобы узнать больше о возможностях онлайн-редакторов, обратитесь к этому разделу.

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

Подписка

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

Рубрики

Популярное

Previous Story

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

Next Story

PSQL ключи

Latest from Blog

Настройка простого беспроводного репитера на устройстве MikroTik

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

Настройка и использование Redis

В этой статье мы расскажем что такое Redis, его преимущества и для каких целей он используется. Redis (REmote DIctionary Server) — сетевое журналируемое хранилище данных типа “ключ” — “значение” с открытым исходным кодом. По сути Redis представляет собой базу данных

Настройка и использование Memcached

В статье мы расскажем, что такое Memcache, зачем он нужен и как он влияет на работу некоторых популярных CMS. Кеширование данных – немаловажный момент в работе любого веб-проекта. С ростом посещаемости увеличиваются требования к

Как настроить логирование и ротацию логов Nginx

Вовремя настроенное журналирование позволяет в дальнейшем избежать неожиданных проблем с веб-сервером. Информация, хранящаяся в логах (или журналах) сервера, помогает быстро оценить ситуацию и устранить ошибки. В этой статье мы рассмотрим возможности логирования

Распределение выполнения запросов внутри приватной сети VPS через HAProxy

Приватную сеть можно использовать для распределения выполнения загрузки и балансировки запросов между несколькими серверами. Рассмотрим организацию такой балансировки на примере HAProxy – бесплатного ПО, предназначенного для распределения нагрузки и организации проксирования TCP-пакетов между несколькими обслуживающими
Go toTop

Don't Miss

webdav

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

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