So richtest Du einen WebDAV-Server als Ziel für Deine Backups ein, zum Beispiel Nextcloud, ownCloud oder ein NAS: vom Formular über den Verbindungstest bis zum gespeicherten Ziel.
Das brauchst Du
- die Adresse des Ordners am Server, mit https:// am Anfang,
- Benutzername und Passwort; nutzt das Konto eine Zwei-Faktor-Anmeldung, ein App-Passwort,
- einen Ordner, den niemand ohne Berechtigung erreicht, auch nicht über einen Freigabe-Link.
WebDAV ist der Dateizugriff über HTTP. Das Plugin spricht WebDAV über die PHP-Erweiterung cURL und liest die Antworten des Servers mit der PHP-Erweiterung DOM.
Schritt 1: Ziel-Art wählen
Öffne die Seite Ziele und klicke auf Ziel hinzufügen. Wähle WebDAV.
- Die Ziel-Arten, die es gibt. WebDAV trägt die Weltkugel.
- geplant steht an Ziel-Arten, die noch nicht wählbar sind.
- Schließen schließt die Auswahl.
Fehlt dem Webserver cURL oder DOM, ist WebDAV ausgegraut und trägt den Vermerk Auf diesem Server nicht verfügbar. Der Grund steht unter der Auswahl.
Schritt 2: Formular ausfüllen
- Name ist frei wählbar. Das Plugin schlägt „WebDAV 1“ vor; jeder Name geht, der noch nicht vergeben ist.
- Adresse des Ordners ist die vollständige WebDAV-Adresse. Fehlende Ordner legt das Plugin an.
- Benutzername
- Passwort ist das Passwort des Kontos oder ein App-Passwort.
- Verbindung testen prüft die eingegebenen Werte, ohne zu speichern.
Felder mit rotem Stern sind Pflicht. Für die Adresse gilt:
- Bei Nextcloud und ownCloud hat sie die Form
https://<Server>/remote.php/dav/files/<Benutzer>/<Ordner>/. - Benutzername und Passwort gehören in ihre Felder, nicht in die Adresse. Eine Adresse mit Zugangsdaten, Fragezeichen oder Raute lehnt das Formular ab: Dieser Wert ist nicht gültig.
- Eine Adresse mit http:// nimmt das Plugin an. Passwort und Daten gehen dann im Klartext über die Leitung.
Der Ordner darf nicht öffentlich erreichbar sein
Stelle sicher, dass niemand ohne Berechtigung auf den Ordner zugreifen kann, zum Beispiel über einen Freigabe-Link. Das Plugin schickt nie Anfragen zur Probe an fremde Server. Es kann Dir deshalb nicht sagen, ob der Ordner öffentlich ist.
Schritt 3: Verbindung testen
Klicke auf Verbindung testen. Der Test meldet sich am Server an, schreibt eine kleine Datei, fragt ihre Größe, benennt sie um, liest sie zurück, listet den Ordner auf und löscht die Datei wieder. Mit einer Testdatei von 1 MiB misst er die Upload-Rate.
- Das Ergebnis des Tests: Die Verbindung funktioniert, eine Testdatei wurde geschrieben, zurückgelesen und gelöscht.
- Das Upload-Verfahren, das der Test festgestellt hat, und die gemessene Upload-Rate.
WebDAV selbst kennt keinen Weg, einen unterbrochenen Upload fortzusetzen. Das Plugin kennt drei Verfahren. Der Test stellt fest, welches Dein Server anbietet:
| Zeile im Ergebnis | Bedeutung |
|---|---|
| Upload-Verfahren: Der Server setzt einen unterbrochenen Upload dort fort, wo er aufgehört hat. | Der Server nimmt ein Stück einer Datei an einer bestimmten Stelle an, zum Beispiel Apache mit mod_dav. Das Verfahren heißt range. |
| Upload-Verfahren: in Abschnitten, wie Nextcloud und ownCloud sie anbieten. | Die Abschnitte gehen in einen Upload-Ordner des Servers, der sie am Ende zusammensetzt. Das geht nur mit einer Adresse der Form …/remote.php/dav/files/<Benutzer>/…. Das Verfahren heißt chunks. |
| Upload-Verfahren: jede Datei in einer Anfrage, weil der Server einen Upload nicht fortsetzen kann. | Für Server, die keines der beiden anderen anbieten. Das Verfahren heißt whole. Darunter steht, wie groß die Teile eines Backups höchstens werden. |
Die letzte Zeile nennt die Rate: Gemessene Upload-Rate: … je Sekunde.
Schritt 4: Speichern
Klicke auf Speichern. Das Plugin speichert das Ziel, testet die Verbindung noch einmal und meldet das Ergebnis: „…“ gespeichert und verbunden. Pläne und Backups nutzen ein Ziel erst nach einem gelungenen Verbindungstest.
- Alle Ziele sind verbunden.
- Die Meldung nennt das Ziel: gespeichert und verbunden.
- Das neue Ziel steht in der Liste. Der grüne Punkt heißt: verbunden. Vor einem Ziel der Art WebDAV steht die Weltkugel.
Findet das Plugin am Ort des Ziels Backups, die nicht in Deiner Liste stehen, erscheint die Kachel Backups gefunden an „…“. Mehr dazu: Backups nach einem Totalverlust wiederfinden.
Schritt 5: Das Ziel im Backup-Plan wählen
- Dein erstes Ziel: Das Plugin legt den Plan „Tägliches Backup“ an: täglich zu einer zufälligen Uhrzeit, alles, dieses Ziel, Max. Sicherungen 7. Der Plan ist pausiert, bis Du ihn einschaltest.
- Ein weiteres Ziel: Wähle es auf der Seite Backup in der Kachel Backup-Pläne in einem Plan. Die freie Version erlaubt zwei Pläne und ein Ziel je Plan.
Mehr dazu: Backups automatisch planen.
Die Felder der Ansicht Erweitert
- Zeitgrenze für den Verbindungsaufbau (Sekunden) nimmt 3 bis 60, Vorgabe ist 10.
-
Upload-Verfahren darf leer bleiben: Dann gilt, was der Verbindungstest festgestellt hat. Mögliche Werte sind
range,chunksundwhole. - Upload-Rate (Bytes je Sekunde) darf leer bleiben: Dann gilt, was der Verbindungstest gemessen hat.
- Akzeptierter Schlüssel des Servers wird durch Dieses Zertifikat akzeptieren gesetzt. Leer heißt: Das Plugin prüft das Zertifikat gegen die Liste der vertrauenswürdigen Stellen.
In einem leeren Feld, dessen Wert der Test feststellt, steht automatisch. Jeder Verbindungstest stellt Verfahren und Rate neu fest. Die Backups führen beides nach: Eine kleinere Rate gilt sofort, eine größere zur Hälfte. Was Du selbst einträgst, geht immer vor.
Verschlüsselung und Zertifikat
https:// ist die Regel. Mit http:// warnt das Ergebnis des Verbindungstests: Die Verbindung ist nicht verschlüsselt: Passwort und Daten lassen sich unterwegs mitlesen.
Mit https:// prüft das Plugin das Zertifikat des Servers gegen die Liste der vertrauenswürdigen Stellen, die WordPress mitbringt, samt dem Namen des Servers. Scheitert die Prüfung, scheitert der Test und zeigt das Zertifikat.
- Der Grund: nicht für diesen Servernamen ausgestellt, selbst signiert, von einer unbekannten Stelle oder abgelaufen.
- Die Angaben des Zertifikats: für wen es ausgestellt ist, von wem, bis wann es gilt, und sein Fingerabdruck.
- Dieses Zertifikat akzeptieren übernimmt den Schlüssel des Zertifikats in das Formular und testet noch einmal.
Über dem Grund 1 steht im Bild die Zeile Meldung von cURL mit dem Wortlaut von cURL im Original.
Nur akzeptieren, wenn der Fingerabdruck stimmt
Nach dem Akzeptieren vertraut das Plugin genau diesem Schlüssel und prüft nicht mehr, wer das Zertifikat ausgestellt hat. Niemand hat bestätigt, dass dies der richtige Server ist: Vergleiche den Fingerabdruck mit dem, den Dein Anbieter nennt.
Nach dem Akzeptieren steht im Ergebnis eines gelungenen Tests die Warnung: Das Zertifikat wird nicht gegen die Liste der vertrauenswürdigen Stellen geprüft; das Plugin vertraut dem Schlüssel, den Du akzeptiert hast.
Die Prüfung wird nie abgeschaltet. Zeigt der Server später einen anderen Schlüssel, besteht das Ziel seinen Test nicht mehr: Der Server zeigt einen anderen Schlüssel als den, den Du akzeptiert hast. Er hat vielleicht ein neues Zertifikat, oder jemand sitzt dazwischen. Akzeptiere das neue Zertifikat nur, wenn Du weißt, warum es sich geändert hat.
Wenn der Test scheitert
Scheitert der Test, steht das Ergebnis unter den Feldern des Formulars. Im Bild hat der Server die Anmeldung abgelehnt.
- Die Ursache im Klartext. Der Link am Ende, Protokoll anzeigen, öffnet das allgemeine Protokoll. Dort stehen die Einzelheiten des Tests.
- Meldung des Servers ist der Wortlaut des Servers im Original.
Hat auch cURL etwas gemeldet, steht darunter Meldung von cURL. Der Wortlaut in beiden Zeilen ist nicht übersetzt; Zugangsdaten, Ordner und Servernamen sind darin unkenntlich gemacht.
| Meldung | Was Du tun kannst |
|---|---|
| Der Server ist nicht erreichbar. Prüfe den Servernamen und den Port; der Hoster dieser Website sperrt den Port vielleicht. | Prüfe die Adresse des Ordners: den Namen des Servers und, wenn sie einen nennt, den Port. |
| Der Server hat die Anmeldung abgelehnt. Prüfe Benutzername und Passwort. | Gib die Zugangsdaten neu ein. Nutzt das Konto eine Zwei-Faktor-Anmeldung, erstelle dort ein App-Passwort und trage es ein. |
| Das Zertifikat des Servers hat die Prüfung nicht bestanden. | Siehe den Abschnitt „Verschlüsselung und Zertifikat“. |
| Der Server leitet auf eine andere Adresse weiter. Das Plugin folgt keiner Weiterleitung; teste die Verbindung des Ziels, um die neue Adresse zu sehen. | Siehe den nächsten Abschnitt. |
| Der Server erlaubt nicht alles, was das Plugin braucht. | Unter der Meldung steht, was fehlt, zum Beispiel das Umbenennen oder das Lesen ab einer Position. Das Plugin braucht es, um Backups zu prüfen, fortzusetzen und aufzuräumen. Ohne diese Fähigkeit ist das Ziel nicht benutzbar. |
| Der Server hat um eine Pause gebeten: Er ist ausgelastet oder hat zu viele Anfragen erhalten. | Teste die Verbindung später erneut. |
| Der Server meldet, dass kein Platz mehr frei ist. | Schaffe Platz am Server, oder wähle einen Ordner mit mehr Platz. |
| Der Server hat die Anfrage abgelehnt, oder die Übertragung ist gescheitert. | Kennt das Plugin den Grund, steht er unter der Meldung: Der Server lehnt Uploads dieser Größe ab, oder ein anderes Programm hat die Datei am Server für sich reserviert. Sonst hilft der Wortlaut des Servers weiter. |
Wenn der Server weiterleitet
Das Plugin folgt keiner Weiterleitung, weil das Passwort sonst an eine Adresse ginge, die Du nicht eingetragen hast. Der Test scheitert, und unter der Meldung steht die neue Adresse.
- Die Meldung: Der Server leitet auf eine andere Adresse weiter.
- Die neue Adresse, auf die der Server weiterleitet.
Trage die neue Adresse als Adresse des Ordners ein, wenn sie die richtige ist.
Wenn ein Upload zu langsam ist
Das Plugin arbeitet in kurzen Schritten. Beim Verfahren whole muss jede Datei in einem Schritt ankommen. Ein Backup an ein solches Ziel zerlegt das Plugin deshalb in kleinere Teile: Es rechnet mit der Upload-Rate des Ziels und der Höchstdauer eines Schritts und wählt eine Größe zwischen 1 MiB und 256 MiB. Das Ergebnis des Verbindungstests nennt sie: Ein Backup, das an dieses Ziel geht, wird deshalb in Teile von höchstens … zerlegt, und zwar an jedem Ziel dieses Backups.
- Das Ergebnis des Tests: Die Verbindung funktioniert.
- Das Upload-Verfahren, das der Test festgestellt hat: jede Datei in einer Anfrage.
- Die Höchstgröße der Teile eines Backups, das an dieses Ziel geht.
Kommt eine Datei trotzdem nicht rechtzeitig an, gilt das Ziel in diesem Backup nach drei Versuchen als gescheitert. Die Meldung dazu: Ein Upload kam nicht an, bevor die Zeit eines Schritts abgelaufen war: Die Verbindung zum Ziel ist dafür zu langsam. Das Plugin merkt sich danach eine kleinere Rate, und das nächste Backup bekommt kleinere Teile. Teste die Verbindung des Ziels erneut, um die Rate neu zu messen. Wie lange ein Schritt höchstens dauert, sagt die Einstellung Höchstdauer je Schritt: Das Plugin an Deinen Server anpassen.
Gut zu wissen
- Die Backups liegen am Server unter
<Adresse>/cloneworx-backup-<Code>/<Backup>/. Den Ordner des Plugins musst Du nicht anlegen. - In seine Ordner legt das Plugin die Schutzdateien
index.phpundindex.html, aber weder.htaccessnochweb.config: Ein WebDAV-Server liest die Dateien, die bei ihm liegen. An einem WebDAV-Ziel schützt die Anmeldung am Server den Ordner. - Bittet der Server während eines Backups um eine Pause, wartet das Plugin so lange, wie der Server sagt, höchstens fünf Minuten, und versucht es dann erneut.
- Das Plugin löscht Dateien einzeln. Einen Ordner entfernt es nur, wenn der Server ihn als leer auflistet.
- Backups, die nur an einem WebDAV-Ziel liegen, lädst Du nicht über das Plugin herunter, sondern mit Deinem WebDAV-Programm oder in der Weboberfläche des Servers. Restore, Prüfung und Wiederfinden lesen direkt vom Server.
- Nennt der Server den freien Platz, prüft das Plugin vor dem Schreiben eines Backups, ob er reicht. Die Kachel Ziele und Platz in der Ansicht Erweitert zeigt den freien Platz nur bei lokalen Ordnern; bei einem WebDAV-Ziel steht dort ein Strich.
- Einen Proxy aus der
wp-config.phpbenutzt das Plugin auch für WebDAV.
Siehe auch
- Welches Ziel passt zu Dir?
- Die Seite „Ziele“
- Zugangsdaten eines Ziels erneuern
- Backups an einem Ziel prüfen und Reste aufräumen
- Wenn ein Backup fehlschlägt oder mit Warnungen endet
Auf der Kommandozeile
WP-CLI noch nicht eingerichtet? So installierst Du WP-CLI.
Das Passwort nimmt die Kommandozeile nicht an; ein WebDAV-Ziel richtest Du deshalb auf der Seite Ziele ein. Alles Weitere geht auch mit WP-CLI:
# Ziele mit Kennung und Zustand zeigen wp cloneworx-backup target list # Die Verbindung testen wp cloneworx-backup target test webdav-1 # Einen Plan anlegen, der an dieses Ziel sichert wp cloneworx-backup plan add --targets=webdav-1 --rhythm=daily --time=03:15 --name="Nachts" # Die Backups an diesem Ziel prüfen wp cloneworx-backup target check webdav-1 # Reste zeigen (--dry-run) und aufräumen wp cloneworx-backup target cleanup webdav-1 --dry-run wp cloneworx-backup target cleanup webdav-1