Программа Nextcloud полностью совместима с протоколом WebDAV, благодаря чему вы можете установить соединение и синхронизировать ваши файлы Nextcloud по протоколу WebDAV. В данном разделе приведена информация о том, как подключить устройства под управлением ОС Linux, macOS, Windows, а также мобильные устройства к вашему серверу Nextcloud через протокол WebDAV. Перед описанием процесса настройки WebDAV необходимо рассмотреть рекомендованный способ подключения клиентских устройств к серверам Nextcloud.
Примечание: в следующих примерах нужно поменять текст «example.com/» на URL-адрес вашего сервера Nextcloud, а «Имя_пользователя» (USERNAME) на идентификатор пользователя, для которого создается соединение.
URL-адрес для протокола webdav можно узнать в Nextcloud (настройки в нижнем левом углу).
Для синхронизации настольного ПК с сервером Nextcloud рекомендуется использовать клиенты синхронизации Nextcloud/ownCloud. Вы можете настроить клиент таким образом, чтобы файлы сохранялись в локальную директорию, и можете указать директории на сервере Nextcloud, с которыми будет выполняться синхронизация. В клиенте отображается текущее состояние соединения и регистрируются все действия, чтобы вы знали, какие удаленные файлы были загружены на ваш ПК, и могли проверить, какие файлы на вашем локальном компьютере были созданы, обновлены и синхронизированы с сервером.
Для синхронизации сервера Nextcloud с устройствами под управлением ОС Android и Apple iOS рекомендуется использовать соответствующие мобильные приложения.
Для подключения вашего мобильного приложения к серверу Nextcloud нужно использовать только базовый URL-адрес и папку:
example.com/nextcloud
Кроме мобильных приложений в Nextcloud или ownCloud, можно использовать другие приложения для подключения к Nextcloud с вашего мобильного устройства по протоколу WebDAV. Для устройств под управлением ОС Android и смартфонов IPhone отличным вариантом является запатентованное приложение WebDAV Navigator. В данном случае используется следующий URL-адрес:
example.com/nextcloud/remote.php/dav/files/USERNAME/
При необходимости вы можете также подключить настольный ПК к серверу Nextcloud, используя протокол WebDAV вместо специального клиентского приложения. Web Distributed Authoring and Versioning (WebDAV) – расширение к протоколу переноса гипертекста (HTTP), которое упрощает процесс создания, чтения и редактирования файлов на веб-серверах. С помощью протокола WebDAV вы можете получить доступ к общим данным Nextcloud через устройства под управлением ОС Linux, macOS и Windows так же, как к удаленному общему сетевому файлу, и выполнить их синхронизацию.
Доступ к файлам на устройствах под управлением операционных систем Linux осуществляется следующим образом.
Используйте команду davs:// для подключения файлового менеджера Nautilus к нужному общему файлу Nextcloud:
davs://example.com/nextcloud/remote.php/dav/files/USERNAME/
Примечание: если соединение с сервером не использует протокол HTTPS, следует ввести команду dav://, а не davs://.
Для доступа к файлам Nextcloud при помощи файлового менеджера Dolphin в среде KDE нужно использовать команду webdav://:
webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/
Вы можете создать постоянную ссылку на ваш сервер Nextcloud:
Вы можете создать точки монтирования WebDAV с помощью командной строки Linux. Это может потребоваться в тех случаях, когда вы хотите получить доступ к Nextcloud так же, как к любой другой удаленной точке монтирования файловой системы. Ниже показано, как создать персональную точку монтирования, которая будет автоматически монтироваться при каждом входе в систему на вашем компьютере под управлением ОС Linux.
apt-get install davfs2
yum install davfs2
usermod -aG davfs2 <имя_пользователя>
mkdir ~/nextcloud
mkdir ~/.davfs2
cp /etc/davfs2/secrets ~/.davfs2/secrets
chown <имя_пользователя_linux >:<имя_пользователя_linux> ~/.davfs2/secrets
chmod 600 ~/.davfs2/secrets
https://example.com/nextcloud/remote.php/dav/files/USERNAME/ <имя_пользователя> <пароль>
$PathToMountPoint $USERNAME $PASSWORD
/home/user/nextcloud john 1234
https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<имя_пользователя_linux>/nextcloud
davfs user,rw,auto 0 0
mount ~/nextcloud
umount ~/nextcloud
После этого при каждом входе в систему Linux ваш общий файл Nextcloud должен автоматически монтироваться через WebDAV в директории «~/nextcloud». Для выполнения монтирования вручную в файле «/etc/fstab» нужно заменить текст «автоматически» (auto) на «не автоматически» (noauto).
Ресурс временно недоступен.
При возникновении проблем во время создания файла в директории нужно отредактировать файл /etc/davfs2/davfs2.conf и добавить строку:
use_locks 0
Предупреждения, касающиеся сертификата.
При использовании самоподписанного сертификата будет выдаваться предупреждение. Во избежание возникновения данной ситуации нужно настроить драйвер davfs2 так, чтобы он распознавал сертификат. Скопируйте файл mycertificate.pem в директорию /etc/davfs2/certs/. Затем откройте файл /etc/davfs2/davfs2.conf и раскомментируйте строку servercert. После этого добавьте путь к вашему сертификату, как указано в примере:
servercert /etc/davfs2/certs/mycertificate.pem
Примечание: программа Finder в ОС macOS имеет ряд проблем с реализацией и должна использоваться только в тех случаях, когда сервер Nextcloud использует Apache и mod_php или Nginx 1.3.8+. К альтернативным клиентам для ОС macOS, позволяющим получить доступ к общим файлам WebDAV, можно отнести приложения с открытым кодом Cyberduck (см. инструкции по ссылке) и Filezilla. Платными клиентами являются Mountain Duck, Forklift, Transmit и Commander One.
Для получения доступа к файлам через Finder в ОС macOS нужно выполнить следующее:
https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
При использовании собственной реализации Windows можно подключить Nextcloud к новому диску. Подключение к диску позволяет просматривать файлы, сохраненные на сервере Nextcloud так же, как на подключенном сетевом диске.
Для использования данной функции требуется подключение к сети. Для сохранения файлов в автономном режиме нужен клиент для настольных ПК, позволяющий синхронизировать все файлы на вашем сервере Nextcloud с одной или несколькими директориями на локальном жестком диске.
Примечание: перед подключением диска нужно разблокировать базовую аутентификацию в системном реестре ОС Windows. Данная процедура описана в статье базы знаний KB841215, причем процедуры для ОС Windows XP/Server 2003 и ОС Windows Vista/7 различаются. Перед началом работы нужно прочитать данную статью в базе знаний (при наличии ОС Windows 7 нужно выполнять инструкции для ОС Vista).
В следующем примере рассмотрен способ подключения диска при помощи командной строки. Для этого требуется выполнить следующие действия:
net use Z: https://<путь_к_диску>/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
где <путь_к_диску> – 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
Для подключения дисков при помощи диспетчера Microsoft Windows Explorer требуется выполнить следующие действия:
Пример:
https://example.com/nextcloud/remote.php/dav/files/USERNAME/
Примечание: что касается серверов с защитой при помощи SSL-сертификата, нужно установить флажок «Восстанавливать при входе в систему» (Reconnect at logon), чтобы подключение восстанавливалось после каждой последующей перегрузки. Для подключения к серверу Nextcloud в качестве другого пользователя нужно установить флажок «Использовать другие учетные записи» (Connect using different credentials).
Диспетчер в ОС Windows подключит сетевой диск, после чего вы получите доступ к своему экземпляру Nextcloud.
Cyberduck – это веб-обозреватель с открытым кодом для FTP, SFTP, WebDAV, OpenStack Swift и Amazon S3, предназначенный для передачи файлов в ОС macOS и Windows.
Примечание: в данном примере рассмотрена программа Cyberduck версии 4.2.1.
Порядок работы с Cyberduck:
После этого Cyberduck можно будет использовать для доступа к серверу Nextcloud.
Nextcloud позволяет получить доступ к опубликованным общим данным по протоколу WebDAV.
Для этого необходимо ввести команду:
https://example.com/nextcloud/public.php/webdav
В качестве имени пользователя в клиенте WebDAV следует использовать маркер для общего доступа, а в качестве пароля – пароль для общего доступа (дополнительно).
Примечание: для использования данной функции нужно последовательно выбрать пункты: Настройки (Settings) → Администрирование (Administration) → Общий доступ (Sharing) → Разрешить пользователям на данном сервере отправлять общие файлы на другие сервера (Allow users on this server to send shares to other servers)
ОС Windows не устанавливает соединение через HTTPS.
Клиент WebDAV для ОС Windows может не поддерживать функцию указания имени сервера (SNI) для зашифрованных соединений. В случае возникновения данной ошибки при монтировании экземпляра Nextcloud с защитой при помощи SSL-сертификата обратитесь к провайдеру, чтобы он сообщил вам выделенный IP-адрес для вашего сервера.
Клиент WebDAV для ОС Windows может не поддерживать соединения TSLv1.1/TSLv1.2. Если вы указали, что ваш сервер может использовать только TLSv1.1 и новее, соединение может не устанавливаться. См. дополнительную информацию в документации к WinHTTP.
Появляется следующая ошибка: «Ошибка 0x800700DF: Размер файла превышает установленное ограничение, сохранение файла невозможно» (Error 0x800700DF: The file size exceeds the limit allowed and cannot be saved).
Windows ограничивает максимальный размер файла, передаваемого из WebDAV или в него. Вы можете увеличить предельный размер файла в байтах (FileSizeLimitInBytes) в строке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters, выбрав пункт «Изменить» (Modify).
Для настройки максимального значения, равного 4 Гб, нужно выбрать пункт «Десятичное значение» (Decimal), ввести значение «4294967295» и перезагрузить ОС Windows или перезапустить службу «Веб-клиент».
Невозможен доступ к вашим файлам из пакета программ Microsoft Office по протоколу WebDAV.
Известные проблемы и их решения указаны в статье из базы знаний KB2123563.
Не удается подключить Nextcloud в качестве диска WebDAV в ОС Windows, используя самоподписанный сертификат.
Невозможно загрузить файл более 50 Мб или выгрузить большие файлы, когда выгрузка занимает более 30 минут при использовании веб-клиента в ОС Windows 7.
Решения указаны в статье из базы знаний KB2668751.
Поскольку WebDAV представляет собой расширение HTTP, служебную программу 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>