Dostęp do plików Nextcloud za pomocą WebDAV
Nextcloud w pełni obsługuje protokół WebDAV, przez który możesz łączyć się i synchronizować pliki Nextcloud przez WebDAV. W tym rozdziale dowiesz się, jak podłączyć Linux, macOS, Windows i urządzenia mobilne do serwera Nextcloud za pośrednictwem WebDAV. Zanim przejdziemy do konfigurowania WebDAV, rzućmy okiem na zalecany sposób łączenia urządzeń klienckich z serwerami Nextcloud.
Informacja
W poniższych przykładach zastąp example.com/nextcloud adresem URL serwera Nextcloud (pomiń część katalogu, jeśli instalacja znajduje się w katalogu głównym domeny), a „USERNAME” nazwą użytkownika łączącym się jako użytkownik.
Zobacz adres URL WebDav (na dole po lewej w ustawieniach) w swoim Nextcloud.
Informacja
W poniższych przykładach do logowania musisz użyć hasła aplikacji, które możesz wygenerować w ustawieniach zabezpieczeń.
Klienci Nextcloud Desktop (Desktopowi) i mobilni
Zalecanym sposobem synchronizacji komputera stacjonarnego z serwerem Nextcloud jest użycie klientów synchronizacji Nextcloud/ownCloud. Możesz skonfigurować klienta, aby zapisywał pliki w dowolnym katalogu lokalnym oraz możesz wybrać katalogi na serwerze Nextcloud do synchronizacji. Klient wyświetla aktualny stan połączenia i rejestruje całą aktywność, dzięki czemu zawsze wiesz, które zdalne pliki zostały pobrane na Twój komputer i możesz sprawdzić, czy pliki utworzone i zaktualizowane na lokalnym komputerze są prawidłowo zsynchronizowane z serwerem.
Zalecanym sposobem synchronizacji serwera Nextcloud z urządzeniami Android i Apple iOS jest użycie aplikacji mobilnych.
Aby połączyć swoją aplikację mobilną z serwerem Nextcloud, użyj tylko podstawowego adresu URL i folderu:
example.com/nextcloud
Oprócz aplikacji mobilnych dostarczonych przez Nextcloud lub ownCloud, możesz używać innych aplikacji do łączenia się z Nextcloud z urządzenia mobilnego za pomocą WebDAV. WebDAV Navigator to dobra (zastrzeżona) aplikacja dla urządzeń z systemem Android i iPhone. Adres URL do użycia to:
example.com/nextcloud/remote.php/dav/files/USERNAME/
Konfiguracja WebDAV
Jeśli wolisz, możesz również podłączyć swój komputer stacjonarny do serwera Nextcloud przy użyciu protokołu WebDAV zamiast korzystania ze specjalnej aplikacji klienckiej. Web Distributed Authoring i Versioning (WebDAV) to rozszerzenie protokołu HTTP (Hypertext Transfer Protocol), który ułatwia tworzenie, odczytywanie i edytowanie plików na serwerach internetowych. Dzięki WebDAV możesz uzyskać dostęp do udostępnień Nextcloud w systemie Linux, macOS i Windows w taki sam sposób, jak do każdego zdalnego udostępnienia sieciowego i pozostać w synchronizacji.
Dostęp do plików w systemie Linux
Dostęp do plików w systemach operacyjnych Linux można uzyskać, korzystając z następujących metod.
Menedżer plików Nautilus
Kiedy skonfigurujesz swoje konto Nextcloud w Centrum sterowania GNOME, Twoje pliki zostaną automatycznie zamontowane przez Nautilusa jako udostępnienie WebDAV, chyba że odznaczysz dostęp do plików.
Możesz także ręcznie zamontować pliki Nextcloud. Użyj protokołu davs://
, aby połączyć menedżera plików Nautilus z udostępnieniem Nextcloud:
davs://example.com/nextcloud/remote.php/dav/files/USERNAME/
Informacja
Jeśli połączenie z serwerem nie jest zabezpieczone przez HTTPS, użyj dav://
zamiast davs://
:

