Zwei Server per WebDAV miteinander verbinden

Manchmal möchte man Daten zwischen zwei Servern austauschen, und dazu kann man den einen Server über das Protokoll WebDAV in den anderen einbinden. WebDAV ist vermutlich nicht das beste Übertragungsprotokoll, aber wird in der Regel von gängigen Cloud-Diensten angeboten.

Ich beschreibe hier exemplarisch die Verbindung zu der Telekom MagentaCLOUD und zu einer selbst gehosteten Nextcloud.

Voraussetzungen

Eine Verbindung per Terminal mit dem Server wurde hergestellt. Die erforderliche Software davfs2 und ca-certificates wurden installiert.

Installieren unter Debian / Ubuntu

sudo apt install davfs2
sudo apt install ca-certificates

Ist man als Root verbunden entfällt sudo

Mountpunkt

Das Einbinden eines Speicherplatzes nennt man mounten. Und der Mountpunkt ist das Verzeichnis auf dem Gerät, in dem der externe Speicher zu finden sein wird. Klassischerweise erstellt man dazu ein Verzeichnis unterhalb von media.

mkdir /media/cloud/

Hinweis:
Wenn man mehrere externe Speicher nutzen möchte ist es sinnvoll im Verzeichnisnamen einen Hinweis darauf zu geben. Also sowas wie /media/magentacloud oder /media/benutzernamendescloudspeichers.

Verbinden mit MagentaCLOUD

Dazu tippt man folgenden Befehl ein:

sudo mount -t davfs https://webdav.magentacloud.de /media/cloud -o uid=www-data

Als Root braucht man kein sudo und auch kein -o uid eintragen. Hier reicht der reine Befehl.

-o gibt an, welcher Nutzer hier die Rechte an den Dateien hat. Wenn man also will, das ein Webservice in dieses Verzeichnis schreibt, gibt man die UID des ausführenden Benutzers an, was in der Regel www-data ist.

Hat man den Befehl abgeschickt, wird man nach Benutzernamen und Passwort gefragt. Benutzername bei der Telekom ist die vollständige E-Mail-Adresse. Das Passwort ist das sogenannte Protokoll-Passwort, das in den Telekom Login-Einstellungen vergeben wird.

Will man die Verbindung, zum Beispiel innerhalb eines Backup-Skripts, automatisch herstellen (zum Beispiel, weil diese nach einem Reboot nicht mehr da ist), dann geht das mit folgendem Befehl:

echo "e-mail-adresse\nProtokollpasswort" | mount -t davfs https://webdav.magentacloud.de /media/cloud

Verbinden mit Nextcloud

Um den Servernamen für die Verbindung herauszufinden, logge dich in die Nextcloud ein und wechsel auf die Dateien. Hier unten links bei Einstellungen / WebDAV findet sich dann die Adresse.

Die Befehle sind dann die gleichen wie bei der MagentaCLOUD, nur eben mit dem anderen Servernamen.

sudo mount -t davfs https://urlzurnextcloud.de/remote.php/dav/files/benutzername /media/cloud/ -o uid=www-data

Auch hier muss natürlich Benutzername und Passwort eingetragen werden. Das sind die Daten, mit denen man sich auch in die Nextcloud einloggt. Und natürlich kann man auch hier die Daten innerhalb eines Skripts übergeben.

echo "benutzername\nloginpasswort" | mount -t davfs https://urlzurnextcloud.de/remote.php/dav/files/benutzername /media/cloud