Sicherer Cloud-Server
Raspberry Pi - OwnCloud mit Verschlüsselung einrichten
Eigener Cloud-Server: Wir zeigen, wie Sie OwnCloud auf dem Raspberry Pi inklusive Verschlüssung einrichten.

Wenn Sie Wert auf die Sicherheit Ihrer Daten legen, aber nicht auf den Luxus des immer und überall verfügbaren Zugriffs im Internet verzichten wollen, richten Sie Ihre eigene Cloud auf dem Raspberry Pi ein. Dafür eignet sich OwnCloud. Die kostenlose Software dürfen Sie auf private Server installieren, sie bietet denselben Service wie Internetdienste - jedoch verschlüsselt.
1. Raspberry-Pi-Betriebssystem installieren und SSH einrichten
Die eigene Cloud ist in wenigen Schritten umsetzbar. Als Grundbaustein dient ein Raspberry Pi mit der aktuellen Raspbian-Wheezy-Version. Der Softwareinstaller NOOBS erleichtert die Installation des Betriebssystems. Entpacken Sie NOOBS auf eine mindestens 4 GByte große Speicherkarte. Diese stecken Sie in den Raspberry Pi, schließen Tastatur, Maus, Bildschirm und Ethernet- Kabel an und geben dem Raspberry Strom. Nach kurzer Zeit erscheint ein Auswahlmenü, bei dem Sie das Raspbian-Betriebssystem [recommended] auswählen.
Lesetipp: Raspberry Pi - das brauchen Sie zum Start
Als Installationssprache wählen Sie Deutsch und starten die Installation. Diese kann einige Minuten dauern, schließlich startet der Raspberry Pi neu und öffnet automatisch das Konfigurationstool raspiconfig. Hier aktivieren Sie unter dem Menüpunkt Advanced Options die Option SSH enable. Bei diesen erweiterten Optionen ist es auch möglich, wenn erwünscht, einen bestimmten sichtbaren Namen des Raspberry Pi im Netzwerk (Hostname) festzulegen. Diese Änderungen werden durch einen vom System vorgeschlagenen Neustart aktiviert.
Lesetipp: Raspberry Pi: Raspbian einrichten
Nach diesem melden Sie sich mit dem Standardbenutzernamen pi und dem Password raspberry an und fahren den Raspberry Pi mit dem Befehl sudo shutdown -h now ordnungsgemäß herunter, bevor Sie ihn vom Strom trennen. Nun können Sie den Raspberry Pi an einem günstigen Ort (er lässt sich von jetzt an über einen PC steuern und muss daher nicht mehr leicht zugänglich sein), angeschlossen an Ethernet und Strom, platzieren.

