Доступ к файлам Nextcloud с помощью WebDAV
Nextcloud fully supports the WebDAV protocol, and you can connect to and synchronize with Nextcloud Files over WebDAV. This chapter explains how to connect Linux, macOS, Windows, and mobile devices to your Nextcloud server.
WebDAV расшифровывается как распределенная разработка и управление версиями. Это расширение HTTP, которое упрощает создание, чтение и редактирование файлов, размещенных на удаленных веб-серверах. С помощью WebDAV-клиента вы можете получать доступ к своим файлам Nextcloud (включая общие ресурсы) в Linux, macOS и Windows так же, как и к любому удаленному сетевому ресурсу, и сохранять синхронизацию.
Before you configure WebDAV, review the recommended way to connect client devices to Nextcloud.
Официальный Nextcloud Desktop и мобильные клиенты
Рекомендуемый способ синхронизации настольного ПК с сервером Nextcloud заключается в использовании клиентов синхронизации Nextcloud/ownCloud. Вы можете настроить клиент для сохранения файлов в любом локальном каталоге и выбрать, какие каталоги на сервере Nextcloud синхронизировать. Клиент отображает текущее состояние соединения и регистрирует все действия, поэтому вы всегда знаете, какие удалённые файлы были загружены на ваш компьютер, и можете проверить, правильно ли синхронизированы с сервером файлы, созданные и обновлённые на вашем локальном ПК.
Рекомендуемый способ синхронизации сервера Nextcloud с устройствами Android и Apple iOS - использование мобильных приложений.
Чтобы подключить официальные приложения Nextcloud к серверу Nextcloud, используйте тот же URL-адрес, который вы используете для доступа к Nextcloud из веб-браузера, например:
https://cloud.example.com
If Nextcloud is installed in a subdirectory called «nextcloud»:
https://example.com/nextcloud
Сторонние клиенты WebDAV
При желании вы также можете подключить свой компьютер к серверу Nextcloud с помощью любого стороннего клиента, поддерживающего протокол WebDAV (включая тот, который может быть встроен в вашу операционную систему).
Вы также можете использовать сторонние приложения с поддержкой WebDAV для подключения вашего мобильного устройства к Nextcloud.
При использовании сторонних клиентов имейте в виду, что они могут быть не оптимизированы для использования с Nextcloud или не реализовывают возможности, которые вы считаете важными для своего варианта использования.
Мобильные клиенты, о которых сообщили участники сообщества Nextcloud, включают:
URL-адрес, используемый при настройке сторонних приложений для подключения к Nextcloud, немного длиннее, чем для официальных клиентов:
https://cloud.example.com/remote.php/dav/files/USERNAME/
If Nextcloud is installed in a subdirectory called «nextcloud»:
https://example.com/nextcloud/remote.php/dav/files/USERNAME/
Примечание
When using a third-party WebDAV client (including your operating system’s built-in client), you should use an application password for login rather than your regular password. In addition to improved security, this increases performance significantly. To configure an application password, log in to the Nextcloud Web interface, click your avatar, and choose Personal settings. Then choose Security in the left sidebar and scroll to the very bottom. There you can create an app password (which can also be revoked in the future without changing your main user password).
Примечание
В следующих примерах вы должны заменить example.com/nextcloud URL-адресом вашего сервера Nextcloud (пропустите часть каталога, если установка находится в корне вашего домена), а USERNAME - именем подключающегося пользователя.
You can find the WebDAV URL in Files settings under WebDAV in your Nextcloud account.
Доступ к файлам с помощью Linux
Вы можете получить доступ к файлам в операционных системах Linux, используя следующие методы.
Файловый менеджер Наутилус
When you configure your Nextcloud account in the GNOME Control Center, your files will automatically be mounted by Nautilus as a WebDAV share, unless you deselect file access.
Вы также можете смонтировать файлы Nextcloud вручную. Используйте протокол davs:// для подключения файлового менеджера Nautilus к вашей папке Nextcloud:
davs://example.com/nextcloud/remote.php/dav/files/USERNAME/
Примечание
Если ваше соединение с сервером не защищено HTTPS, используйте dav:// вместо davs://.
Примечание
Тот же метод работает и для других файловых менеджеров, использующих GVFS, таких как Caja из MATE и Nemo из Cinnamon.
Accessing files with KDE and Dolphin
Navigate to System Settings -> Networking -> Online Accounts
Click «Add Account…»
Click Nextcloud
Введите адрес вашего сервера
Follow the on-screen instructions to log in
After logging in, ensure you enable «Storage» in the «Use This Account For» section
You can now access your files in Dolphin under «Network» in the sidebar
(Optional) To add this location as a shortcut in the sidebar, right-click «Nextcloud Storage», then click «Add to Places»
(Optional) To customize the shortcut, right-click it in the sidebar, then click «Edit…» and customize the icon and label
Создание точек монтирования WebDAV в командной строке Linux
Вы можете создать точки монтирования WebDAV из командной строки Linux. Допустимо для унифицирования доступа к Nextcloud как и к любому удалённому ресурсу. Далее показано, как создать точку монтирования и автомонтировать её при каждом входе в систему на Linux-компьютере.
Установите драйвер
davfs2для файловой системы WebDAV, который позволит вам монтировать общие ресурсы 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 в конец файла
secrets, используйте 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. Теперь добавьте путь к вашему сертификату, как в этом примере:
servercert /etc/davfs2/certs/mycertificate.pem
Доступ к файлам с помощью macOS
Примечание
The macOS Finder suffers from a series of implementation problems and should only be used if the Nextcloud server runs on Apache and mod_php, or Nginx 1.3.8+. Alternative macOS-compatible clients capable of accessing WebDAV shares include open source apps like Cyberduck (see instructions here) and Filezilla. Commercial clients include Mountain Duck, Forklift, Transmit, and Commander One.
Чтобы получить доступ к файлам через macOS Finder:
В верхней строке меню Finder выберите Go > Подключиться к серверу…
Когда откроется окно Подключиться к серверу.., введите адрес WebDAV вашего сервера Nextcloud в поле Адрес сервера:, т.е.:
https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
Нажмите Подключить. Ваш сервер WebDAV должен появиться на рабочем столе как общий диск.
Доступ к файлам с помощью Microsoft Windows
Если вы используете встроенную реализацию WebDAV в Windows, вы можете подключить Nextcloud как новый сетевой диск с помощью проводника Windows. Это подключение позволит просматривать файлы, хранящиеся на сервере Nextcloud.
Использование этой функции требует подключения к сети. Если вы хотите хранить ваши файлы в автономном режиме, используйте Desktop Client для синхронизации всех файлов вашего Nextcloud с одним или несколькими каталогами вашего локального жёсткого диска.
Примечание
In Windows 10, Basic Authentication is allowed by default when HTTPS is enabled before mapping your drive.
В более старых версиях Windows необходимо разрешить использование Basic Authentication в реестре 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
Компьютер назначит диск Z для файлов вашей учётной записи Nextcloud.
Ошибка
Если вы получаете сообщение об ошибке Произошла системная ошибка 67. Не удается найти сетевое имя. или при частых отключениях, откройте приложение Службы и убедитесь, что служба «WebClient» запущена и запускается автоматически при запуске.
Примечание
Хотя это крайне не рекомендуется, вы можете подключить сервер Nextcloud с помощью HTTP, оставив соединение незашифрованным.
Если вы планируете использовать HTTP-соединения на устройствах, находясь в общественном месте, настоятельно рекомендуется использовать VPN-туннель для обеспечения необходимой безопасности.
Альтернативный синтаксис команды:
net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser
yourpassword
Сопоставление дисков с помощью проводника Windows
Чтобы подключить диск с помощью Microsoft Windows Explorer:
Откройте Проводник 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 - это браузер с открытым исходным кодом для 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) для зашифрованных соединений. Если вы обнаружите ошибку при монтировании экземпляра Nextcloud с шифрованием SSL, обратитесь к своему провайдеру о назначении выделенного IP-адреса для вашего сервера на основе SSL.
Решение 2
Клиент Windows WebDAV может не поддерживать подключения TLSv1.1/TLSv1.2. Если вы ограничили конфигурацию своего сервера только предоставлением TLSv1.1 и выше, соединение с вашим сервером может завершиться ошибкой. Пожалуйста, обратитесь к документации WinHTTP для получения дополнительной информации.
Проблема
Появляется следующее сообщение об ошибке: Ошибка 0x800700DF: размер файла превышает допустимый предел и не может быть сохранен.
Решение
Windows limits the maximum size a file transferred from or to a WebDAV share
may have. You can increase the value FileSizeLimitInBytes in
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\WebClient\\Parameters
by clicking on Modify.
To increase the limit to the maximum value of 4GB, select Decimal, enter a
value of 4294967295, and reboot Windows or restart the WebClient
service.
Проблема
Adding a WebDAV drive on Windows with the steps above does not display the correct available Nextcloud space and instead shows the size and free space of the C: drive.
Ответ
Unfortunately, this is a limitation of WebDAV itself, because it does not provide a way for the client to retrieve available free space from the server. Windows automatically falls back to the size and free space of the C: drive. There is no direct solution for this limitation.
Проблема
Не удается получить доступ к вашим файлам из Microsoft Office через WebDAV.
Решение
Известные проблемы и способы их решения описаны в статье KB2123563.
Проблема
Невозможно сопоставить Nextcloud как диск WebDAV в Windows, используя самоподписаный сертификат.
Решение
Access your Nextcloud instance in your preferred Web browser.
Нажимайте, пока не дойдете до ошибки сертификата в строке состояния браузера.
Просмотрите сертификат, затем на вкладке «Сведения» выберите «Скопировать в файл».
Сохраните на рабочий стол с произвольным именем, например
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 is a free, open-source SFTP, FTP, WebDAV, S3, and SCP client for Windows. Its main function is file transfer between a local and a remote computer. WinSCP also offers scripting and basic file management functionality.
Вы можете загрузить портативную версию WinSCP и запустить её в Linux через Wine.
To run WinSCP on Linux, install Wine through your distribution’s package manager,
then run: wine WinSCP.exe.
Чтобы подключиться к Nextcloud:
Запустите WinSCP
Нажмите «Сессия» в меню
Нажмите пункт меню «Новая сессия»
Установите в раскрывающемся списке «Файловый протокол» значение WebDAV
В раскрывающемся списке «Шифрование» выберите «Неявное шифрование TLS/SSL»
Заполните поле имени хоста:
example.comЗаполните поле имени пользователя:
NEXTCLOUDUSERNAMEЗаполните поле пароля:
NEXTCLOUDPASSWORDНажмите кнопку „Дополнительно…“
Перейдите в «Окружение», «Каталоги» с левой стороны.
Заполните поле «Удалённый каталог» следующим образом:
/nextcloud/remote.php/dav/files/NEXTCLOUDUSERNAME/Нажмите кнопку „ОК“
Нажмите кнопку „Сохранить“
Выберите нужные параметры и нажмите кнопку «ОК».
Нажмите кнопку «Войти», чтобы подключиться к Nextcloud.
Примечание
If you use TOTP, use an app password. At the time of writing (2022-11-07), WinSCP does not support TOTP with Nextcloud.