Aus Raspberry Pi Geek 02/2017

Foto-Backup auf RasPi-Basis (Teil 2) (Seite 2)

Vorschau per Galerie

Über eine reine Backup-Funktion hinaus geht der Wunsch, die Bilder auch auf einem größeren Bildschirm anzusehen, als die Kamera selbst ihn mitbringt. Tablets und Smartphones bieten sich da als entsprechende Kandidaten an. Doch damit der Zugriff klappt, muss auf dem RasPi zumindest ein kleiner Webserver laufen. Darüber hinaus könnte man damit auch Bilder vom Smartphone auf den Raspberry Pi hochladen.

Entsprechende Funktionen bieten Fotogalerien, die es in zahlreichen Varianten im Netz gibt. Das Problem mit diesen Lösungen: Sie passen nicht wirklich auf den vorliegenden Anwendungsfall. Meist handelt es sich um ausgeklügelte Webgalerien mit integrierter Benutzerverwaltung und einer eigenen Datenbank. Oft kommen weitere Funktionen hinzu, die für den Bildertank keinen Mehrwert bieten und die Sache nur unnötig verkomplizieren.

Es empfiehlt sich daher der Einsatz einer einfachen Fotogalerie wie Photo Archive [2] (Abbildung 2). Benötigen Sie mehr Funktionen, etwa weil der Imagetank stationär zu Hause als Bilderdienst installiert ist, weichen Sie auf Picapport [3] oder phTagr [4] aus.

Das in Java geschriebene Picapport ist kostenlos und bringt einen eigenen Webserver mit – allerdings liegt der Quellcode der Anwendung nicht offen. Immerhin punktet das Programm mit einem sehr guten Interface und einer durchdachten Integration von mobilen Geräten. Die zweite Lösung, phTagr, erlaubt über das Repertoire von Photo Archive hinaus auch Bewertungen sowie die Vergabe von Titeln und weiteren Attributen.

Abbildung 2: Die einfache Webgalerie Photo Archive erfüllt ihren Zweck.

Abbildung 2: Die einfache Webgalerie Photo Archive erfüllt ihren Zweck.

Server-Installation

Für den Webserver gibt es diverse Alternativen, etwa Apache, Nginx und Lighttpd (“Lighty”). Letzterer begnügt sich mit wenig Ressourcen und eignet sich daher besonders für den Raspberry Pi. Neben Lighttpd benötigen Sie noch PHP sowie die eigentliche PHP-Webanwendung. Analog zur Samba-Installation gibt es auch für die Webumgebung ein vorbereitetes Installationsskript (tools/install-web) im Git-Projekt des Autors. Das Skript spielt die notwendigen Pakete aus den Paketquellen von Raspbian ein, entpackt die Fotogalerie (das Archiv muss im selben Verzeichnis liegen) und ändert ein paar Verzeichnisse und Links.

Nach der Installation erreichen Sie die Webgalerie unter http://RasPi-IP (Abbildung 3). Da das neue Kopierskript die notwendigen Vorschaubilder schon beim Sichern der Fotos erstellt, gibt es weder Probleme hinsichtlich der Performance noch Schwierigkeiten mit den Zugriffsrechten. Photo Archive würde auf Wunsch die Thumbnails sogar automatisch beim ersten Zugriff berechnen, doch der Vorgang benötigt (besonders bei größeren Datenmengen) einiges an Zeit, und der Webserver bräuchte zusätzlich Schreibrechte auf das Thumbnail-Verzeichnis.

Abbildung 3: Die Vorschaubilder erstellt der Fototank schon beim Kopieren der Daten.

Abbildung 3: Die Vorschaubilder erstellt der Fototank schon beim Kopieren der Daten.

Den ursprünglichen Code von Photo Archive hat der Autor minimal angepasst. Insbesondere lädt das Programm in der Fototank-Version alle Komponenten lokal vom RasPi und zeigt die Verzeichnisse umgekehrt sortiert an. Neben der eigentlichen Anwendung landen auch eine Reihe von nützlichen Tools auf dem Server: So lässt sich zum Beispiel über den Menüpunkt System der aktuelle Systemstatus abrufen.

Smartphone-Bilder sichern

Daneben übernimmt der Webserver das Hochladen von Bildern von einem Smartphone oder Tablet aus (Abbildung 4). Eine schlüsselfertige Lösung für diesen Zweck gibt es im Netz nicht; allerdings finden sich auf den einschlägigen Seiten genügend passende Codeschnipsel. Datei-Uploads stellen generell ein Einfallstor für Hacker dar, weswegen sich die Lösung ohne eine eingehende Sicherheitsprüfung nur für das lokale Netz eignet.

Abbildung 4: Um Bilder von einem Smartphone zu sichern, enthält die Galerie eine Upload-Funktion.

Abbildung 4: Um Bilder von einem Smartphone zu sichern, enthält die Galerie eine Upload-Funktion.

Technisch funktioniert der Ablauf wie folgt: Die PHP-Seite lädt die Bilder in ein temporäres Verzeichnis, führt eine Reihe von Prüfungen durch und verschiebt die Fotos dann in den von Systemd überwachten Ordner /data/uploads/. Befinden sich in diesem nun Dateien, startet eine Variante des oben beschriebenen Kopierskripts und sortiert damit die hochgeladenen Bilder in die jeweiligen Zielverzeichnisse ein.

Damit die Requests nicht zu lange laufen, ist der Upload auf maximal 64 MByte begrenzt. Dieses Limit passen Sie bei Bedarf über die Parameter upload_max_filesize und post_max_size in der Konfigurationsdatei /etc/php5/cgi/php.ini an.

WLAN für den Fototank

Damit das Ganze auch unterwegs funktioniert, soll der RasPi ein eigenes Netz über WLAN bereitstellen. Das funktioniert so ähnlich wie im Artikel “Do it yourself” in RPG 06/2015 [5] gezeigt. Im Prinzip braucht es dafür drei Dinge: Zuerst bekommt der RasPi eine feste IP-Adresse für seine WLAN-Schnittstelle. Dann benötigen Sie einen DHCP-Server auf dem RasPi, der Anfragen nach IP-Adressen beantwortet. Zu guter Letzt kommt noch der Hostapd-Daemon ins Spiel, der für die unterste Ebene der WLAN-Verbindung verantwortlich zeichnet.

Listing 4 zeigt die Konfiguration der Netzwerkschnittstellen in der Datei /etc/network/interfaces. Das Ethernet bezieht weiterhin seine IP-Adresse über DHCP (Zeilen 4 und 5) und bleibt damit ans Heimnetz angeschlossen. Die WLAN-Schnittstelle erhält dagegen eine fixe IP, im Beispiel die 192.168.100.250 (Zeilen 7 bis 12). Für den DHCP-Server und Hostapd benötigen Sie dann noch die zwei bereits in Listing 1 installierten Pakete dnsmasq und hostapd.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben