Ubuntu webdav проблемы ssl
Моя разобранная заметка покажет Вам, как настроить 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, кликнув на его значок в правой части рабочего стола.
Когда приложение откроется, сделайте следующее:
- Нажмите на кнопку + Other Locations.
- Введите 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 и нажмите на «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 в данной инструкции).
Читайте также: