Ubuntu webdav проблемы ssl

Обновлено: 02.07.2024

Моя разобранная заметка покажет Вам, как настроить WebDAV с использованием Web сервера Apache 2 на системе Ubuntu 12.04 Server amd64 защищенную область на сервере для хранения файлов и совместной работы с ними.

Моя система: Ubuntu 12.04 Server amd64

Description: Ubuntu 12.04 LTS

Отредактируем файл hosts:

$ sudo nano /etc/hosts

127.0.1.1 srv-monitor srv-monitor.polygon.local

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

Установка WebDAV подразумевает следующие подготовительные действия:

Для начала устанавливаем Apache2:

$ sudo apt-get install apache2

Установленная версия Apache 2 в моей системе:

Server version: Apache/2.2.22 (Ubuntu)

Server built: Mar 8 2013 15:53:13

Добавляем параметр ServerName в /etc/apache2/apache.conf:

$ sudo nano /etc/apache2/apache2.conf

После, включаем WebDAV модули , а именно:

$ sudo a2enmod dav*

Создаем каталог и устанавливаем на него соответствующие права :

$ sudo mkdir -p /var/www/web/

$ sudo chown www-data /var/www/web/

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

$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default.backup

Создаем файл паролей WebDAV /var/www/web/passwd.dav с пользователем ekzorchik:

$ sudo htpasswd -c /var/www/web/passwd.dav ekzorchik

New password: <указываете пароль для входа в защищенную область>

Re-type new password:

Adding password for user ekzorchik

, где -c — создать новый файл паролей WebDav, если он уже есть, то ключ «-c” использовать не надо, т. к. будет пересоздан файл паролей.

Ekzorchik – учётная запись с помощью которой будет производиться вход в защищенную область.

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

$ sudo chown root:www-data /var/www/web/passwd.dav

$ sudo chmod 640 /var/www/web/passwd.dav

Открываем на редактирование консольным редактором nano и приводим к нижеследующему виду:


Существует много способов использовать WebDAV-сервер. Например, вы можете поделиться документами Word или Excel со своими коллегами, загрузив их на свой сервер WebDAV. Таким же образом можно поделиться музыкальной коллекцией с семьей и друзьями –достаточно просто предоставить им URL-адрес. При этом никому не нужно устанавливать дополнительное программное обеспечение, поскольку все уже встроено в операционную систему «из коробки».

В этом руководстве вы научитесь настраивать доступ WebDAV через веб-сервер Apache из систем Windows, Mac и Linux по SSL и с парольной аутентификацией.

Требования

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

Войдите на свой сервер как пользователь sudo, чтобы начать работу.

1: Включение WebDAV-модулей Apache

Веб-сервер Apache предоставляет множество дополнительных функций в виде модулей. Их можно включать и отключать, чтобы добавлять и удалять те или иные функции Apache. Функциональность WebDAV обеспечивает модуль, который устанавливается вместе с Apache, но по умолчанию он не включен.

Вам нужно включить модули WebDAV с помощью утилиты a2enmod. Это сделают следующие две команды:

sudo a2enmod dav

sudo a2enmod dav_fs

Теперь перезапустите Apache, чтобы загрузить новые модули в работу:

sudo systemctl restart apache2.service

Итак, вы загрузили и запустили функции WebDAV. На следующем этапе мы настроим Apache для обслуживания файлов по WebDAV.

2: Настройка Apache

Сейчас мы создадим все необходимые конфигурации, чтобы внедрить WebDAV на сервер Apache.

Сначала создайте корневую папку WebDAV, /var/www/webdav, в ней будут храниться файлы, которыми вы хотите поделиться через WebDAV:

sudo mkdir /var/www/webdav

Затем сделайте пользователя Apache, www-data, владельцем папки WebDAV:

sudo chown www-data:www-data /var/www/webdav

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

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

sudo mkdir -p /usr/local/apache/var/

Параметр -p позволяет утилите mkdir создать все родительские каталоги в указанном вами пути (если какого-то из них не существует).

Затем с помощью утилиты chown передайте права на новый каталог пользователю и группе Apache:

sudo chown www-data:www-data /usr/local/apache/var