Die Installation des Servers und alle sonstigen zukünftigen Aktionen auf dem Raspberry Pi können mittels SSH über einen PC gesteuert werden, dazu benötigen Sie nur die IP-Adresse des Raspberry Pi, die Sie in der Liste der angemeldeten Geräte auf Ihrem Router ablesen. Melden Sie sich dazu mit dem Browser auf dem PC über die lokale IP-Adresse des Routers auf dessen Konfigurationsoberfläche an. Wo Sie die Liste der angemeldeten Geräte finden, ist bei jedem Router unterschiedlich.
Auf dem PC brauchen Sie für die Verbindung zum Raspberry Pi einen SSH-Client wie das kostenlose Putty für Windows. Legen Sie in Putty über Port 22 eine neue Verbindung zur IP-Adresse des Raspberry Pi mit dem Verbindungstyp SSH an. Schalten Sie links auf den Bereich Window/Translation, und wählen Sie in der Liste Remote Character Set die Option UTF-8 aus, damit die Sonderzeichen im Terminalfenster richtig dargestellt werden. Bevor Sie die Verbindung mit einem Klick auf Open herstellen, speichern Sie sie im Bereich Session unter einem beliebigen Namen mit einem Klick auf Save.
Bei der ersten Verbindung erscheint eine Sicherheitswarnung, die nicht relevant ist, da es sich um keine Internetverbindung handelt. Kurz danach öffnet sich ein Terminalfenster, in dem Sie sich auf dem Raspberry Pi wieder mittels Standarddaten anmelden müssen. Setzen Sie mit dem Befehl passwd ein eigenes Passwort.
Unter Linux ist kein Extra-Programm zur Verbindung notwendig, hier geben Sie lediglich folgenden Befehl in das Terminal ein:
- "ssh pi@192.168.2.103" (mit der IP-Adresse Ihres Raspberrys, ohne Anführungszeichen)
Bestätigen Sie die Sicherheitswarnung, und Sie sind mit dem Raspberry verbunden.
2. Feste IP-Adresse im lokalen Netzwerk festlegen
Für die Nutzung des Raspberry Pi als Webserver ist eine feste IP-Adresse notwendig. Üblicherweise vergeben die Router in Heimnetzwerken die IP-Adressen dynamisch über DHCP. Das hat zur Folge, dass nach einem Neustart des Routers der Raspberry Pi eventuell eine andere IP-Adresse hat als vorher - was im Serverbetrieb nicht passieren darf. Um das zu verhindern, legen Sie auf dem Router fest, dass der Raspberry Pi immer die gleiche IP-Adresse zugewiesen bekommt.
Lesetipp: Raspberry Pi als NAS einrichten
Tragen Sie bei einem Vodafone-Router in der Kategorie LAN unter dem Punkt statisches DHCP die Mac-Adresse des Raspberry Pi und die gewünschte statische IP-Adresse ein (etwa die dem Raspberry Pi schon zugewiesene). Bei Fritzboxen kann durch Anklicken des Gerätes ein entsprechendes Häkchen gesetzt werden.
3. Server im Internet erreichbar machen
Damit der Cloud-Server von außen erreichbar ist, benötigt er eine feste IP-Adresse im Internet. Dynamische DNS-Dienste (DDNS) ersparen das manuelle Herausfinden und Weitergeben der eigenen IP-Adresse. Hier bekommen Sie einen virtuellen Servernamen. Dieser wird vom Router regelmäßig auf die derzeitige eigene IP-Adresse aktualisiert. So können Sie wie bei einem echten Domainnamen im Internet immer den gleichen Namen verwenden, um einen Server trotz wechselnder IP-Adresse von außen zu erreichen. Folgende Dienste bieten etwa den Service: www.noip.com, www.selfhost.de, www.dnsexit.com.
In der Routerkonfiguration ermitteln Sie unter dem Menüpunkt DDNS, ob Ihr Router einen kostenlosen DDNS-Dienst unterstützt. Ist dies der Fall, registrieren Sie bei diesem Anbieter ein kostenloses Benutzerkonto und legen Sie dabei einen virtuellen Host an, eine eindeutige Bezeichnung Ihres Servers unter einer der vom Anbieter vorgegebenen Domains. Tragen Sie diesen Hostnamen sowie den Benutzernamen und das Passwort für die Aktualisierung der IP-Adresse beim DDNS-Dienst in Ihrer Routerkonfiguration ein.

Sollte wie bei Vodafone nur der ehemals kostenlose Dienst DynDNS unterstützt werden, richten Sie ein Benutzerkonto bei noip.com ein. Dieser Anbieter liefert eine Software, mit der der Raspberry Pi als Webserver selbst die IP-Adresse aktualisieren kann. Legen Sie bei der Anmeldung einen DNS Host (A) mit einer kostenlosen NOIP Free Domain an.
Den Download starten Sie anschließend von der Kommandozeile des Raspberry Pi mit
- "wget https://www.noip.com/client/linux/noip-duc-linux.tar.gz"
- Entpacken Sie das Archiv mit: "tar xf noip-duc-linux.tar.gz"
- Löschen Sie es anschließend mit: "rm noip-duc-linux.tar.gz"
Beim Entpacken wird das Verzeichnis noip-2.1.xxx angelegt. Benennen Sie dieses zunächst um:
- "mv noip-* noip"
- Der Download enthält kein fertiges Installationspaket. Dieses muss mit einem im Archiv enthaltenen Skript erst noch gebaut werden.
- Gehen Sie dazu in das noip-Verzeichnis: "cd noip"
- Führen Sie folgenden Befehl aus: "sudo make install". Eventuelle Warnungen ignorieren Sie.
- Geben Sie am Schluss Ihren Log-in-Namen und das Passwort von noip.com an.
Jetzt fragt das Tool die Datenbank von noip ab und zeigt die auf Ihren Benutzernamen registrierten Hosts an. Ist nur einer vorhanden, wird dieser automatisch ausgewählt. Legen Sie dann noch ein Update-Intervall fest. In den meisten Fällen sollte die Standardvorgabe von 30 Minuten ausreichen, da die meisten Internetprovider nur einmal am Tag, üblicherweise nachts, die IP-Adressen neu vergeben. Zum Schluss beantworten Sie die Frage "Do you wish to run something at successful update?" mit dem vorgeschlagenen N. Starten Sie den noip-Client mit "sudo noip2".
Lesetipp: Raspberry Pi - Profi-Tipps für den Mini-PC
Damit wird Ihre öffentliche IP-Adresse automatisch alle 30 Minuten bei noip.com aktualisiert. Der Webserver auf dem Raspberry Pi ist ab sofort unter dem in der Konfiguration angegebenen Hostnamen von außen erreichbar. Um den noip-Client beim Booten des Raspberry Pi automatisch zu starten, muss dieser in der Datei "/etc/rc.local" aufgerufen werden. Öffnen Sie diese Datei mit dem nano-Editor:
- "sudo nano /etc/rc.local"
- Fügen Sie in diese Datei vor der Zeile "exit 0" folgende Zeile ein: "sudo noip2".
Nun muss der Router nur noch wissen, auf welchen Computer im Netzwerk eine von außen kommende Anfrage nach einer Webseite weitergeleitet werden soll. Wenn man selbst im Internet surft, ist klar, dass die Antworten auf genau den Computer zurückgeschickt werden, von dem die Anfragen kommen. Ein Besucher von außen, der eine Seite auf dem eigenen Webserver nutzen möchte, muss vom Router aber zunächst durch das lokale Netzwerk auf den Raspberry Pi geleitet werden.

