Installation von Tiny Tiny RSS
Tiny Tiny RSS ist ein server-basierter Feedreader. Neben einer AJAX-Weboberfläche bietet er auch ein API an, mit dem die abonnierten Feeds auch externen Anwendungen zur Verfügung stehen (wird genutzt vom Android Client, oder dem Linux-Feedreader Liferea). Dieser Artikel beschreibt, wie es auf einer DiskStation installiert und (basis-)konfiguriert werden kann. Dia Anleitung bezieht sich auf die Version 1.6.2 von Tiny Tiny RSS, und DSM Version 4.1 mit PHP 5.3.x. Das ist eine vorläufige Version. Bitte nur nach vorheriger Rücksprache bearbeiten. --EL Duderino 18:12, 28. Dez. 2012 (CET)
Vorarbeiten auf der DS
Webserver und Datenbank aktivieren
Zwingend notwendig ist eine aktivierte Datenbank. Es werden MySQL und PostgreSQL unterstützt, im restlichen Artikel wird nur auf MySQL eingegangen. Sinnvollerweise sollte auch die Web Station aktiviert werden. Die zwei im nächsten Bild in Rot hervorgehobenen Häkchen sollten gesetzt sein.
PHP konfigurieren
Die Software verlangt, daß open_basedir leer ist. Sollte das nicht möglich sein, ist es theoretisch möglich, open_basedir pro Pfad zu setzen.
Um den Update daemon auszuführen (vgl. unten), sollte die Option PHP safe_mode_exec_dir-Zugriffsbeschränkung abgewählt werden. Das sollte keine Sicherheitslücken öffnen (vgl. [1] und [2]), und der Safe Mode ist in der Version PHP 5.4 sowieso nicht mehr vorhanden. Sollte Abwählen nicht möglich sein, muß auf der Kommandozeile mit root-Rechten folgendes ausgeführt werden:
$ ln -s /usr/bin/php /usr/syno/bin/php
Hintergrund ist, das /usr/syno/bin das voreingestellte safe_mode_exec_dir ist, vgl. auch die Ausgabe der PHP-Funktion phpinfo().
Datenbank erstellen
Das MySQL-Schema ist in schema/ttrss_schema_mysql.sql.
Tiny Tiny RSS konfigurieren
Schreibrechte
Der Nutzer nobody braucht Schreibrechte auf die Verzeichnisse lock/, cache/, feed-icons/, cache/export/, cache/images/, cache/magpie/, cache/simplepie/.
config.php
Die PHP-Konstanten 'DB_TYPE', 'DB_USER', 'DB_NAME', 'DB_PASS' und 'SELF_URL_PATH' müssen richtig gesetzt werden.
Updating Feeds
Per daemon oder cronjob. Beide sollten vom Benutzer nobody ausgeführt werden. Im folgenden wird davon ausgegangen, das Tiny Tiny RSS im Ordner /var/services/web/ttrss installiert ist.
daemon
Hier ist der folgende Befehl auszuführen:
su -m nobody -c "(trap '' SIGHUP SIGINT SIGQUIT; /usr/bin/php /var/services/web/ttrss/update.php -daemon > /dev/null 2>&1) &"
cron
Im cronjob muß der Befehl
su -m nobody -c "cd /var/services/web/ttrss && /usr/bin/php /var/services/web/ttrss/update.php -feeds >/dev/null 2>&1"
ausgeführt werden. Für eine Periode von 20 Minuten wäre das Cron-Präfix
*/20 * * * *
einzutragen. Details über Cron sind hier beschrieben.