Давайте отредактируем файл VirtualHost, который содержит конфигурацию Apache для вашего домена. Он находится в /etc/apache2/sites-enabled/, а его имя заканчивается на le-ssl.conf, если вы использовали Certbot для получения сертификата SSL.

Откройте файл VirtualHost в текстовом редакторе:

sudo nano /etc/apache2/sites-enabled/your_domain-le-ssl.conf

В первой строке поместите директиву DavLockDB:

Затем вставьте директивы Alias ​​и Directory внутри тегов <VirtualHost> после всех остальных директив:

Alias /webdav /var/www/webdav

Директива Directory включает в Apache поддержку WebDAV для папки /var/www/webdav. Узнать больше о mod_dav можно в документации Apache.

Окончательный файл VirtualHost включает директивы DavLockDB, Alias ​​и Directory, это выглядит следующим образом:

<VirtualHost *:443>

CustomLog $/access.log combined

Alias /webdav /var/www/webdav

Если во время редактирования конфигурации Apache были допущены синтаксические ошибки, веб-сервер не запустится. Поэтому перед перезапуском Apache рекомендуется проверить ошибки в настройках. Для этого используйте утилиту apachectl:

sudo apachectl configtest

sudo systemctl restart apache2.service

Теперь сервер Apache поддерживает расширение WebDAV для обслуживания файлов, которые хранятся в /var/www/webdav. Однако пока мы не включили аутентификацию, читать и редактировать ваши файлы сможет любой пользователь, у кого есть доступ к вашему серверу. В следующем разделе мы включим аутентификацию для WebDAV.

3: Настройка аутентификации для WebDAV

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

Поскольку для этой цели мы уже создали папку /usr/local/apache/var/, мы также поместим туда и этот файл.

Сначала создайте в этой папке пустой файл users.password:

sudo touch /usr/local/apache/var/users.password

Затем передайте права на файл группе www-data, чтобы Apache мог читать и изменять файл:

sudo chown www-data:www-data /usr/local/apache/var/users.password

Новые пользователи добавляются в WebDAV с помощью утилиты htdigest. Следующая команда добавит в файл нового доверенного пользователя:

sudo htdigest /usr/local/apache/var/users.password webdav 8host

В этой команде есть аргумент webdav – он задает область, ее следует воспринимать как группу, в которую вы и добавляете нового пользователя. Также этот пользователи видят, когда вводят свое имя и пароль, чтобы получить доступ к вашему серверу WebDAV. Вы можете выбрать любое другое имя области, если оно лучше описывает ваш каталог WebDAV.

При запуске команды htdigest будет предложено ввести пароль и подтвердить его:

Adding user 8host in realm webdav

Re-type new password:

Следующим нашим шагом будет включение обязательной аутентификации для доступа к WebDAV – тогда Apache будет требовать ее у всех пользователей и читать для этого файл users.password.

Откройте файл VirtualHost:

sudo nano /etc/apache2/sites-enabled/your_domain-le-ssl.conf

Вставьте следующие строки в блок Directory:

Вот что делают эти строки:

Теперь блок <Directory> выглядит так:

Включите модуль auth_digest, чтобы Apache мог использовать метод дайджест-аутентификации:

sudo a2enmod auth_digest

Наконец, перезапустите Apache, чтобы включить новые настройки:

sudo systemctl restart apache2.service

4: Доступ к серверу WebDAV

Пора проверить доступ к серверу WebDAV с помощью браузеров в системах macOS, Windows и Linux (KDE и GNOME).

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

Откройте новый файл в текстовом редакторе:

sudo nano /var/www/webdav/webdav-testfile.txt

Добавьте в файл какой-нибудь текст, а затем сохраните и закройте его. Передайте права на файл пользователю и группе www-data:

sudo chown www-data:www-data /var/www/webdav/webdav-testfile.txt

Теперь мы можем попробовать получить доступ к серверу WebDAV.

Система Linux KDE

Сначала откройте менеджер файлов KDE Dolphin. Затем отредактируйте адресную строку, указав такой URL-адрес:

Когда вы нажмете ввод, вам будет предложено ввести имя пользователя и пароль.

Поставьте галочку в Remember password, если вы хотите, чтобы Dolphin сохранил ваш пароль. Затем нажмите Ок, чтобы продолжить. На экране вы увидите содержимое каталога /var/www/webdav/, которым вы можете управлять так, как если бы оно находилось в вашей локальной системе.

Добавьте сервер WebDAV в закладки, перетащив значок папки из адресной строки в раздел Remote в левой части панели навигации.

Система Linux GNOME

Сначала откройте приложение Files, кликнув на его значок в правой части рабочего стола.

Когда приложение откроется, сделайте следующее:

  1. Нажмите на кнопку + Other Locations.
  2. Введите URL-адрес вашего сервера WebDAV в следующей форме:

Затем нажмите Connect. На экране появится форма для аутентификации. В нее введите ваше имя и пароль.

Нажмите Connect, чтобы войти на сервер WebDAV. Поставьте галочку Remember forever, если вы не хотите каждый раз заново вводить пароль при доступе к этому серверу.

Теперь папка WebDAV будет доступна в приложении Files, где вы сможете управлять ее файлами.

Система macOS

Сначала откройте приложение Finder. Затем откройте меню Go и выберите Connect to server

Теперь вы увидите новое диалоговое окно, в котором можно указать URL-адрес сервера WebDAV. Этот URL должен иметь следующий вид:

Снова нажмите Connect, чтобы завершить процесс добавления сервера WebDAV в вашу систему.

Теперь сервер WebDAV можно найти в Finder в разделе Locations.

Система Windows

Сначала в меню Пуск откройте проводник (File Explorer). Когда приложение откроется, выберите This PC в левой панели навигации.

Затем нажмите Map network drive в верхней панели навигации.

Введите URL-адрес вашего сервера WebDAV в следующем формате:

Нажмите Finish, чтобы подключиться к серверу WebDAV. Вам будет предложено ввести имя пользователя и пароль.

Введите учетные данные и нажмите ОК, чтобы войти на сервер. Поставьте галочку в Remember my credentials, если вы не хотите каждый раз вводить пароль при доступе к этому серверу.

Теперь WebDAV появится в разделе This PC в левой панели проводника.

Заключение

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

Мало того, что многие не доверяют общедоступным облакам, так они еще и предлагают непозволительно малые объемы дискового пространства.

Однажды мне понадобилось 1Tb облачного хранилища и выбор пал на Nextcloud, который и было решено развернуть на собственном домашнем сервере

В данной статье я опишу как быстро и безболезненно установить и настроить облако Nextcloud и облачный редактор Onlyoffice

Статья предполагает, что у вас уже установлен и настроен Ubuntu.

Все действия были проверены на Ubuntu Server 20.04

Что будем делать:

Установим Nginx, PHP и MariaDB

Добавим бесплатный SSL-сертификат Let's Encrypt

Произведем тонкие настройки сервера

Первым делом, устанавливаем вспомогательные утилиты

Этот пункт можно пропустить, если настраиваете облако на локальный диск, а не на отдельную машину с доступом по nfs, мне понадобилось сделать это именно на nfs

Настраиваем php 7.4

снимаем комментарии со строк

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

sudo nano /etc/php/7.4/fpm/php.ini

Разрешаем автозапуск php-fpm и перезапускаем его:

Запуск сценария безопасности (здесь можно поменять пароль рута, убрать ненужные разрешения):

Создаем базу данных для Nextcloud (в примере указан пароль nextcloud, его лучше заменить на свой) :

Теперь надо создать файл конфигурации Nginx для Nextcloud

И вставляем в него следующий текст, естественно, заменив nextcloud.ваш.домен на свои сервера

Теперь необходимо получить сертификаты для ssl

Установка Certbot и его плагина Nginx:

Сертификаты появятся в папке /etc/letsencrypt/live/ваш.домен
cert.pem chain.pem fullchain.pem privkey.pem

sudo nano /etc/nginx/sites-available/nextcloud.conf

Скачиваем последнюю версию с сайте Nextcloud (версию уточняем на сайте):

Создаем пользователя, пароль, прописываем доступ к каталогу /nfs/nc/ (или вашему каталогу)

Прописываем созданную ранее базу данных и пароль к ней.