Jeder DSL-Anschluss und damit jedes Heimnetzwerk hat eine einzige öffentliche IP-Adresse, die nach außen sichtbar ist. Für die unterschiedlichen Netzwerkdienste werden verschiedene Ports genutzt. So nutzt ein Webserver den Port 80, der vom Router auf den Raspberry Pi im LAN weitergeleitet werden muss.
Suchen Sie in Ihrer Routerkonfiguration einen Bereich Port Mapping oder Portweiterleitung, und tragen Sie dort auf die lokale IP-Adresse des Raspberry Pi mit dem Protokolltyp TCP eine Weiterleitung für den HTTP-Port 80 ein (d. h. LAN-Port = Öffentlicher Port = 80). Jetzt ist Ihr persönlicher Webserver über den DDNS-Hostnamen von außen über das Internet erreichbar.
4. Webserver Lighttpd für die eigene Cloud einrichten
Der Cloud-Server OwnCloud benötigt einen Webserver, der PHP und MySQL unterstützt, wie der Webserver Lighttpd es tut. Legen Sie für den Webserver Lighttpd als Erstes ein Basisverzeichnis mit folgendem Befehl an:
- "sudo mkdir /var/www"
- und die Gruppe "www-data" mit "sudo addgroup www-data"
- sowie den Benutzer "www-data" mit "sudo adduser -- ingroup www-data www-data" (In den aktuellen Raspbain-Versionen ist dieser Benutzer bereits vorhanden, im Terminal wird dann eine entsprechende Meldung angezeigt.).
Als Nächstes machen Sie den neuen Besitzer mit dem Befehl "sudo chown -R www-data:www-data /var/ www" zum Eigentümer des Verzeichnisses.
Nun geht es an die eigentliche Installation des Webservers und der dazu passenden PHP-Erweiterung.
- Machen Sie dazu zunächst ein Update mit: "sudo apt-get update"
- Starten Sie schließlich die Installation mit: "sudo apt-get install lighttpd php5-cgi"
Diese kann einige Minuten dauern. Der Webserver belegt etwa 18 MByte Speicherplatz und startet automatisch.