Informacja
Ta sama metoda działa w przypadku innych menedżerów plików, które używają GVfs, takich jak MATE’s Caja i Cinnamon’s Nepomuk.
Dostęp do plików za pomocą menedżera plików KDE i Dolphin
Aby uzyskać dostęp do plików Nextcloud za pomocą menedżera plików Dolphin w KDE, użyj protokołu webdav://
:
webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/

Możesz utworzyć stałe łącze do swojego serwera Nextcloud:
Otwórz Dolphin i kliknij „Sieć” w kolumnie „Miejsca” po lewej stronie.
Kliknij ikonę oznaczoną Dodaj folder sieciowy. Wynikowe okno dialogowe powinno zostać wyświetlone już z wybranym protokołem WebDAV.
Jeśli WebDAV nie jest zaznaczone, wybierz go.
Kliknij Następny.
Wprowadź następujące ustawienia:
Nazwa: nazwa, którą chcesz zobaczyć w zakładce Miejsca, na przykład Nextcloud.
Użytkownik: nazwa użytkownika Nextcloud używana do logowania, na przykład admin.
Serwer: nazwa domeny Nextcloud, na przykład example.com (bez http:// przed albo po następnych katalogach).
Folder - wprowadź ścieżkę
nextcloud/remote.php/dav/files/USERNAME/
.
(Opcjonalnie) Zaznacz pole wyboru „Utwórz ikonę”, aby w kolumnie Miejsca pojawiła się zakładka.
(Opcjonalnie) Podaj specjalne ustawienia lub certyfikat SSL w polu „Port i Szyfrowanie”.
Tworzenie montowań WebDAV w wierszu poleceń systemu Linux
Punkty montowania WebDAV można tworzyć z wiersza poleceń systemu Linux. Jest to przydatne, jeśli wolisz uzyskać dostęp do Nextcloud w taki sam sposób, jak do każdego innego zdalnego montowania systemu plików. Poniższy przykład pokazuje, jak utworzyć osobiste montowanie i montować go automatycznie za każdym razem, gdy logujesz się do komputera z systemem Linux.
Zainstaluj sterownik systemu plików
davfs2
WebDAV, który umożliwia montowanie udostępnień WebDAV tak jak każdy inny zdalny system plików. Użyj tego polecenia, aby zainstalować go w systemie Debian/Ubuntu:apt-get install davfs2
Użyj tego polecenia, aby zainstalować go w CentOS, Fedorze i openSUSE:
yum install davfs2
Dodaj się do grupy davfs2`:
usermod -aG davfs2 <username>
Następnie utwórz katalog
nextcloud
w swoim katalogu domowym dla punktu montowania oraz.davfs2/
dla swojego osobistego pliku konfiguracyjnego:mkdir ~/nextcloud mkdir ~/.davfs2
Skopiuj
/etc/davfs2/secrets
do~/.davfs2
:cp /etc/davfs2/secrets ~/.davfs2/secrets
Ustaw siebie jako właściciela i nadaj uprawnienia tylko do odczytu i zapisu:
chown <linux_username>:<linux_username> ~/.davfs2/secrets chmod 600 ~/.davfs2/secrets
Dodaj swoje dane logowania do Nextcloud na końcu pliku
secrets
, używając adresu URL serwera Nextcloud oraz nazwy użytkownika i hasła Nextcloud:https://example.com/nextcloud/remote.php/dav/files/USERNAME/ <username> <password> or $PathToMountPoint $USERNAME $PASSWORD for example /home/user/nextcloud john 1234
Dodaj informacje o montowaniu do
/etc/fstab
:https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<linux_username>/nextcloud davfs user,rw,auto 0 0
Następnie sprawdź, czy montuje i uwierzytelnia się, uruchamiając następujące polecenie. Jeśli skonfigurujesz to poprawnie, nie będziesz potrzebować uprawnień roota:
mount ~/nextcloud
Powinieneś także móc go odmontować:
umount ~/nextcloud
Teraz za każdym razem, gdy logujesz się do systemu Linux, udostępnianie Nextcloud powinno automatycznie montować się za pośrednictwem WebDAV w katalogu ~/nextcloud
. Jeśli wolisz zamontować go ręcznie, zmień auto
na noauto` w ``/etc/fstab
.
Znane problemy
Zagadnienie
Zawartość chwilowo niedostępna
Rozwiązanie
Jeśli napotkasz problemy podczas tworzenia pliku w katalogu, edytuj /etc/davfs2/davfs2.conf
i dodaj:
use_locks 0
Zagadnienie
Ostrzeżenia dotyczące certyfikatu
Rozwiązanie
Jeśli używasz certyfikatu z podpisem własnym, pojawi się ostrzeżenie. Aby to zmienić, musisz skonfigurować davfs2
, aby rozpoznawał Twój certyfikat. Skopiuj plik mycertificate.pem
do /etc/davfs2/certs/
. Następnie edytuj /etc/davfs2/davfs2.conf
i odkomentuj wiersz servercert
. Teraz dodaj ścieżkę swojego certyfikatu, jak w tym przykładzie:
servercert /etc/davfs2/certs/mycertificate.pem
Dostęp do plików za pomocą macOS
Informacja
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.
Aby uzyskać dostęp do plików za pomocą Findera macOS:
Z górnego paska menu Findera wybierz Idź > Połącz z serwerem…:
Gdy otworzy się okno Połącz z serwerem…, wprowadź adres WebDAV serwera Nextcloud w polu Adres serwera:, tj.:
https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
Kliknij Połącz. Twój serwer WebDAV powinien pojawić się na pulpicie jako udostępniony dysk.
Dostęp do plików za pomocą systemu Microsoft Windows
Jeśli korzystasz z natywnej implementacji WebDAV w systemie Windows, możesz zmapować Nextcloud na nowy dysk za pomocą Eksploratora Windows. Mapowanie na dysk umożliwia przeglądanie plików przechowywanych na serwerze Nextcloud w taki sam sposób, jak pliki przechowywane na zmapowanym dysku sieciowym.
Korzystanie z tej funkcji wymaga połączenia sieciowego. Jeśli chcesz przechowywać pliki w trybie offline, użyj programu Desktop Client, aby zsynchronizować wszystkie pliki na Nextcloud z jednym lub kilkoma katalogami na lokalnym dysku twardym.
Informacja
System Windows 10 domyślnie zezwala teraz na uwierzytelnianie podstawowe, jeśli protokół HTTPS jest włączony przed mapowaniem dysku. W starszych wersjach systemu Windows musisz zezwolić na użycie uwierzytelniania podstawowego w rejestrze systemu Windows: uruchom “regedit“ i przejdź do HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
. Utwórz lub edytuj wartość DWORD
BasicAuthLevel
(Windows Vista, 7 i 8) lub UseBasicAuth
(Windows XP i Windows Server 2003) i ustaw dane wartości na 1
dla połączeń SSL. Wartość 0
oznacza, że uwierzytelnianie podstawowe jest wyłączone, wartość 2
zezwala na połączenia SSL i bez SSL (niezalecane). Następnie zamknij Edytor rejestru i uruchom ponownie komputer.
Mapowanie dysków za pomocą wiersza poleceń
Poniższy przykład pokazuje, jak zmapować dysk za pomocą wiersza polecenia. Aby zmapować dysk:
Otwórz wiersz polecenia w systemie Windows.
Wprowadź następujący wiersz w wierszu polecenia, aby zamapować na dysk Z komputera:
net use Z: https://<drive_path>/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
gdzie <drive_path> jest adresem URL do Twojego serwera Nextcloud.
Na przykład: net use Z: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
Komputer mapuje pliki z Twojego konta Nextcloud na dysk z literą Z.
Informacja
If you get the following error
System error 67 has occurred. The network name cannot be found.
,
open the Services app and make sure that the WebClient
service is running and started automatically at startup.
Informacja
Chociaż nie jest to zalecane, możesz również zamontować serwer Nextcloud za pomocą protokołu HTTP, pozostawiając połączenie niezaszyfrowane. Jeśli planujesz korzystać z połączeń HTTP na urządzeniach w miejscu publicznym, zdecydowanie zalecamy korzystanie z tunelu VPN, aby zapewnić niezbędne bezpieczeństwo.
Alternatywna składnia polecenia to:
net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser
yourpassword
Mapowanie dysków za pomocą Eksploratora Windows
Aby zmapować dysk za pomocą Eksploratora Microsoft Windows:
Otwórz Eksploratora Windows na komputerze z systemem MS Windows.
Kliknij prawym przyciskiem myszy na Komputer i wybierz Mapuj dysk sieciowy… z menu rozwijanego.
Wybierz lokalny dysk sieciowy, na który chcesz zmapować Nextcloud.
Podaj adres swojej instancji Nextcloud, a następnie /remote.php/dav/files/USERNAME/.
Na przykład:
https://example.com/nextcloud/remote.php/dav/files/USERNAME/
Informacja
W przypadku serwerów chronionych protokołem SSL zaznacz opcję Połącz ponownie przy logowaniu, aby upewnić się, że mapowanie jest trwałe po kolejnych ponownych uruchomieniach. Jeśli chcesz połączyć się z serwerem Nextcloud jako inny użytkownik, zaznacz Połącz używając różnych poświadczeń.

Kliknij przycisk
Zakończ
.
Eksplorator Windows mapuje dysk sieciowy, udostępniając dostępny Nextcloud.
Dostęp do plików za pomocą Cyberduck
Cyberduck to przeglądarka FTP i SFTP, WebDAV, OpenStack Swift i Amazon S3 typu open source, przeznaczona do przesyłania plików w systemach macOS i Windows.
Informacja
W tym przykładzie zastosowano Cyberduck w wersji 4.2.1.
Aby skorzystać z Cyberduck:
Określ serwer bez żadnych wiodących informacji o protokole. Na przykład:
example.com
Określ odpowiedni port. Wybrany port zależy od tego, czy Twój serwer Nextcloud obsługuje SSL. Cyberduck wymaga wybrania innego typu połączenia, jeśli planujesz używać SSL. Na przykład:
80 (dla WebDAV)
443 (dla WebDAV (HTTPS/SSL))
Skorzystaj z menu rozwijanego «Więcej opcji», aby dodać pozostałą część adresu URL WebDAV w polu «Ścieżka». Na przykład:
remote.php/dav/files/USERNAME/
Teraz Cyberduck umożliwia dostęp do plików na serwerze Nextcloud.
Znane problemy
Zagadnienie
System Windows nie łączy się przy użyciu protokołu HTTPS.
Rozwiązanie 1
Klient Windows WebDAV może nie obsługiwać nazwy serwera (SNI) w połączeniach szyfrowanych. Jeśli napotkasz błąd podczas montowania zaszyfrowanej SSL instancji Nextcloud, skontaktuj się ze swoim dostawcą w sprawie przypisania dedykowanego adresu IP dla serwera opartego na SSL.
Rozwiązanie 2
Klient Windows WebDAV może nie obsługiwać połączeń TLSv1.1 i TLSv1.2. Jeśli ograniczyłeś konfigurację serwera do zapewniania tylko TLSv1.1 i nowszych, połączenie z serwerem może się nie powieść. Więcej informacji można znaleźć w dokumentacji WinHTTP.
Zagadnienie
Pojawia się następujący komunikat o błędzie: Błąd 0x800700DF: Rozmiar pliku przekracza dozwolony limit i nie można go zapisać.
Rozwiązanie
System Windows ogranicza maksymalny rozmiar pliku przesyłanego z lub do udostępnienia WebDAV. Możesz zwiększyć wartość FileSizeLimitInBytes w HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters, klikając Modyfikuj.
Aby zwiększyć limit do maksymalnej wartości 4GB, wybierz opcję Decimal, wprowadź wartość 4294967295 i uruchom ponownie system Windows lub uruchom ponownie usługę WebClient.
Zagadnienie
Adding a WebDAV drive on Windows via the above described steps does not display the correct size of in Nextcloud available space and instead shows the size of the C: drive with its available space.
Answer
Unfortunately is this a limitation of WebDAV itself, because it does not provide a way for the client to get the available free space from the server. Windows automatically falls back to show the size of the C: drive with its available space instead. So unfortunately there is no real solution to this problem.
Zagadnienie
Uzyskiwanie dostępu do plików z Microsoft Office przez WebDAV kończy się niepowodzeniem.
Rozwiązanie
Znane problemy i sposoby ich rozwiązywania opisano w artykule KB2123563.
Zagadnienie
Nie można zmapować Nextcloud jako dysku WebDAV w systemie Windows przy użyciu certyfikatu z podpisem własnym.
Rozwiązanie
Przejdź do instancji Nextcloud za pomocą ulubionej przeglądarki internetowej.
Klikaj, aż pojawi się błąd certyfikatu w wierszu stanu przeglądarki.
Wyświetl certyfikat, a następnie na karcie Szczegóły wybierz opcję Kopiuj do pliku.
Zapisz na pulpicie pod dowolną nazwą, na przykład
myNextcloud.pem
.Start, Uruchom, MMC.
Plik, Dodaj/Usuń przystawkę.
Wybierz Certyfikaty, kliknij Dodaj, Moje konto użytkownika, a następnie Zakończ oraz OK.
Przejdź do sekcji Trust Root Certification Authorities, Certificates.
Kliknij prawym przyciskiem myszy Certyfikat, wybierz wszystkie zadania, importuj.
Wybierz opcję Zapisz certyfikat z pulpitu.
Wybierz Umieść wszystkie certyfikaty w następującym sklepie, kliknij Przeglądaj.
Zaznacz pole, które mówi Pokaż magazyny fizyczne, rozwiń Zaufane główne urzędy certyfikacji i wybierz tam komputer lokalny, kliknij OK, zakończ import.
Sprawdź listę, aby się upewnić, że się pojawił. Prawdopodobnie będziesz musiał odświeżyć, zanim go zobaczysz. Wyjdź z MMC.
Otwórz przeglądarkę, wybierz Narzędzia, Usuń historię przeglądania.
Zaznacz wszystko oprócz Prywatnych danych filtrowania, zakończ.
Przejdź do Opcje internetowe, zakładka Zawartość, Wyczyść stan SSL.
Zamknij przeglądarkę, a następnie otwórz ponownie i przetestuj.
Zagadnienie
Nie można pobierać więcej niż 50 MB ani przesyłać dużych plików, jeśli przesyłanie trwa dłużej niż 30 minut przy użyciu klienta sieci Web w systemie Windows 7.
Rozwiązanie
Obejścia opisano w artykule KB2668751.
Dostęp do plików przy użyciu cURL
Ponieważ WebDAV jest rozszerzeniem HTTP, cURL, może być używany do skryptowania operacji na plikach.
Informacja
Ustawienia → Administracja → Udostępnianie → Zezwalaj użytkownikom tego serwera na wysyłanie udziałów do innych serwerów. Jeśli ta opcja jest wyłączona, opcja --header "X-Requested-With: XMLHttpRequest"
musi zostać przekazana do cURL.
Aby utworzyć folder z bieżącą datą jako nazwa:
$ curl -u user:pass -X MKCOL "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')"
Aby przesłać plik error.log
do tego katalogu:
$ curl -u user:pass -T error.log "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')/error.log"
Aby przenieść plik:
$ 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
Aby uzyskać właściwości plików w folderze głównym:
$ 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).