Ставим Redis и APCu

sudo apt install memcached php-memcached -y

sudo apt install php-apcu redis-server php-redis -y

sudo nano /var/www/nextcloud/config/config.php

И добавляем следующие строки перед закрывающей скобкой )

Переиндексация файлов (если скопировали файлы не через интерфейсы nextcloud, то их надо переиндексировать)

Устанавливаем OnlyOffice DocumentServer

После установки PostgreSQL создайте базу данных и пользователя PostgreSQL:

Пользователем и паролем для созданной базы данных должны быть onlyoffice.

Установка rabbitmq и nginx-extras:

Установка ONLYOFFICE Docs

Добавьте репозиторий ONLYOFFICE Docs:

Устанавливаем ONLYOFFICE Docs. Не ошибитесь с вводом пароля. Это должен быть onlyoffice

Внимание! С помощью протокола WebDAV нельзя подключиться к облачному хранилищу из браузера. Доступ через браузер возможен с помощью веб-панели управления облачным хранилищем.

Логин и пароль для доступа к хранилищу через WebDAV те же, что и для доступа в веб-панель управления облачным хранилищем.

Как настроить протокол WebDAV в Linux

Если вы используете в качестве операционной системы какой-либо дистрибутив Linux, вы можете настроить доступ к файлам в хранилище следующими способами.

Файловый менеджер Nautilus

Используйте протокол davs:// для подключения файлового менеджера Nautilus к облачному хранилищу: davs://webdav-storage-ru.atlex.cloud/

Файловый менеджер Dolphin в KDE

Чтобы подключиться к облачному хранилищу с помощью файлового менеджера Dolphin в KDE, используйте протокол webdav:// webdav://webdav-storage-ru.atlex.cloud/

Чтобы подключиться к облачному хранилищу с помощью файлового менеджера Dolphin в KDE, используйте протокол webdav://.

Вы можете создать постоянную ссылку к вашему облачному хранилищу, для этого выполните следующее:

Откройте Dolphin и нажмите на «Network»‎ в правом столбце «Places»‎ .

Нажмите на иконку «Add a Network Folder»‎ . В результате должно появиться диалоговое окно с уже выбранным WebDAV.

Если WebDAV не выбран, выберите его.

Нажмите на «Next»‎ .

Укажите следующие настройки:

Имя — желаемое имя, которое будет отображаться в закладках «Places»‎ , например ATLEX.

Пользователь — имя пользователя, которое используется для доступа к облачному хранилищу.

Опционально: Установите галочку в пункте «Create icon checkbox»‎ , чтобы в столбце «Places»‎ появилась закладка.

Опционально: Укажите любые специфические настройки или SSL-сертификат в поле «Port & Encrypted»‎ .

Как создать подключение WebDAV в командной строке Linux

Вы можете создать подключение WebDAV в командной строке Linux. Это имеет смысл, если вы предпочитаете получить доступ к облачному хранилищу точно так же, как и к любой другой удаленной файловой системе.

Следующие шаги позволят вам создать такое подключение и монтировать его автоматически при каждом входе в систему:

Установите драйвер файловой системы WebDAV davfs2, который позволит вам подключить папку WebDAV как любую другую удаленную файловую систему. Для дистрибутивов Debian или Ubuntu используйте команду:

Для дистрибутивов CentOS, Fedora и openSUSE используйте команду:

Добавьте себя в группу davfs2 :

Создайте папку atlex в качестве точки монтирования в своем домашнем каталоге и .davfs2/ для вашего личного файла конфигурации:

Скопируйте /etc/davfs2/secrets в

Назначьте себя владельцем и сделайте права на чтение и запись только владельцу:

/.davfs2/secrets chmod 600

Добавьте данные для доступа к облачному хранилищу в конец файла secrets, используя адрес облачного хранилища и логин и пароль для доступа к хранилищу:

Добавьте информацию о подключении в /etc/fstab :

Проверьте подключение и аутентификацию с помощью следующей команды. Если вы настроили все корректно, то права администратора не потребуются:

Чтобы отключить папку, выполните команду:

Возможные проблемы при использовании протокола WebDAV в Linux

