Доступ до файлів Nextcloud за допомогою WebDAV
Nextcloud повністю підтримує протокол WebDAV, і ви можете підключатися і синхронізуватися з Nextcloud Files через WebDAV. У цьому розділі ви дізнаєтеся, як підключити Linux, macOS, Windows і мобільні пристрої до сервера Nextcloud.
WebDAV розшифровується як розподілене авторство та керування версіями. Це розширення HTTP, яке дозволяє легко створювати, читати та редагувати файли, розміщені на віддалених веб-серверах. За допомогою клієнта WebDAV ви можете отримати доступ до файлів Nextcloud (включно зі спільними ресурсами) на Linux, macOS і Windows так само, як до будь-якого віддаленого мережевого ресурсу, і залишатися синхронізованими.
Перш ніж ми перейдемо до налаштування WebDAV, давайте коротко розглянемо рекомендований спосіб підключення клієнтських пристроїв до Nextcloud.
Офіційні десктопні та мобільні клієнти Nextcloud
Рекомендованим способом синхронізації комп’ютера з сервером Nextcloud є використання `офіційних клієнтів синхронізації Nextcloud <https://nextcloud.com/install/#install-clients>`_. Ви можете налаштувати клієнт на збереження файлів у будь-якій локальній директорії, а також вибрати, з якими директоріями на сервері Nextcloud синхронізуватися. Клієнт відображає поточний стан з’єднання і реєструє всю активність, тому ви завжди знаєте, які віддалені файли були завантажені на ваш комп’ютер, і можете перевірити, чи правильно синхронізовані з сервером файли, створені і оновлені на вашому локальному комп’ютері.
Рекомендований спосіб синхронізації пристроїв Android та Apple iOS - використання `офіційних мобільних додатків Nextcloud <https://nextcloud.com/install/>`_.
Для підключення офіційних додатків Nextcloud до сервера Nextcloud використовуйте ту саму URL-адресу, яку ви використовуєте для доступу до Nextcloud у веб-браузері, наприклад:
https://cloud.example.com
Якщо Nextcloud встановлено в підкаталозі з назвою «nextcloud»:
https://example.com/nextcloud
Сторонні клієнти WebDAV
За бажанням ви також можете підключити свій комп’ютер до сервера Nextcloud за допомогою будь-якого стороннього клієнта, який підтримує протокол WebDAV (включаючи той, що може бути вбудований у вашу операційну систему).
Ви також можете використовувати сторонні програми з підтримкою WebDAV для підключення вашого мобільного пристрою до Nextcloud.
Використовуючи сторонні клієнти, майте на увазі, що вони можуть бути не оптимізовані для роботи з Nextcloud або не реалізовувати можливості, які ви вважаєте важливими для вашого сценарію використання.
Мобільні клієнти, про використання яких повідомляють учасники спільноти Nextcloud, включають в себе наступні:
URL-адреса, яку слід використовувати для налаштування сторонніх додатків для підключення до Nextcloud, трохи довша, ніж для офіційних клієнтів:
https://cloud.example.com/remote.php/dav/files/USERNAME/
Якщо Nextcloud встановлено в підкаталозі з назвою «nextcloud»:
https://example.com/nextcloud/remote.php/dav/files/USERNAME/
Примітка
При використанні стороннього WebDAV-клієнта (у тому числі вбудованого у вашу операційну систему) для входу слід використовувати пароль програми, а не ваш звичайний пароль. Окрім покращення безпеки, це `значно підвищує продуктивність <https://github.com/nextcloud/server/issues/32729#issuecomment-1556667151>`_. Щоб налаштувати пароль програми, увійдіть у веб-інтерфейс Nextcloud, натисніть на аватарку вгорі праворуч і виберіть Особисті налаштування. Потім виберіть Безпека на лівій бічній панелі і прокрутіть до самого низу. Там ви можете створити пароль додатку (який також можна відкликати в майбутньому, не змінюючи ваш основний пароль користувача).
Примітка
У наступних прикладах вам слід замінити example.com/nextcloud на URL-адресу вашого сервера Nextcloud (опустити частину каталогу, якщо інсталяція знаходиться в корені вашого домену), а USERNAME - на ім’я користувача, що підключається.
Дивіться URL-адресу WebDAV (внизу ліворуч у налаштуваннях вашого Nextcloud).
Доступ до файлів у Linux
Ви можете отримати доступ до файлів в операційних системах Linux за допомогою наступних методів.
Файловий менеджер Nautilus
Коли ви налаштуєте свій обліковий запис Nextcloud у `GNOME Control Center <./groupware/sync_gnome.html>`_, ваші файли буде автоматично змонтовано Nautilus як спільний WebDAV-ресурс, якщо ви не скасуєте доступ до файлів.
Ви також можете змонтувати файли Nextcloud вручну. Використовуйте протокол davs://
для підключення файлового менеджера Nautilus до вашого сховища Nextcloud:
davs://example.com/nextcloud/remote.php/dav/files/USERNAME/
Примітка
Якщо з’єднання з вашим сервером не захищено HTTPS, використовуйте dav://
замість davs://
:

Примітка
Цей же метод працює і для інших файлових менеджерів, що використовують GVFS, таких як Caja від MATE і Nemo від Cinnamon.
Доступ до файлів за допомогою файлового менеджера KDE та Dolphin
Перейдіть до Налаштування системи -> Мережа -> Облікові записи в Інтернеті
Натисніть «Додати обліковий запис…»
Натисніть Nextcloud
Введіть адресу вашого сервера
Дотримуйтесь інструкцій на екрані, щоб увійти в систему
Після входу переконайтеся, що ви ввімкнули «Сховище» в розділі «Використовувати цей обліковий запис для»
Тепер ви можете отримати доступ до своїх файлів у Dolphin у розділі «Мережа» на бічній панелі
(Необов’язково) Щоб додати його як ярлик на бічній панелі, клацніть правою кнопкою миші «Nextcloud Storage», а потім «Додати до місць»
(Необов’язково) Щоб налаштувати ярлик, клацніть правою кнопкою миші по ярлику на бічній панелі та виберіть «Редагувати…» і налаштуйте піктограму та напис, як вам подобається.
Створення монтувань WebDAV у командному рядку Linux
Ви можете створювати монтування WebDAV з командного рядка Linux. Це корисно, якщо ви бажаєте отримати доступ до Nextcloud так само, як і до будь-якої іншої віддаленої файлової системи. У наступному прикладі показано, як створити персональне монтування і налаштувати його автоматичне монтування щоразу, коли ви входите на свій комп’ютер з Linux.
Встановіть драйвер файлової системи WebDAV
davfs2
, який дозволяє монтувати ресурси WebDAV так само, як і будь-яку іншу віддалену файлову систему. Скористайтеся цією командою, щоб встановити його у Debian/Ubuntu:apt-get install davfs2
Використовуйте цю команду для встановлення на CentOS, Fedora та openSUSE:
yum install davfs2
Додайте себе до групи
davfs2
:usermod -aG davfs2 <username>
Потім створіть каталог
nextcloud
у вашому домашньому каталозі для точки монтування і.davfs2/
для вашого особистого файлу конфігурації:mkdir ~/nextcloud mkdir ~/.davfs2
Скопіюйте
/etc/davfs2/secrets
до~/.davfs2
:cp /etc/davfs2/secrets ~/.davfs2/secrets
Встановіть себе як власника і зробіть дозволи на читання і запис тільки власником:
chown <linux_username>:<linux_username> ~/.davfs2/secrets chmod 600 ~/.davfs2/secrets
Додайте свої облікові дані для входу в Nextcloud в кінець файлу
секрети
, використовуючи URL-адресу вашого сервера Nextcloud, а також ім’я користувача та пароль Nextcloud:https://example.com/nextcloud/remote.php/dav/files/USERNAME/ <username> <password> or $PathToMountPoint $USERNAME $PASSWORD for example /home/user/nextcloud john 1234
Додайте інформацію про монтування до
/etc/fstab
:https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<linux_username>/nextcloud davfs user,rw,auto 0 0
Потім перевірте, що він змонтувався і пройшов автентифікацію, виконавши наступну команду. Якщо ви все налаштували правильно, вам не знадобляться привілеї root:
mount ~/nextcloud
Ви також повинні вміти його знімати:
umount ~/nextcloud
Тепер щоразу, коли ви входите до системи Linux, ваш ресурс Nextcloud має автоматично монтуватися за допомогою WebDAV до вашого каталогу ~/nextcloud
. Якщо ви бажаєте монтувати його вручну, змініть auto
на noauto
в /etc/fstab
.
Відомі проблеми
Проблема
Ресурс тимчасово недоступний
Рішення
Якщо у вас виникли проблеми при створенні файлу в каталозі, відредагуйте /etc/davfs2/davfs2.conf
і додайте:
use_locks 0
Проблема
Попередження щодо сертифікатів
Рішення
Якщо ви використовуєте самопідписаний сертифікат, ви отримаєте попередження. Щоб це виправити, потрібно налаштувати davfs2
так, щоб він розпізнавав ваш сертифікат. Скопіюйте mycertificate.pem
до /etc/davfs2/certs/
. Потім відредагуйте /etc/davfs2/davfs2.conf
і розкоментуйте рядок серверсертифікат
. Тепер додайте шлях до вашого сертифіката, як у цьому прикладі:
servercert /etc/davfs2/certs/mycertificate.pem
Доступ до файлів за допомогою macOS
Примітка
MacOS Finder страждає від низки проблем з реалізацією <http://sabre.io/dav/clients/finder/>`_ і його слід використовувати лише якщо сервер Nextcloud працює на Apache і mod_php, або Nginx 1.3.8+. Альтернативні macOS-сумісні клієнти, здатні отримати доступ до ресурсів WebDAV, включають програми з відкритим вихідним кодом, такі як `Cyberduck <https://cyberduck.io/>`_ (див. інструкції `тут <https://docs.nextcloud.com/server/latest/user_manual/files/access_webdav.html#accessing-files-using-cyberduck>`_) і `Filezilla <https://filezilla-project.org>`_. Комерційні клієнти включають `Mountain Duck <https://mountainduck.io/>`_, `Forklift <https://binarynights.com/>`_, `Transmit <https://panic.com/>`_ і `Commander One <https://mac.eltima.com/>`_.
Щоб отримати доступ до файлів через Finder в macOS:
У верхньому рядку меню Finder виберіть Go > Connect to Server…:
Коли відкриється вікно Підключитися до сервера…, введіть WebDAV-адресу вашого сервера Nextcloud у полі Адреса сервера:, а саме:
https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
Натисніть Підключитися. Ваш WebDAV-сервер має з’явитися на робочому столі як диск зі спільним доступом.
Доступ до файлів за допомогою Microsoft Windows
Якщо ви використовуєте власну реалізацію WebDAV для Windows, ви можете зіставити Nextcloud з новим диском за допомогою Провідника Windows. Зіставлення з диском дозволить вам переглядати файли, що зберігаються на сервері Nextcloud, так само, як ви переглядали б файли, що зберігаються на зіставленому мережевому диску.
Для використання цієї функції потрібне підключення до мережі. Якщо ви хочете зберігати файли в автономному режимі, скористайтеся клієнтом для настільних комп’ютерів, щоб синхронізувати всі файли на вашому Nextcloud з одним або кількома каталогами на локальному жорсткому диску.
Примітка
Windows 10 тепер за замовчуванням дозволяє базову автентифікацію, якщо HTTPS увімкнено перед зіставленням диска.
У старих версіях Windows ви повинні дозволити використання базової автентифікації в реєстрі Windows:
запустіть
regedit
і перейдіть доHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
.Створіть або відредагуйте значення
BasicAuthLevel
(Windows Vista, 7 і 8) абоUseBasicAuth
(Windows XP і Windows Server 2003),DWORD
і встановіть його значення1
для SSL-з’єднань. Значення0
означає, що базову автентифікацію вимкнено, а значення2
дозволяє як SSL, так і не-SSL з’єднання (не рекомендується).Потім закрийте редактор реєстру і перезавантажте комп’ютер.
Зіставлення дисків за допомогою командного рядка
У наведеному нижче прикладі показано, як зіставити диск за допомогою командного рядка. Щоб зіставити диск:
Відкрийте командний рядок у Windows.
Введіть у командному рядку наступний рядок, щоб прив’язати до комп’ютера диск Z:
net use Z: https://<drive_path>/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
з <drive_path> в якості URL-адреси до вашого сервера Nextcloud. Наприклад:
net use Z: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
Комп’ютер зіставляє файли вашого облікового запису Nextcloud з диском на літеру Z.
Помилка
Якщо ви отримуєте наступну помилку Виникла системна помилка 67. Ім'я мережі не може бути знайдено.
або часті відключення, відкрийте програму Служби і переконайтеся, що служба WebClient
запущена і запускається автоматично при запуску.
Примітка
Хоча це не рекомендується, ви також можете підключити сервер Nextcloud за допомогою HTTP, залишивши з’єднання незашифрованим.
Якщо ви плануєте використовувати HTTP-з’єднання на пристроях у громадських місцях, ми наполегливо рекомендуємо використовувати VPN-тунель для забезпечення необхідної безпеки.
Альтернативний синтаксис команди:
net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser
yourpassword
Зіставлення дисків за допомогою провідника Windows
Зіставлення диска за допомогою провідника Microsoft Windows:
Відкрийте Провідник Windows на вашому комп’ютері з MS Windows.
Клацніть правою кнопкою миші на пункті Комп’ютер і виберіть Зобразити мережевий диск… зі спадного меню.
Виберіть диск локальної мережі, на який ви хочете зіставити Nextcloud.
Вкажіть адресу вашого екземпляра Nextcloud, а потім /remote.php/dav/files/USERNAME/.
Наприклад:
https://example.com/nextcloud/remote.php/dav/files/USERNAME/
Примітка
Для серверів, захищених SSL, встановіть прапорець Підключатися при вході, щоб переконатися, що зіставлення зберігається при наступних перезавантаженнях. Якщо ви хочете підключитися до сервера Nextcloud як інший користувач, встановіть прапорець Підключатися з використанням інших облікових даних.
Натисніть кнопку «Готово».
Провідник Windows відображає мережевий диск, роблячи ваш екземпляр Nextcloud доступним.
Доступ до файлів за допомогою Cyberduck
`Cyberduck <https://cyberduck.io/>`_ - браузер з відкритим вихідним кодом FTP, SFTP, WebDAV, OpenStack Swift і Amazon S3, призначений для передачі файлів на macOS і Windows.
Примітка
У цьому прикладі використовується Cyberduck версії 4.2.1.
Використовувати Cyberduck:
Вкажіть сервер без будь-якої інформації про протокол.
Наприклад:
example.com
.Вкажіть відповідний порт.
Порт, який ви обираєте, залежить від того, чи підтримує ваш сервер Nextcloud SSL. Cyberduck вимагає, щоб ви вибрали інший тип з’єднання, якщо плануєте використовувати SSL.
- Наприклад:
80
для незашифрованого WebDAV443
для безпечного WebDAV (HTTPS/SSL)
Скористайтеся випадаючим меню «Додаткові параметри», щоб додати решту URL-адреси WebDAV до поля «Шлях».
Наприклад:
remote.php/dav/files/USERNAME/
.
Тепер Cyberduck відкриває доступ до файлів на сервері Nextcloud.
Відомі проблеми
Проблема
Windows не підключається через HTTPS.
Рішення 1
Клієнт Windows WebDAV може не підтримувати індикацію імені сервера (SNI) на зашифрованих з’єднаннях. Якщо ви зіткнулися з помилкою під час монтування SSL-зашифрованого екземпляра Nextcloud, зверніться до свого провайдера, щоб отримати виділену IP-адресу для вашого сервера на основі SSL.
Рішення 2
Клієнт Windows WebDAV може не підтримувати з’єднання TLSv1.1 і TLSv1.2. Якщо ви обмежили конфігурацію вашого сервера лише підтримкою TLSv1.1 і вище, з’єднання з вашим сервером може бути неможливим. Будь ласка, зверніться до документації WinHTTP для отримання додаткової інформації.
Проблема
Ви отримуєте наступне повідомлення про помилку: Помилка 0x800700DF: Розмір файлу перевищує допустимий і не може бути збережений..
Рішення
Windows обмежує максимальний розмір файлу, який може бути передано зі спільного ресурсу WebDAV або до нього. Ви можете збільшити значення FileSizeLimitInBytes
у HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\WebClient\\Parameters
, натиснувши на Modify.
Щоб збільшити ліміт до максимального значення 4 ГБ, виберіть Десятковий, введіть значення 4294967295
і перезавантажте Windows або перезапустіть службу WebClient.
Проблема
Додавання диска WebDAV у Windows за допомогою описаних вище кроків не відображає правильний розмір доступного простору в Nextcloud, а замість цього показує розмір диска C: з його доступним простором.
Відповідай.
На жаль, це є обмеженням самого WebDAV, оскільки він не надає клієнту способу отримати доступне вільне місце на сервері. Windows автоматично повертається до показу розміру диска C: з його доступним простором. Тому, на жаль, не існує реального вирішення цієї проблеми.
Проблема
Не вдається отримати доступ до файлів з Microsoft Office через WebDAV.
Рішення
Відомі проблеми та їх вирішення задокументовано у статті KB2123563.
Проблема
Не вдається відобразити Nextcloud як WebDAV-диск у Windows за допомогою самопідписаного сертифіката.
Рішення
Доступ до вашого екземпляру Nextcloud через улюблений веб-браузер.
Натискайте до тих пір, поки не побачите помилку сертифіката в рядку стану браузера.
Перегляньте сертифікат, а потім на вкладці «Деталі» виберіть «Копіювати у файл».
Збережіть файл на робочому столі з довільною назвою, наприклад
myNextcloud.pem
.Перейдіть до меню «Пуск» > «Виконати», введіть MMC і натисніть «ОК», щоб відкрити Консоль керування Microsoft.
Виберіть Файл > Додати/видалити оснастку.
Виберіть «Сертифікати», натисніть «Додати», виберіть «Мій обліковий запис користувача», потім «Готово» і, нарешті, «ОК».
Зазирніть у розділ «Центри сертифікації довіри», «Сертифікати».
Клацніть правою кнопкою миші сертифікат, виберіть Усі завдання та Імпорт.
Виберіть збережений сертифікат на Робочому столі.
Виберіть Помістити всі сертифікати в наступне сховище і натисніть Огляд.
Установіть прапорець «Показати фізичні сховища», розгорніть список «Довірені кореневі центри сертифікації», виберіть там «Локальний комп’ютер», натисніть «ОК» і завершіть імпорт.
Перевірте список, щоб переконатися, що сертифікат з’явився. Можливо, вам потрібно буде оновити його, перш ніж ви побачите.
Вийдіть з MMC.
Для користувачів Firefox:
Запустіть браузер, перейдіть в меню Програми > Історія > Очистити недавню історію…
Виберіть «Все» у випадаючому меню «Часовий діапазон для очищення
Встановіть прапорець «Активні входи
Натисніть кнопку «Очистити зараз
Закрийте браузер, потім знову відкрийте і перевірте.
Для користувачів браузерів на базі Chrome (Chrome, Chromium, Microsoft Edge):
Відкрийте Панель керування Windows, перейдіть до розділу «Параметри Інтернету
На вкладці Вміст натисніть кнопку Очистити стан SSL.
Закрийте браузер, потім знову відкрийте і перевірте.
Доступ до файлів за допомогою cURL
Оскільки WebDAV є розширенням HTTP, cURL можна використовувати для написання сценаріїв файлових операцій.
Примітка
Налаштування → Адміністрування → Подавання спільного доступу → Дозволити користувачам цього сервера надсилати спільні ресурси на інші сервери. Якщо цей параметр вимкнено, до cURL слід передати параметр --header "X-Requested-With: XMLHttpRequest"
.
Створення теки з поточною датою як назвою:
$ curl -u user:pass -X MKCOL "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')"
Завантажити файл error.log
до цього каталогу:
$ curl -u user:pass -T error.log "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')/error.log"
Щоб перемістити файл:
$ curl -u user:pass -X MOVE --header 'Destination: https://example.com/nextcloud/remote.php/dav/files/USERNAME/target.jpg' https://example.com/nextcloud/remote.php/dav/files/USERNAME/source.jpg
Щоб отримати властивості файлів у кореневій теці:
$ curl -X PROPFIND -H "Depth: 1" -u user:pass https://example.com/nextcloud/remote.php/dav/files/USERNAME/ | xml_pp
<?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:" xmlns:oc="http://nextcloud.org/ns" xmlns:s="http://sabredav.org/ns">
<d:response>
<d:href>/nextcloud/remote.php/dav/files/USERNAME/</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Tue, 13 Oct 2015 17:07:45 GMT</d:getlastmodified>
<d:resourcetype>
<d:collection/>
</d:resourcetype>
<d:quota-used-bytes>163</d:quota-used-bytes>
<d:quota-available-bytes>11802275840</d:quota-available-bytes>
<d:getetag>"561d3a6139d05"</d:getetag>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/nextcloud/remote.php/dav/files/USERNAME/welcome.txt</d:href>
<d:propstat>
<d:prop>
<d:getlastmodified>Tue, 13 Oct 2015 17:07:35 GMT</d:getlastmodified>
<d:getcontentlength>163</d:getcontentlength>
<d:resourcetype/>
<d:getetag>"47465fae667b2d0fee154f5e17d1f0f1"</d:getetag>
<d:getcontenttype>text/plain</d:getcontenttype>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
</d:multistatus>
Доступ до файлів за допомогою WinSCP
`WinSCP <https://winscp.net/eng/docs/introduction/>`_ - безкоштовний SFTP, FTP, WebDAV, S3 і SCP клієнт з відкритим вихідним кодом для Windows. Його основною функцією є передача файлів між локальним і віддаленим комп’ютером. Крім цього, WinSCP пропонує скриптування і базові функції керування файлами.
Ви можете `звантажити <https://winscp.net/eng/downloads.php/>`_ портативну версію WinSCP і запустити її у Linux через `Wine <https://wiki.winehq.org/Main_Page/>`_.
Щоб запустити WinSCP у Linux, завантажте wine через менеджер пакетів вашого дистрибутива, а потім запустіть його командою: wine WinSCP.exe
.
Підключитися до Nextcloud:
Запустити WinSCP
Натисніть «Сеанс» у меню
Натисніть пункт меню «Новий сеанс
Встановіть у випадаючому списку «Файловий протокол» значення WebDAV
Встановіть у випадаючому списку «Шифрування» значення TLS/SSL Неявне шифрування
Заповніть поле імені хоста:
example.com
.Заповніть поле імені користувача:
NEXTCLOUDUSERNAME
.Заповніть поле пароля:
NEXTCLOUDPASSWORD
.Натисніть кнопку «Додатково…
Перейдіть до «Середовище», «Каталоги» зліва
Заповніть поле «Віддалений каталог» наступним чином:
/nextcloud/remote.php/dav/files/NEXTCLOUDUSERNAME/
.Натисніть кнопку «ОК
Натисніть кнопку «Зберегти
Виберіть потрібні опції та натисніть кнопку «ОК
Натисніть кнопку «Увійти», щоб підключитися до Nextcloud
Примітка
Рекомендується використовувати пароль програми для пароля, якщо ви використовуєте TOTP, оскільки WinSCP не розуміє TOTP з Nextcloud на момент написання статті (2022-11-07).