Friendica auf Synology Diskstation

tagged Paranoides, Tipps

Die Diskstation ist ein günstiger NAS, man benötigt für einen Friendica-Knoten also keinen teuren angemieteten Webserver. Allerdings ist für die Installation etwas Kommandozeile notwendig.

(Getestet mit Firmware DSM 4.0)

Vorbereitungen

Es wird ein DynDNS-Account und im Router eine Portweiterleitung des Ports 80 an die Diskstation benötigt, damit der Server unter einer externen Adresse erreichbar ist und mit den anderen Knoten Kontakt aufnehmen kann.

DiskStation Admin

In der Admin-Konsole der Diskstation bei der Systemsteuerung unter "Webdienste" "Webstation aktivieren" und "MySQL aktivieren" anklicken.

Im Reiter PHP-Einstellungen die laut Installationsanleitung benötigten Extensions auswählen. Nicht alle installierten Extensions werden hier angezeigt, sie sind aber trotzdem aktiv (hat mich einen Tag gekostet, das rauszufinden).

Safe_mode_exec_dir kann aktiviert werden. Register_Globals kann ausgeschaltet werden.

Open_basedir sollte nicht aktivert sein.

Achtung: Im Paketzentrum sollte die Photo-Station deinstalliert werden. Sie erzeugt einen Ordner Photo bei den Webdiensten. Friendica speichert die Bilder jedoch in einer Datenbank ebenfalls in einer Tabelle Photo. Wenn der Ordner Photo vorhanden ist, findet Friendica die Tabelle in der Datenbank nicht (das php Modul mod_rewrite ändert die URI Adresse für die Bilder nur dann in eine Datenbank-Adresse, wenn kein richtiger Ordner vorhanden ist) und es werden dann keine Bilder angezeigt (hat mich eine Woche gekostet, das rauszufinden).

Kommandozeile

Logge dich über Telnet oder ssh in deine Diskstation ein. Kopiere die entpackten Friendica Installationsdateien (am besten über den USB-Anschluss der Diskstation: /volumeUSB1/usbshare) in den Ordner /var/services/web/

Ein Aufruf der Webseite über den Browser sollte nun schon die Test-Seite von Friendica anzeigen.

Hier werden einige Test durchgeführt und vermutlich einige Bedingungen nicht erfüllt.

openssl.cnf

Das Problem mit der fehlenden openssl.cnf wir folgendermaßen gelöst (Quelle: http://www.vdsar.net/archives/114): Über telnet als root in die Diskstation einloggen ("telnet [IP-Adresse]", user: root, Passwort [Admin-Passwort]

cd /usr/syno
mkdir ssl
cd ssl
wget http://123adm.free.fr/home/pages/documents/syno-cert_fichiers/openssl.cnf

Die weiteren Punkte sind nur notwendig, wenn man seinen Friendica über eine verschlüsselte https-Verbindung erreichen möchte.

PHP-Einstellungen

Das Verzeichnis für die Kommandozeilen-Version ist /usr/bin/php

In /usr/syno/etc/php.ini können einige Einstellungen angepasst werden, z.B register_argc_argv = On

Möglicherweise erscheint trotzdem eine Fehlermeldung, dass dies nicht gesetzt ist, ich habe aber bisher keine Probleme mit Friendica deswegen feststellen können.

Ein Problem ist möglicherweise die Zugriffsberechtigung für die Extensions-Datei in /usr/syno/etc/php/

Diese sollte als root mit

chmod a+r extension.ini

für alle lesbar gemacht werden. Ansonsten funktionieren für das Kommandozeilen-php die Mysql-Extensions nicht.

Friendica benötigt sehr lange (ca. 15 Min.) um die Daten zu verarbeiten. Als nächstes wird eine mysql-Datenbank und Logins verlangt.

MySQL

Die Datenbank kann auf der Kommandozeile oder über das im Paket-Zentrum angebotene phpMyAdmin angelegt werden. Nach der Anlage der Datenbank und der User die Daten im Friendica-Formular angeben.

cron

Die Diskstation bietet einen Cron-Service. Die Datei /etc/crontab ist entsprechend den Vorgaben anzupassen.

Der Eintrag lautet

*/10 * * * * root cd /var/services/web; usr/syno/bin/php include/poller.php

Das kann alles noch über die LAN-Adresse erfolgen.

Nach der erfolgreichen Installation sollte man sich aber über die externe DynDNS-Adresse registrieren.