Přístup k souborům v Nextcloud prostřednictvím protokolu WebDAV
Nexcloud plně podporuje protokol WebDAV a proto ho můžete použít pro připojení se a synchronizaci s Nextcloud Soubory. V této kapitole se dozvíte jak připojit Linux, macOS, Windows a mobilní zařízení k vámi využívanému Nextcloud serveru prostřednictvím WebDAV.
WebDAV stands for Distributed Authoring and Versioning. It is an HTTP extension that makes it easy to create, read, and edit files hosted on remote Web servers. With a WebDAV client, you can access your Nextcloud Files (including shares) on Linux, macOS and Windows in a similar way as any remote network share, and stay synchronized.
Než se pustíme do nastavování WebDAV, krátce se podívejme na doporučený způsob připojování klientských zařízení k Nextcloud.
Oficiální Nextcloud klienti pro desktopové a mobilní platformy
Doporučeným způsobem synchronizace osobního počítače s Nextcloud serverem je pomocí oficiálních Nextcloud synchronizačních klientů. Klienta je možné nastavit, aby ukládal soubory v libovolném adresáři v počítači a můžete zvolit, se kterými adresáři na Nextcloud serveru synchronizovat. Klient zobrazuje stav stávajícího spojení a zaznamenává veškerou aktivitu, takže vždy víte, které soubory z protějšku byly staženy na počítač a můžete si ověřit, že soubory vytvořené/aktualizované na počítači jsou správně synchronizovány na server.
Doporučený způsob, jak synchronizovat Android a Apple iOS zařízení je pomocí oficiálních Nextcloud mobilních aplikací.
Pro připojení oficiálních Nextcloud aplikací k Nextcloud serveru použijte stejnou URL, přes kterou přistupujete k Nextcloud z webového prohlížeče – např.:
https://cloud.example.com
https://example.com/nextcloud (if Nextcloud is installed in a subdirectory called "nextcloud")
WebDAV klienti třetích stran
Pokud chcete, můžete svůj počítač připojit k Nextcloud serveru také pomocí klienta třetí strany, který podporuje protokol WebDAV (včetně toho, který může být součástí vámi využívaného operačního systému).
I pro připojení vašeho mobilního zařízení je možné používat aplikace třetích stran, schopně WebDAV.
Při používání klientů třetích stran mějte na mysli, že nemusí být optimalizované pro používání s Nextcloud nebo implementovat schopnosti, které pro vaše používání považujete za důležité.
Mobilní klienti, které členové Nextcloud komunity používají patří:
URL, kterou používat při nastavování aplikací třetích stran pro připojování k Nextcloud je poněkud delší, než ta pro oficiální klienty:
https://cloud.example.com/remote.php/dav/files/USERNAME/
https://example.com/nextcloud/remote.php/dav/files/USERNAME/ (if Nextcloud is installed in a subdirectory called "nextcloud")
Poznámka
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 improved security, this increases performance significantly. To configure an application password, log into the Nextcloud Web interface, click on the avatar in the top right 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).
Poznámka
V následujících příkladech, je třeba nahradit example.com/nextcloud URL adresou vámi využívaného Nextcloud serveru (vynechte část se složkou, pokud je jeho instalace v kořeni domény). A UZIVATELSKEJMENO nahraďte identifikátorem připojujícího se uživatele.
Viz URL pro WebDAV (vlevo dole v nastavení) ve vámi využívaném Nextcloud.
Přístup k souborům ze systému Linux
Z linuxových systémů můžete k souborům přistupovat následujícími způsoby.
Správce souborů Nautilus
Když zadáte svůj Nextcloud účet do Ovládacích panelů GNOME, budou vaše soubory automaticky připojeny správcem souborů Nautilus jako WebDAV sdílení (pokud nezrušíte zaškrtnutí přístupu k souborům).
Soubory z Nextcloud je možné také připojit (mount) ručně. Pro připojení správce souborů k svému Nextcloud sdílení použijte protokol davs://
:
davs://example.com/nextcloud/remote.php/dav/files/USERNAME/
Poznámka
Pokud připojení k vámi využívanému serveru není zabezpečené pomocí HTTPS, použitje dav://
namísto davs://
.
Poznámka
Stejná metoda funguje i pro ostatní správce souborů, kteří používají GVFS, jako například Caja z prostředí MATE a Nemo z Cinnamon.
Přístup k souborům z desktopového prostředí KDE (prostřednictvím správce souborů Dolphin)
Pro přístup k vašim souborům v Nextcloud pomocí správce souborů Dolphin z desktopového prostředí KDE, použijte protokol webdav://
:
webdav://example.com/nextcloud/remote.php/dav/files/USERNAME/
Můžete vytvořit trvalý odkaz na vámi využívaný Nextcloud server:
Otevřete Dolphin a ve sloupci „Místa“ (vlevo) klikněte na „Síť“.
Klikněte na ikonu označenou jako Přidat síťovou složku. Výsledný dialog by se měl objevit s už předvybraným WebDAV.
Pokud WebDAV není vybraný, vyberte ho.
Klikněte na Další.
Zadejte následující nastavení:
Název: Název pod kterým chcete, aby se se zobrazovalo jako záložka v Místa, například Nextcloud.
Uživatel: Uživatelské jméno, kterým se hlásíte do Nexcloud, například admin.
Server: Název domény s Nextcloud, například example.com (bez http:// na začátku nebo složek za).
Složka – Zadejte popis umístění
nextcloud/remote.php/dav/files/UZIVATELSKEJMENO/
.
(Volitelné) aby se ve sloupci Místa objevila záložka, zaškrtněte „Vytvořit ikonu“.
(Volitelné) v zaškrtávací kolonce „Port a šifrováno“ zadejte případná speciální nastavení nebo SSL certifikát.
Vytváření WebDAV připojení z linuxového příkazového řádku
WebDAV připojení (mount) je možné vytvářet z příkazového řádku. Toto se hodí, pokud chcete k Nexcloud přistupovat stejným způsobem, jako k jakémukoli na dálku připojenému souborovému systému. Následující příklad ukazuje jak vytvořit osobní připojení a zařídit to tak, aby bylo automaticky připojené pokaždé, když se přihlásíte do systému.
Nainstalujte ovladač WebDAV souborového systému
davfs2
, což vám umožní připojit WebDAV sdílení jako kterýkoli jiný vzdálený souborový systém. Pro instalaci na Debian/Ubuntu:apt-get install davfs2
Pro instalaci na CentOS, Fedora a openSUSE použijte tento příkaz:
yum install davfs2
Přidejte se do skupiny
davfs2
:usermod -aG davfs2 <username>
Poté ve svém domovském adresáři vytvořte adresáře
nextcloud
(bude sloužit jako přípojný bod), a.davfs2/
(pro soubor s osobním nastavením):mkdir ~/nextcloud mkdir ~/.davfs2
Zkopírujte
/etc/davfs2/secrets
do~/.davfs2
:cp /etc/davfs2/secrets ~/.davfs2/secrets
Nastavte sami sebe jako vlastníka a oprávnění pro čtení-zápis nastavte pouze na vlastníka:
chown <linux_username>:<linux_username> ~/.davfs2/secrets chmod 600 ~/.davfs2/secrets
Své přihlašovací údaje do Nexcloud přidejte na konec souboru
secrets
s použitím URL adresy Nexcloud serveru a svého Nexcloud uživatelského jména a hesla:https://example.com/nextcloud/remote.php/dav/files/USERNAME/ <username> <password> or $PathToMountPoint $USERNAME $PASSWORD for example /home/user/nextcloud john 1234
Přidejte údaje o připojení (mount) do souboru
/etc/fstab
:https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /home/<linux_username>/nextcloud davfs user,rw,auto 0 0
Poté vyzkoušejte, že se připojuje (mount) a ověřuje spuštěním následujícího příkazu. Pokud jste vše nastavili správně, nebude zapotřebí oprávnění správce systému:
mount ~/nextcloud
Měli byste také být schopní ho odpojit (unmount):
umount ~/nextcloud
Nyní pokaždé, když se přihlásíte do svého linuxového systému, vaše Nextcloud sdílení by mělo být automaticky připojeno (mount) prostřednictvím WebDAV do adresáře ~/nextcloud
. Pokud chcete připojovat ručně, změňte v souboru s nastaveními /etc/fstab
na příslušném řádku hodnotu auto
na noauto
.
Známé problémy
Problém
Prostředek dočasně nedostupný
Řešení
Pokud narážíte na problémy při vytváření souboru v adresáři, přidejte do souboru /etc/davfs2/davfs2.conf
toto:
use_locks 0
Problém
Varování ohledně certifikátu
Řešení
Pokud používáte sám sebou podepsaný certifikát, obdržíte varování. To je možné změnit, nastavením davfs2
tak, aby uznávalo váš certifikát. Zkopírujte mujcertifikat.pem
do /etc/davfs2/certs/
. Poté upravte /etc/davfs2/davfs2.conf
a odkomentujte řádek servercert
. Nyní přidejte popis umístění vašeho certifikátu, jako v této ukázce:
servercert /etc/davfs2/certs/mycertificate.pem
Přístup k souborům ze systému macOS
Poznámka
Aplikace Finder v rámci macOS má vícero implementačních problémů a měla by být používán pouze pro Nextcloud servery, provozované na webovém serveru Apache s mod_php, nebo Nginx 1.3.8 a novějším. Mezi alternativní klienty, kompatibilní s macOS, schopné přistupovat k WebDAV sdílením patří open source aplikace jako Cyberduck (viz pokyny zde) a Filezilla. Mezi komerční klienty patří Mountain Duck, Forklift, Transmit, a Commander One.
Pro přístup k souborům z macOS Finder:
Z nabídky v horním liště aplikace Finder zvolte Přejít na > Připojit k serveru…:
Když se otevře okno Připojit k serveru…, zadejte WebDAV adresu vámi využívaného Nextcloud serveru do kolonky Adresa serveru, tj.:
https://cloud.YOURDOMAIN.com/remote.php/dav/files/USERNAME/
Klikněte na Připojit. Vámi používaný WebDAV server by se měl objevit na Ploše jako sdílená jednotka.
Přistupování k souborům ze systému Microsoft Windows
Pokud používáte nativní implementaci WebDAV ve Windows, je možné namapovat Nexcloud jako nový disk v Průzkumníkovi. Mapování na jednotku umožní procházet soubory, nacházející se na Nexcloud serveru stejně, jako v případě souborů, nacházejících se na namapovaném síťovém disku.
Použití této funkce vyžaduje připojení k síti. Pokud chcete ukládat své soubory offline, použijte desktopového klienta pro synchronizování všech souborů na vámi využívané instanci Nexcloud na úložiště ve vašem počítači.
Poznámka
Před namapováním disku, pokud je zapnuté HTTPS, Windows 10 nyní ve výchozím stavu umožňuje Basic Authentication.
Ve starších verzích Windows je třeba povolit používání Basic Authentication v registrech Windows:
spusťte
regedit
a jděte doHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
.Vytvořte nebo upravte hodnotu typu
DWORD
nazvanouBasicAuthLevel
(Windows Vista, 7 a 8), neboUseBasicAuth
(Windows XP a Windows Server 2003), a pro SSL spojení nastavte její obsah na1
. Hodnota0
znamená, že Basic Authentication je vypnuté, hodnota2
umožňuje jak SSL, tak ne-SSL spojení (nedoporučováno).Poté ukončete editor Registrů a počítač zrestartujte.
Mapování jednotek z příkazového řádku
Následující příklad zobrazuje jak namapovat jednotku z příkazového řádku. Pro namapování jednotky:
Ve Windows otevřete příkazový řádek.
Pro namapování jednotky Z v počítači zadejte do příkazového řádku následující:
net use Z: https://<drive_path>/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
s <drive_path> coby URL adresou vámi využívaného Nextcloud serveru. Například:
net use Z: https://example.com/nextcloud/remote.php/dav/files/USERNAME/ /user:youruser yourpassword
Počítač namapuje soubory z vašeho Nextcloud účtu na jednotku s písmenkem Z.
Chyba
If you get the following error
System error 67 has occurred. The network name cannot be found.
,
or frequent disconnections, open the Services app and make sure
that the WebClient
service is running and started automatically at startup.
Poznámka
Byť to není doporučováno, je také možné Nextcloud server připojit pomocí HTTP, čímž ovšem bude spojení nešifrované.
Pokud zamýšlíte používat HTTP spojení na zařízení, připojovaných do veřejných sítí, důrazně doporučujeme zajistit nezbytné zabezpečení používání VPN tunelu.
Alternativní forma zápisu příkazu je:
net use Z: \\example.com@ssl\nextcloud\remote.php\dav /user:youruser
yourpassword
Mapování disků pomocí Průzkumníka Windows
Pro namapování disku pomocí Průzkumníka Windows:
Otevřete Průzkumníka na svém počítači s MS Windows.
Klikněte pravým tlačítkem na položku Počítač a z rozbalovací nabídky vyberte Namapovat síťovou jednotku….
Zvolte písmenko pro nový místní síťový disk, na který chcete Nextcloud namapovat.
Zadejte adresu vámi používané instance Nextloud, následovanou /remote.php/dav/files/UZIVATELSKEJMENO/.
Například:
https://example.com/nextcloud/remote.php/dav/files/USERNAME/
Poznámka
Pro servery, chráněné pomocí SSL, zaškrtněte Znovu připojit při přihlášení se, abyste zajistili, že mapování zůstane zachováno po následných restartech počítače. Pokud se chcete k Nexcloud serveru připojit jako jiný uživatel (než kterým jste právě přihlášeni do systému), zaškrtněte Připojit se pomocí jiných přihlašovacích údajů.
Klikněte na
Dokončit
.
Průzkumník Windows namapuje síťovou jednotku, čímž zpřístupní vámi využívanou instanci Nexcloud.
Přístup k souborům pomocí nástroje Cyberduck
Cyberduck je open source prohlížeč FTP, SFTP, WebDAV, OpenStack Swift, a Amazon S3, navržený pro přenosy souborů v macOS a Windows.
Poznámka
V tomto příkladu je použito Cyberduck verze 4.2.1.
Pro použití Cyberduck:
Zadejte server bez uvedení protokolu.
Např.:
example.com
Zadejte příslušný port.
Volba portu závisí na tom, zda vámi využívaný Nextcloud server podporuje SSL. Cyberduck vyžaduje, abyste pokud plánujete použít SSL, vybrali jiný typ připojení.
- Například:
80
pro nešifrované WebDAV443
pro zabezpečené WebDAV (HTTPS/SSL)
Použijte rozbalovací nabídku „Další možnosti“ a přidejte zbytek vaší WebDAV URL do kolonky „Popis umístění“.
Např.:
remote.php/dav/files/USERNAME/
Nyní Cyberduck umožní přístup k souborům na Nextcloud serveru.
Známé problémy
Problém
Windows se při použití HTTPS nepřipojují.
Řešení
WebDAV klient, obsažený v systému Windows, nemusí u šifrovaných spojení podporovat Server Name Indication (SNI). Pokud se setkáte s chybou při SSL šifrovaném připojování k instance Nexcloud, obraťte se na svého poskytovatele se žádostí o přidělení vyhrazené IP adresy pro váš na SSL založený server.
Jiné řešení
Může být, že WebDAV klient ve Windows nepodporuje TSLv1.1 a TSLv1.2 spojení. Pokud je v nastavení vámi využívaného serveru omezeno poskytování pouze na TLSv1.1 a novější, spojení se serverem se může nezdařit. Další informace naleznete v dokumentaci k WinHTTP.
Problém
Obdržíte následující chybové hlášení: Chyba 0x800700DF: Velikost souboru překračuje umožněný limit a není proto možné ho uložit.
Řešení
Systém Windows omezuje maximální velikost, jakou může mít soubor přenášený z nebo na WebDAV sdílení. Tuto hodnotu je možné zvýšit a to úpravou v registrech, konkrétně klíče FileSizeLimitInBytes v HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters, kliknutím na Změnit.
Pro zvýšení limitu na maximální hodnotu 4GB, vyberte Desítková, zadejte hodnotu 4294967295 a restartujte počítač nebo jen systémovou službu WebClient.
Problém
Přidání WebDAV disku do Windows prostřednictvím výše popsaných kroků nezobrazí správnou velikost prostoru, dostupného na Nextcloud a namísto toho zobrazí velikost disku C: a prostor dostupný na něm.
Odpověď
Žel toto je omezení WebDAV samotného, protože neposkytuje klientovi způsob, jak získat údaj o volném místě na serveru. Windows automaticky náhradně zobrazuje velikost disku C: a prostor dostupný na něm. Takže žel tento problém nemá skutečné řešení.
Problém
Přístup k vašim souborům z Microsoft Office prostřednictvím WebDAV se nedaří.
Řešení
Známé problémy a jejich řešení jsou popsány ve článku KB2123563 .
Problém
V systému Windows není možné namapovat jako WebDAV disk Nextcloud, na kterém je používán sám sebou podepsaný certifikát.
Řešení
Přistupte do vámi využívané instance Nextcloud ze svého oblíbeného webového prohlížeče.
Proklikejte se až obdržíte chybu certifikátu ve stavovém řádku prohlížeče.
View the certificate, then from the Details tab, select ‚Copy to File‘.
Uložte na plochu pod libovolným názvem, například
mujNextcloud.pem
.Go to Start menu > Run, type MMC, and click ‚OK‘ to open Microsoft Management Console.
Jděte do Soubor > Přidat/odebrat snap-in.
Select Certificates, Click ‚Add‘, choose ‚My User Account‘, then ‚Finish‘, and finally ‚OK‘.
Jděte až do Důvěryhodné kořenové certifikační autority, Certifikáty.
Klikněte na certifikát pravým tlačítkem, vyberte Všechny úlohy a Import.
Vyberte uložený certifikát z plochy.
Vyberte „Umístit veškeré certifikáty do následujícího úložiště“ a klikněte na Procházet.
Check the Box that says Show Physical Stores, expand out Trusted Root Certification Authorities, select Local Computer there, click ‚OK‘, and Complete the Import.
Ověřte, že se na seznamu objevilo. Nejspíš pro to bude třeba nechat Znovu načíst.
Ukončete MMC.
Pro uživatele prohlížeče Firefox:
Spusťte svůj prohlížeč, jděte do nabídky Aplikace > Historie > Vyčistit nedávnou historii
V rozbalovací nabídce ‚Období k vyčištění‘ vyberte ‚Všechno‘
Zaškrtněte ‚Aktivní přihlášení‘
Klikněte na tlačítko ‚vyčistit nyní‘
Zavřete prohlížeč, pak znovu otevřete a vyzkoušejte.
Pro uživatele prohlížečů, založených na Chromiu (Chrome, Chromium, Microsoft Edge):
Otevřete do Ovládací panely Windows, přejděte dolů k Možnostem Internetu
Na panelu Obsah, klikněte na tlačítko Vyčistit stav SSL.
Zavřete prohlížeč, pak znovu otevřete a vyzkoušejte.
Přistupování k souborů pomocí cURL
Protože WebDAV je rozšířením HTTP protokolu, lze pro naskriptování operací se soubory použít cURL.
Poznámka
Nastavení → Správa → Sdílení → Umožnit uživatelům na tomto serveru posílat sdílení na ostatní servery. Pokud je tato volba vypnutá, pak je třeba cURL předat volbu --header "X-Requested-With: XMLHttpRequest"
.
Pro vytvoření složky, nazvanou podle stávajícího data:
$ curl -u user:pass -X MKCOL "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')"
Pro nahrání souboru error.log
do tohoto adresáře:
$ curl -u user:pass -T error.log "https://example.com/nextcloud/remote.php/dav/files/USERNAME/$(date '+%d-%b-%Y')/error.log"
Pro přesunutí souboru:
$ 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
Pro získání vlastností souborů v kořenové složce:
$ 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>
Přístup souborům pomocí WinSCP
WinSCP je open source klient pro SFTP, FTP, WebDAV, S3 and SCP protokoly pro Windows. Jeho hlavní funkcí je přenos souborů mezi lokálním a vzdáleným počítačem. Krom toho, WinSCP nabízí skriptování a základní funkce pro správu souborů.
Je možné si stáhnout přímo spouštitelnou verzi WinSCP a a spouštět ji na Linuxu prostřednictvím Wine.
Pokud chcete WinSCP spustit na Linuxu, nainstalujte si wine prostřednictvím správce balíčků vámi používané distribuce a pak spusťte pomocí příkazu: wine WinSCP.exe
.
Pro připojení se k Nextcloud:
Spusťte WinSCP
V nabídce stiskněte ‚Relace‘
Z nabídky zvolte ‚Nová relace‘
V rozbalovací nabídce ‚Souborový protokol‘ nastavte WebDAV
V rozbalovací nabídce ‚Šifrování‘ nastavte výslovné TLS/SSL šifrování
Vyplňte kolonku pro název hostitele, např.:
example.com
Vyplňte kolonku pro uživatelské jméno:
NEXTCLOUDUZIVATELSKEJMENO
Vyplňte kolonku pro heslo:
NEXTCLOUDHESLO
Klikněte na tlačítko ‚Pokročilé…‘
Přejděte do ‚Prostředí, ‚Adresáře‘ vlevo
Vyplňte kolonku ‚Vzdálená složka‘ následujícím (např.):
/nextcloud/remote.php/dav/files/NEXTCLOUDUZIVATELSKEJMENO/
Stiskněte tlačítko „0K“
Stiskněte tlačítko „Uložit“
Vyberte požadované předvolby a klikněte na ‚OK‘
Kliknutím na ‚Přihlásit‘ se připojte k Nextcloud
Poznámka
It is recommended to use an app password for the password if you use TOTP as WinSCP does not understand TOTP with Nextcloud at the time of writing (2022-11-07).