Privater Foto Server mit Lychee

Plattformen zum Hosten und teilen von Fotos gibt es mittlerweile einige. In der Regel sind das alles Public Cloud Dienste mit gewissen Vor- und Nachteilen. Natürlich besteht auch die Möglichkeit, ein eigenes System zur Verwaltung von Fotos zu betreiben. Dies kann auf einem privaten System wie z.B. einem Raspberry Pi oder Banana Pi sein oder aber auf einer Shared Hosting Plattform wie z.B. UberSpace. Auch für den Eigenbetrieb gibt es unterschiedliche Lösungen. Eine davon ist die OpenSource Software „Lychee„. Lychee zeichnet sich durch eine sehr schlanke und schnelle Architektur aus.


Dafür ist es aktuell nicht möglich, mehrere Fotoalben für unterschiedliche Benutzer anzulegen. Apps für Mobile Plattforman wie iOS oder Android gibt es aktuell auch nicht. Allerdings läuft der Zugriff über Browser absolut einwandfrei. Lychee setzt für den Einsatz einen Webserver (nginx, Apache) voraus, sowie ein installiertes PHP und eine MySQL Datenbank. Die Systemvoraussetzungen nehme ich in diesem Beitrag als gegeben an. Falls noch kein Webserver installiert ist, gibt es sehr viele gute Anleitungen hierfür im Internet. Die Installation von Lychee ist sehr einfach zu realisieren. Zuerst wird die MySQL Datenbank inklusive Benutzer angelegt.

Anmelden am MySQL Server:

mysql -u root -p

Anlegen der Datenbank „fotos-db“:

create database `fotos-db` character set = 'utf8';

Erstellung eines dedizierten Benutzers für die Datenbank:

create user 'fotos'@'localhost' identified by 'PASSWORD';

Erteilen der benötigten Berechtigungen auf die Datenbank:

GRANT ALL PRIVILEGES ON `fotos-db`.* to `fotos`@localhost;

Wenn auf dem System bereits „git“ installiert ist, kann die Installation direkt hierüber erfolgen. Dies erleichtert später die Updateprozedur. Falls „git“ nicht möglich ist, wird auch die manuelle Installation erleutert.

Installation über Git:

sudo git clone https://github.com/electerious/Lychee.git /srv/http/fotos

Das Verzeichnis „/srv/http“ gibt das „WWW Root“ des Webservers an. Dies kann je nach System natürlich unterschiedlich sein. Auf Debian Systemen ist es z.B. „/var/www/“.

Manuelle Installation:
Download der aktuellen Version:

wget https://github.com/electerious/Lychee/archive/master.zip

Entpacken des Archivs:

unzip master.zip

Löschen des Archivs:

rm master.zip

Verschieben der Daten in das WWW Root (auch hier muss das Verzeichnis ggf. angepasst werden).

sudo mv Lychee-master /srv/http/fotos

Sobald die Daten im Webverzeichnis angekommen sind, werden die Berechtigungen neu gesetzt.

sudo chown -R http:http /srv/http/fotos/

Unter Debian würde der Befehl wie folgt aussehen.

sudo chown -R www-data:www-data /var/www/fotos/

Jetzt kann die Lychee Installation im Browser aufgerufen werden.

http://yourdomain.com/fotos

Zuerst muss die Installation abgeschlossen werden.

Lychee Foto Server

Die eingegeben Informationen werden in der Datei config.php gespeichert.

/srv/http/fotos/data/config.php

Lychee Foto Server

Im nächsten Schritt wird der Benutzer angelegt.

Lychee Foto Server

Die Installation ist somit fertig und es können eigene Alben angelegt und Fotos hochgeladen werden.

Lychee Foto Server

Sollte es hierbei zu Fehlern kommen, muss ggf. die PHP Konfiguration angepasst werden, um auch große Dateien auf den Server kopieren zu können.

sudo nano /etc/php/php.ini

Die folgenden Zeilen müssen dann angepasst bzw. hinzugefügt werden.

upload_max_filesize = 20M
post_max_size = 20M

Nach der Änderung wird PHP und der Webserver neu gestartet.

sudo systemctl restart php-fpm
sudo systemctl restart nginx

Ab sofort sollte das Foto Album komplett einsatzbereit sein. Mit welchen Diensten teilt Ihr Eure Fotos?