Haben Sie sich für zusätzlichen Speicherplatz auf einem USB-Stick oder einer Festplatte entschieden, führen Sie nun die Schritte in dem Infokasten Speicherplatz rechts unten aus.
OwnCloud benötigt einige PHP-Zusatzmodule auf dem Webserver. Installieren Sie die Pakete mit folgendem Befehl:
- "sudo apt-get install php5-gd php5-curl php5-sqlite"
Zudem hat OwnCloud sehr hohe Sicherheitsvorgaben und erfordert daher besondere Einschränkungen auf dem Webserver, damit das Datenverzeichnis ausschließlich über OwnCloud ausgelesen werden kann. Öffnen Sie dazu die Konfigurationsdatei des Webservers mit dem nano-Editor:
- "sudo nano /etc/lighttpd/lighttpd.conf"
Und fügen Sie am Ende der Datei die folgenden Zeilen an:
- "$HTTP["url"] =~ "^/owncloud/data/" { url.access-deny = ("") } $HTTP["url"] =~ "^/owncloud($|/)" { dir-listing.activate = "disable" }"
Speichern und schließen Sie die Datei. Um auch Dateien zu synchronisieren, die größer als 2 MByte sind, müssen Sie in der PHP-Konfiguration die maximale Dateigröße erhöhen. Mit dem Befehl
- "sudo nano /etc/php5/cgi/php.ini"
öffnet sich die Konfigurationsdatei. Suchen Sie darin mit der Tastenkombination [Strg-W] den Parameter "upload_max_filesize", und ändern Sie den Wert von 2M auf 2G. Suchen Sie dann noch "post_max_size", und ändern Sie hier den angezeigten Wert ebenfalls auf 2G. Speichern Sie die Datei.
Damit auch PHP-Seiten wie eine Fotogalerie auf dem Webserver genutzt werden können, aktivieren Sie das fastcgi-Modul:
- "sudo lighttpd-enable-mod fastcgi-php"
Laden Sie die veränderte Konfiguration mit
- "sudo /etc/init.d/lighttpd force-reload"
5. OwnCloud auf dem Raspberry Pi installieren
Jetzt beginnen Sie mit der Installation von OwnCloud. Laden Sie mit folgendem Befehl den OwnCloud-Webinstaller herunter:
- "sudo wget -0 /var/www/setup-owncloud. php https://download.owncloud.com/ download/community/setup-owncloud.php"
- Mit dem Befehl: "sudo chown www-data:www-data /var/www/setup-owncloud.php" weisen Sie die heruntergeladene Datei noch dem Benutzer "www-data" zu.
Ab jetzt arbeiten Sie im Browser. Über http://192.168.2.103/setup-owncloud.php öffnen Sie den Set-up-Assistenten von OwnCloud. Ersetzen Sie die angegebene IP-Adresse wieder durch die Ihres Raspberry Pi.

Mit einem Klick auf Next wird die Installation gestartet. Bestätigen Sie im nächsten Bildschirm als Speicherort das Unterverzeichnis "owncloud", das automatisch angelegt wird. Danach wird die aktuelle Version der OwnCloud-Software auf den Webserver heruntergeladen, und Sie haben Zeit für eine Kaffeepause. Lassen Sie sich nicht davon irritieren, dass im Browserfenster keinerlei Aktion sichtbar ist. Am Ende erscheint eine Erfolgsmeldung.
Lesetipp: XBMC/Kodi auf Raspberry Pi einrichten
Legen Sie nun ein Administratorkonto mit Benutzernamen und Passwort an, dieses gilt nur innerhalb von OwnCloud und ist kein Linux-Benutzer. Später richten Sie weitere Benutzer für die OwnCloud ein. Nach einem Klick auf Installation abschließen dauert es noch einige Sekunden, bis Sie den Startbildschirm von OwnCloud sehen. Die hier beworbenen Apps können Sie auch noch später herunterladen. Schließen Sie deshalb das Willkommen-Fenster. Ab jetzt funktioniert der Zugriff über "http://192.168.2.103/owncloud" (mit Raspberry Pi-IP) auf den Server.
Um auch von außen unter "http://Ihr_host.Ihre_domain/owncloud" Zugriff zu erlangen, muss Ihr Host auch bei OwnCloud eingetragen werden. Gehen Sie dazu im Terminal in das Konfigurationsverzeichnis von OwnCloud:
- "cd /var/www/owncloud/config"
Öffnen Sie die Konfigurationsdatei: "sudo nano config.php". Hier steht unter ,trusted_domains' bereits die IP-Adresse Ihres Raspberry Pi. Fügen Sie Ihre Host-Adresse anstelle von "hannahpi.ddns.net" ein: 'trusted_domains' => array ( 0 => '192.168.2.103'' 'hannahpi.ddns.net' ), Der Cloud Server ist über die Eingabe der IP-Adresse des Raspberry Pi von jedem Computer über den Browser nutzbar, ohne dass spezielle Software installiert werden muss. Die eigene OwnCloud ist am Anfang noch fast leer, nur ein paar Standardverzeichnisse und ein Handbuch im PDF-Format sind bereits abgelegt.