Доступ к файлам Nextcloud с помощью WebDAV

Nextcloud полностью поддерживает протокол WebDAV, и вы можете подключаться и синхронизироваться с файлами Nextcloud через WebDAV. В этой главе вы узнаете, как подключить Linux, macOS, Windows и мобильные устройства к вашему серверу Nextcloud через WebDAV. Прежде чем приступить к настройке WebDAV, давайте кратко рассмотрим рекомендуемый способ подключения клиентских устройств к вашим серверам Nextcloud.

Примечание

В следующих примерах вы должны заменить example.com/nextcloud URL-адресом вашего сервера Nextcloud (пропустите часть каталога, если установка находится в корне вашего домена), а «USERNAME» - именем подключающегося пользователя.

См. адрес для подключения к WebDAV (снизу слева в меню настройки) на Вашей странице Nextcloud

Примечание

В следующих примерах для входа Вам надо использовать пароль, который Вы можете создать в Настройках на вкладке Безопасность.

Nextcloud Desktop и мобильные клиенты

Рекомендуемый способ синхронизации настольного ПК с сервером Nextcloud заключается в использовании клиентов синхронизации Nextcloud/ownCloud. Вы можете настроить клиент для сохранения файлов в любом локальном каталоге и выбрать, какие каталоги на сервере Nextcloud синхронизировать. Клиент отображает текущее состояние соединения и регистрирует все действия, поэтому вы всегда знаете, какие удаленные файлы были загружены на ваш компьютер, и вы можете проверить, правильно ли синхронизированы файлы, созданные и обновленные на вашем локальном ПК, с сервером.

Рекомендуемый способ синхронизации сервера Nextcloud с устройствами Android и Apple iOS - использование мобильных приложений.

Чтобы подключить мобильное приложение к серверу Nextcloud, используйте только базовый URL и папку:

example.com/nextcloud

В дополнение к мобильным приложениям, предоставляемым Nextcloud или ownCloud, вы можете использовать другие приложения для подключения к Nextcloud со своего мобильного устройства с помощью WebDAV. WebDAV Navigator - хорошее (проприетарное) приложение для устройств Android и iPhone. URL для использования на них:

example.com/nextcloud/remote.php/dav/files/USERNAME/

Конфигурация WebDAV

При желании вы также можете подключить свой настольный ПК к серверу Nextcloud, используя протокол WebDAV, а не специальное клиентское приложение. Web Distributed Authoring and Versioning (WebDAV) - это расширение протокола передачи гипертекста (HTTP), которое позволяет легко создавать, читать и редактировать файлы на веб-серверах. С помощью WebDAV вы можете получать доступ к общим ресурсам Nextcloud в Linux, macOS и Windows так же, как и к любому удаленному сетевому ресурсу, и сохранять синхронизацию.

Доступ к файлам с помощью 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://.

скриншот настройки файлового менеджера Nautilus для использования WebDAV

Примечание

Тот же метод работает для других файловых менеджеров, которые используют GVfs, таких как Caja MATE и Nepomuk Cinnamon.

Доступ к файлам с помощью KDE и файлового менеджера Dolphin

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

webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/
скриншот настройки файлового менеджера Dolphin для использования WebDAV

Вы можете создать постоянную ссылку на свой сервер Nextcloud:

  1. Откройте Dolphin и нажмите «Сеть» в левом столбце «Места».

  2. Нажмите на иконку с надписью Добавить сетевую папку. Результирующий диалог должен появиться с уже выбранным WebDAV.

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

  4. Нажмите кнопку Далее.

  5. Введите следующие настройки:

    • Имя: имя, которое вы хотите видеть в закладке Размещение, например Nextcloud.

    • Пользователь: имя пользователя Nextcloud, которое вы использовали для входа, например, admin.

    • Сервер: доменное имя Nextcloud, например example.com (без http:// до каталогов).

    • Папка - введите путь nextcloud/remote.php/dav/files/USERNAME/.

  6. (Необязательно) Установите флажок «Создать значок», чтобы закладка появилась в столбце «Места».

  7. (Необязательно) Укажите любые специальные настройки или сертификат SSL в поле «Порт и шифрование».

Монтирования WebDAV в командной строке Linux

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

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

    apt-get install davfs2
    
  2. Используйте эту команду для установки на CentOS, Fedora и openSUSE:

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

    usermod -aG davfs2 <username>
    
  1. Затем создайте каталог nextcloud в вашем домашнем каталоге для точки монтирования и .davfs2/ для вашего личного файла конфигурации:

    mkdir ~/nextcloud
    mkdir ~/.davfs2
    
  2. Скопируйте /etc/davfs2/secrets в ~/.davfs2:

    cp  /etc/davfs2/secrets ~/.davfs2/secrets
    
  3. Установите себя в качестве владельца и сделайте права доступа для чтения и записи:

    chown <linux_username>:<linux_username> ~/.davfs2/secrets
    chmod 600 ~/.davfs2/secrets
    
  4. Добавьте свои учетные данные для входа в 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
    
  5. Добавьте информацию о монтировании в /etc/fstab:

    https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<linux_username>/nextcloud
    davfs user,rw,auto 0 0
    
  6. Затем проверьте, что он монтируется и аутентифицируется, выполнив следующую команду. Если вы установите его правильно, вам не понадобятся права root:

    mount ~/nextcloud
    
  7. Вы также должны иметь возможность размонтировать его:

    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:

  1. В верхней строке меню Finder выберите Go > Подключиться к серверу…

Скриншот ввода адреса сервера Nextcloud на macOS
  1. Когда откроется окно Подключиться к серверу.., введите адрес WebDAV вашего сервера Nextcloud в поле Адрес сервера:, т.е.

    https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
    
Скриншот: Введите адрес сервера Nextcloud в диалоговом окне "Подключиться к серверу..."
  1. Нажмите Подключить. Ваш сервер WebDAV должен появиться на рабочем столе как общий диск.

Доступ к файлам с помощью Microsoft Windows

Если вы используете собственную реализацию WebDAV в Windows, вы можете сопоставить Nextcloud с новым диском с помощью проводника Windows. Сопоставление с диском позволяет просматривать файлы, хранящиеся на сервере Nextcloud, так же, как и файлы, хранящиеся на сопоставленном сетевом диске.

Использование этой функции требует подключения к сети. Если вы хотите хранить ваши файлы в автономном режиме, используйте Desktop Client для синхронизации всех файлов вашего Nextcloud с одним или несколькими каталогами вашего локального жесткого диска.

Примечание

В Windows 10 теперь по умолчанию разрешена базовая аутентификация, если HTTPS включён перед сопоставлением диска. В старых версиях Windows необходимо разрешить использование базовой аутентификации в реестре Windows: запустите regedit и перейдите к HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters. Создайте или отредактируйте значение DWORD BasicAuthLevel (Windows Vista, 7 и 8) или UseBasicAuth (Windows XP и Windows Server 2003) и установите его значение 1 для SSL соединений. Значение 0 означает, что базовая аутентификация отключена, значение 2 разрешает как SSL, так и не-SSL соединения (не рекомендуется). Затем выйдите из Редактора реестра и перезагрузите компьютер.

Сопоставление дисков с помощью командной строки

В следующем примере показано, как подключить диск с помощью командной строки. Чтобы сопоставить диск:

  1. Откройте командную строку Windows.

  2. Введите следующую строку в командной строке, чтобы сопоставить диск компьютера 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.

Примечание

Хотя это и не рекомендуется, вы также можете подключить сервер Nextcloud по протоколу HTTP, оставив соединение незашифрованным. Если вы планируете использовать HTTP-соединения на устройствах в общественных местах, мы настоятельно рекомендуем использовать VPN-туннель для обеспечения необходимой безопасности.

Альтернативный синтаксис команды:

net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser
yourpassword

Сопоставление дисков с помощью проводника Windows

Чтобы подключить диск с помощью Microsoft Windows Explorer:

  1. Откройте Проводник Windows на компьютере под управлением MS Windows.

  2. Щелкните правой кнопкой мыши на элементе Компьютер и выберите Подключить сетевой диск… в раскрывающемся меню.

  3. Выберите локальный сетевой диск, к которому вы хотите подключить Nextcloud.

  4. Укажите адрес своего экземпляра Nextcloud, /remote.php/dav/files/USERNAME/.

Пример:

https://example.com/nextcloud/remote.php/dav/files/USERNAME/

Примечание

Для серверов, защищённых SSL, отметьте Переподключаться при входе, чтобы сопоставление сохранялось при последующих перезагрузках. Если вы хотите подключиться к серверу Nextcloud от имени другого пользователя, отметьте Подключиться, используя другие учётные данные.

скриншот отображения WebDAV в проводнике Windows
  1. Нажмите кнопку Готово.

Проводник Windows отображает сетевой диск, делая ваш экземпляр Nextcloud доступным.

Доступ к файлам с помощью Cyberduck

Cyberduck - это браузер с открытым исходным кодом для FTP и SFTP, WebDAV, OpenStack Swift и Amazon S3, предназначенный для передачи файлов в macOS и Windows.

Примечание

В этом примере используется Cyberduck версии 4.2.1.

Чтобы использовать Cyberduck:

  1. Укажите сервер без какой-либо информации протокола. Например:

example.com

  1. Укажите нужный порт. Выбор порта зависит от того, поддерживает ли ваш сервер Nextcloud SSL. Cyberduck требует, чтобы вы выбрали другой тип подключения, если вы планируете использовать SSL. Например:

80 (для WebDAV)

443 (для WebDAV (HTTPS/SSL))

  1. Используйте раскрывающееся меню «Дополнительные параметры», чтобы добавить оставшуюся часть URL-адреса WebDAV в поле «Путь». Например:

remote.php/dav/files/USERNAME/

Теперь Cyberduck обеспечивает доступ к файлам на сервере Nextcloud.

Доступ к общедоступным ресурсам через WebDAV

Nextcloud предоставляет возможность доступа к общим ресурсам через WebDAV.

Чтобы получить доступ к общедоступной папке, откройте:

https://example.com/nextcloud/public.php/webdav

в клиенте WebDAV используйте токен общего доступа в качестве имени пользователя и (необязательно) пароль общего ресурса в качестве пароля.

Примечание

SettingsAdministrationSharingAllow users on this server to send shares to other servers. This option also allows WebDAV access to public shares needs to be enabled in order to make this feature work, except if cURL is being used (see below).

Известные проблемы

Проблема

Windows не подключается с использованием HTTPS.

Решение 1

Клиент Windows WebDAV может не поддерживать Индикацию имени сервера (SNI) для зашифрованных соединений. Если вы обнаружите ошибку при монтировании экземпляра Nextcloud с шифрованием SSL, обратитесь к своему провайдеру о назначении выделенного 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.

Проблема

Не удается получить доступ к вашим файлам из Microsoft Office через WebDAV.

Решение

Известные проблемы и способы их решения описаны в статье KB2123563.

Проблема

Невозможно сопоставить Nextcloud как диск WebDAV в Windows, используя самоподписаный сертификат.

Решение

  1. Перейдите к своему экземпляру Nextcloud через ваш любимый веб-браузер.

  2. Нажимайте, пока не дойдете до ошибки сертификата в строке состояния браузера.

  3. Просмотрите сертификат, затем на вкладке «Сведения» выберите «Копировать в файл».

  4. Сохраните на рабочий стол с произвольным именем, например myNextcloud.pem.

  5. Пуск, Выполнить, MMC.

  6. Файл, добавить/удалить оснастку.

  7. Выберите «Сертификаты», нажмите «Добавить», «Моя учетная запись», «Готово» и «ОК».

  8. Выберете доверенные корневые центры сертификации, сертификаты.

  9. Щелкните правой кнопкой мыши Сертификат, выберите Все задачи, Импорт.

  10. Выберите Сохранить сертификат на рабочем столе.

  11. Выберите «Поместить все сертификаты в следующее хранилище», нажмите «Обзор»,

  12. Установите флажок «Показать физические хранилища», «Развернуть доверенные корневые центры сертификации» и выберите «Локальный компьютер», нажмите «ОК», завершите импорт.

  13. Проверьте список, чтобы убедиться, что он добавлен. Вам, вероятно, нужно обновить, прежде чем вы увидите это. Выйдите из MMC.

  14. Откройте Браузер, выберите Инструменты, Удалить историю просмотров.

  15. Выберите все, кроме Приватной фильтрации данных, завершите.

  16. Перейдите в Свойства обозревателя, Вкладка содержимого, Очистить состояние SSL.

  17. Закройте браузер, затем снова откройте и протестируйте.

Проблема

Вы не можете загружать более 50 МБ или загружать большие файлы, если загрузка занимает более 30 минут с помощью веб-клиента в Windows 7.

Решение

Обходные пути описаны в статье KB2668751.

Доступ к файлам с помощью cURL

Since WebDAV is an extension of HTTP, cURL can be used to script file operations.

Примечание

SettingsAdministrationSharingAllow users on this server to send shares to other servers. If this option is disabled the option --header "X-Requested-With: XMLHttpRequest" needs to be passed to cURL.

Чтобы создать папку с текущей датой в качестве имени:

$ 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>

Accessing files using WinSCP

WinSCP is an open source free SFTP client, FTP client, WebDAV client, S3 client and SCP client for Windows. Its main function is file transfer between a local and a remote computer. Beyond this, WinSCP offers scripting and basic file manager functionality.

You can download the portable version of WinSCP and run it on Linux through Wine.

To run WinSCP on Linux, download wine through your distribution’s package manager, then run it via: wine WinSCP.exe.

To connect to Nextcloud:

  • Start WinSCP

  • Press „Session“ in the menu

  • Press the „New Session“ menu option

  • Set the „File protocol“ dropdown to WebDAV

  • Set the „Encryption“ dropdown to TSL/SSL Implicit encryption

  • Fill in the hostname field: example.com

  • Fill in the username field: NEXTCLOUDUSERNAME

  • Fill in the password field: NEXTCLOUDPASSWORD

  • Press the „Advanced…“ button

  • Navigate to „Environment“, „Directories“ on the left side

  • Fill in the „Remote directory“ field with the following: /nextcloud/remote.php/dav/files/NEXTCLOUDUSERNAME/

  • Press the „OK“ button

  • Press the „Save“ button

  • Select the desired options and press the „OK“ button

  • Press the „Login“ button to connect to Nextcloud

Note: it is recommended to use an app password for the password if you use TOTP, as WinSCP does not understand TOTP in Nextcloud at the time of writing (2022-11-07).