WebDav Server - eigene minimal Cloud

  • Meine Experimente in Bezug auf Cloudspeicher und dem Raspberry sind eigentlich schon zufriedenstellend mit Seafile realisiert.

    Dennoch habe ich mich mal daran gegeben, eine "eigene" schmale WebDav Lösung für den Raspberry zu realisieren.
    Über entsprechende IOS App’s wie „Documents“ oder „GoodReader“ kann der Zugriff auf die „Cloud“ bestens hergestellt werden. Es wird sicherlich entsprechende Android Apps geben.
    Der Sync mit dem Desktop-Rechner findet über entsprechende kostenlose Sync Software statt.


    Die Performance ist super. Ich überlege ernsthaft von Seafile auf diese Lösung umzusteigen.
    Bei gleichzeitigem Zugriff von 5 Geräten liefert mir htop lediglich eine CPU-Auslastung von 38%
    Da ist OwnCloud schon längst am Anschlag, Seafile allerdings auch ;-)


    Nachteil der Lösung.
    Kein Schnickschnack vorhanden.
    Ihr könnt Daten syncen, kopieren, bewegen und löschen.
    Mehr nicht.



    Ich habe mir im Netz alle möglichen Anleitungen zum Thema angeschaut.
    Was ich davon genutzt habe findet Ihr nachfolgend.


    Benötigt wird:

    • Apache als Webserver
    • WebDav Module für Apache
    • Für den Zugang von außen NOIP2 (Wenn keine statische IP Adresse vorhanden ist)
    • Ein externes Speichermedium (Festplatte oder USB Stick)
    • Entsprechende Apps für IOS und Android
    • Sync Software für Desktop Rechner


    Die Quellen:

    (Alternativen für Android bitte nachreichen, da kenne ich mich nicht aus.)



    Die Installation



    Zu erst müsst Ihr, wenn nicht schon geschehen, den Apache Webserver installieren.
    Wie das geht, erfahrt Ihr hier im Forum, in diesem Tutorial


    Als nächstes müsst Ihr die WebDav Module aktivieren



    Code
    sudo a2enmod dav_fs
    sudo a2enmod dav
    sudo /etc/init.d/apache2 force-reload




    Datenverzeichnis (möglichst auf externem Speicher) anlegen.
    In meinem Fall eine USB Festplatte die im Verzeichnis "/media" eingehängt ist.



    Code
    sudo mkdir -p /media/USB-SPEICHER/Cloud/
    sudo mkdir -p /media/USB-SPEICHER/Cloud/Daten


    Ihr könnt natürlich Eure eigenen Strukturen und Verzeichnisnamen anlegen.
    Diese müsst Ihr dann natürlich im Verlauf dieses Tutorials entsprechend ändern. ;-)


    Jetzt noch den richtigen "Eigentümer" anlegen



    Code
    sudo chown -R www-data /media/USB-SPEICHER/Cloud/




    Virtuellen Host in Apache anlegen.


    Aus Sicherheitsgründen kopiert Ihr erst einmal die original Konfiguration mit



    Code
    sudo mv /etc/apache2/sites-available/default /etc/apache2/sites-available/default_org



    Dann könnt Ihr die Datei editieren


    Code
    sudo nano /etc/apache2/sites-available/default



    Ihr könnt den vorhandenen Inhalt der „default“ Datei löschen und durch nachfolgenden Code ersetzen:






    Jetzt muss der Apache Webserver neu gestartet werden mit



    Code
    sudo /etc/init.d/apache2 reload




    Passwortschutz für WebDav Verzeichnis



    Code
    sudo htpasswd -c /media/USB-SPEICHER/Cloud/passwd.dav Gewünschter_Username



    Jetzt müsst Ihr Euer Wunschpasswort eingeben und nochmals bestätigen.


    Entsprechende Rechte für Passwortdatei vergeben:


    Code
    chown root:www-data /media/USB-SPEICHER/Cloud/passwd.dav
    chmod 640 /media/USB-SPEICHER/Cloud/passwd.dav




    Jetzt müssen wir noch einmal die Apache Konfiguration ändern mit



    Code
    sudo nano /etc/apache2/sites-available/default



    Fügt bitte folgenden Text zwischen </Directory> und </VirtualHost> am Ende der Datei.



    Apache Configuration
    Alias /webdav /media/USB-SPEICHER/Cloud/Daten 
    
    
            <Location /webdav> 
               DAV On 
               AuthType Basic 
               AuthName "webdav" 
               AuthUserFile /media/USB-SPEICHER/Cloud/passwd.dav 
               Require valid-user 
           </Location>


    Die „default“ Datei muss insgesamt so aussehen:




    Jetzt noch mal den Webserver neu starten mit:



    Code
    sudo /etc/init.d/apache2 reload




    Fertig



    Jetzt müsst Ihr lediglich Eure Clients mit dem WebDav Server verbinden.


    In MacOS reicht ein schlichtes cmd & K
    Serveradresse: http://ip-Adresse_Raspberry/webdav/
    Username und Passwort eintragen die Ihr weiter oben vergeben habt.
    Fertig.


    In Windows müsst Ihr so vorgehen:
    http://www.howtoforge.com/sett…apache2-on-debian-etch-p2


    In anderen Clients wie „Documents“ geht Ihr entsprechend vor.



    Auf meinem Mac habe ich ein lokales Datenverzeichnis mit dem WebDav Server synchronisiert.
    Ich nutze „GoodSync“ für diese Aufgabe.
    „Goodsync“ läuft auch auf Windows PC’s



    So ich hoffe ich habe nichts vergessen ;-)
    Wenn doch einfach Bescheid geben.



    Viel Spaß
    Blaster

    Edited 2 times, last by hyle: Textformatierung der alten Forensoftware entfernt ().

  • Kann jemand verifizieren, dass obriges Tutorial funktioniert?
    Habe es jetzt 2x auf einem frischen Pi ausprobiert, beides mal kann ich mich nicht mit dem Webdav verbinden...

  • Hey, sorry das ich mich nicht mehr gemeldet hatte. Das Problem lag beim Client (Windows 7 und Web Dav...)
    Danke fürs Tutorial

  • Hallo und erst einmal vielen Dank für dieses tolle Tutorial!


    Ich habe folgendes Problem:
    wenn ich mich per Windows 8 verbinden will, bekomme ich die Fehlermeldung, die Zugangsdaten seien falsch.


    Ich würde gerne, um zu sehen, ob die Meldung gerechtfertigt ist, die Zugangsdaten zum WebDav ändern. Könnte mir jemand verraten, wie das geht?

  • Bei mir erscheint folgende Fehlermeldung:


    [Wed Sep 17 12:48:09 2014] [warn] NameVirtualHost *:80 has no VirtualHosts

  • Habe mich gerade durch dieses Tutorial gearbeitet. Hat mir sehr geholfen, um mich durch die anfänglichen Schwierigkeiten durchzuarbeiten. Mittlerweile läuft mein Webdav sogar über SSL:bravo2:

    Edited once, last by Monotom ().

  • Hi,


    hab mir gerade das Tuturorial durchgelesen.


    Mich Interessiert das WebDav Thema.
    Ich würde gerne den WebDav Server verwenden um solche dinge wie den Outlook Kalender veröffentlichen zu können.


    Weisst du ob ich dafür alle Tools brauche oder reicht nur ein Teil davon ?



    Gruß