Проблема: ресурс временно недоступен.

Решение: если проблема возникает, когда вы создаете файл в папке, отредактируйте /etc/davfs2/davfs2.conf , добавив use_locks 0 .

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Содержание

Подключение сетевого диска по протоколу WebDAV в Windows 10

Чтобы подключиться к каталогу WebDAV в Windows 10, вам понадобится URL-адрес облачного хранилища по протоколу WebDAV, данные для авторизации в вашу учетную запись.

  • Откройте Проводник на своем компьютере и нажмите правой кнопкой мыши по значку «Этот компьютер».


  • В открывшемся контекстном меню нажмите на «Подключить сетевой диск. »
  • В новом диалоговом окне введите букву диска, которую вы хотите сопоставить и в опции «Папка» укажите URL-ссылку сетевого хранилища, которая работает по протоколу WebDav. Поставьте галочку на опции «Использовать другие учетные данные».


Например, для облачного хранилища NextCloud ваша персональная ссылка доступна в левом нижнем углу веб-интерфейса облака, в окне Настройки.


Для облачного хранилища OneDrive ссылка на подключение должна содержать идентификатор.

Ссылка выглядит следующим образом:

Где xxxxxxxx – это идентификатор. Скопировать свой идентификатор можно в URL-адресе OneDrive. Авторизуйте в OneDrive , затем в адресной строке браузера скопируйте данные после знака равно.


  • В следующем окне ведите учетные данные авторизации облачного хранилища.


Будет произведена авторизация и затем подключение к облачному хранилищу.

  • Нажмите правой кнопкой мыши по значку «Быстрый доступ» , в появившемся меню выберите «Закрепить текущую папку на панели быстрого доступа».


Как повысить максимальный размер загружаемых файлов до 4 ГБ

По умолчанию в Windows максимальный размер файлов, которые можно пересылать по WebDAV, около 50 МБ. Чтобы повысить до 4 ГБ, выполните следующие действия:

  • Редактор реестра. Откройте меню Пуск и с помощью поиска в нем откройте приложение regedit от имени Администратора.


  • В редакторе реестра Regedit перейдите в каталог
  • Найдите значение FileSizeLimitInBytes. Нажмите правой кнопкой мыши и выберите «Изменить», а затем измените значение на ffffffff.

Что делать, если не удается подключиться к каталогу WebDAV

Если вы не можете подключиться к каталогу WebDAV, обновите базовый уровень проверки подлинности в реестре Windows.

  • Редактор реестра. Откройте меню Пуск и с помощью поиска в нем откройте приложение regedit от имени Администратора.
  • В редакторе реестра Regedit перейдите в каталог
  • Найдите значение BasicAuthLevel. Нажмите правой кнопкой мыши и выберите «Изменить», а затем измените значение на 2.


Подключение сетевого диска по протоколу WebDAV в Linux

Рассмотрим два способа подключения WebDav в Linux.

Примечание. OneDrive не поддерживает подключение по протоколу davs в Linux.

Первый способ. Подключение из файлового менеджера

  • Откройте файловый менеджер. В зависимости от файлового менеджера расположение опции для подключения может отличаться. Затем, например в файловом менеджере Nemo нажмите на Файл > Подключение к серверу.


Второй способ. Монтирование сетевого диска по протоколу WebDav

Во время установки вас спросят, хотите ли вы, чтобы непривилегированным пользователям было разрешено монтировать ресурсы WebDAV. Выберите Да.

  • Создаем папку в которую будем монтировать сетевой диск и папку для хранения конфигурации:

Вместо папки nextcloud можно указать свое название.

  • Продолжаем:
  • Ограничиваем права доступа к папке для только владельца:
  • Редактируем файл secrets:

В конце файла нужно вставить ссылку на подключение и данные для авторизации. Пример для подключения облака NextCloud:


В конце файла добавляем ссылку на подключения с именем и паролем и конфигурацией монтирования. Пример для подключения к NextCloud:


  • Добавляем себя в группу davs2:
  • Команда монтирования диска:
  • Команда для размонтирования:

Где nextcloud – это ваша папка названия сетевого диска (этап 2 в данной инструкции).

Читайте также: