Installation von Tiny Tiny RSS: Unterschied zwischen den Versionen
imported>EL Duderino K →Webserver und Datenbank aktivieren: Verweis eingefügt. |
imported>EL Duderino Überarbeitet |
||
Zeile 3: | Zeile 3: | ||
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. | 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. | ||
<span style="color:red;font-variant:small-caps;font-size:1.2em;border-color:red;border-style:dotted;display:block;padding:10px;"> | <span style="color:red;font-variant:small-caps;font-size:1.2em;border-color:red;border-style:dotted;display:block;padding:10px;"> | ||
Das ist eine vorläufige Version. Bitte nur nach vorheriger Rücksprache bearbeiten. --[[Benutzer:EL Duderino|EL Duderino]] | Das ist eine vorläufige Version. Bitte nur nach vorheriger Rücksprache bearbeiten. --[[Benutzer:EL Duderino|EL Duderino]] 16:11, 30. Dez. 2012 (CET) | ||
</span> | </span> | ||
== Vorarbeiten auf der DS == | == Vorarbeiten auf der DS == | ||
=== Webserver und Datenbank aktivieren === | === Webserver und Datenbank aktivieren === | ||
Sowohl die Web Station als auch MySQL müssen [[Aktivieren von Web Station oder MySQL|aktiviert werden]]. Tiny Tiny RSS akzeptiert auch PostgreSQL als Datenbank, worauf hier aber nicht eingegangen wird. | |||
=== PHP konfigurieren === | === PHP konfigurieren === | ||
Die Software verlangt, daß ''[http://php.net/manual/en/ini.core.php#ini.open-basedir open_basedir]'' leer ist. Sollte das nicht möglich sein, ist es theoretisch | Die Software verlangt, daß ''[http://php.net/manual/en/ini.core.php#ini.open-basedir open_basedir]'' leer ist. Sollte das nicht möglich sein, ist es theoretisch machbar, ''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. [http://stackoverflow.com/questions/9763531/where-is-the-security-in-php-5-4-by-removing-safe-mode] und [http://stackoverflow.com/questions/4886912/when-or-for-what-reasons-should-folks-turn-php-safemode-on-off]), und der [http://www.php.net/manual/en/ini.sect.safe-mode.php Safe Mode] ist in der | 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. [http://stackoverflow.com/questions/9763531/where-is-the-security-in-php-5-4-by-removing-safe-mode] und [http://stackoverflow.com/questions/4886912/when-or-for-what-reasons-should-folks-turn-php-safemode-on-off]), und der [http://www.php.net/manual/en/ini.sect.safe-mode.php Safe Mode] ist in der 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: | Sollte Abwählen nicht möglich sein, muß auf der Kommandozeile mit root-Rechten folgendes ausgeführt werden: | ||
<pre> | <pre> | ||
Zeile 19: | Zeile 19: | ||
</pre> | </pre> | ||
Hintergrund ist, das ''/usr/syno/bin'' das voreingestellte '''safe_mode_exec_dir''' ist, vgl. auch die Ausgabe der PHP-Funktion ''phpinfo()''. | Hintergrund ist, das ''/usr/syno/bin'' das voreingestellte '''safe_mode_exec_dir''' ist, vgl. auch die Ausgabe der PHP-Funktion ''phpinfo()''. | ||
[[Datei:PHP ttrss.jpg|framed|center|Beispielhafte PHP Konfiguration in der Weboberfläche]] | |||
== Tiny Tiny RSS konfigurieren == | |||
Im folgenden wird davon ausgegangen, das Tiny Tiny RSS im Ordner ''/var/services/web/ttrss'' installiert ist. | |||
=== Datenbank erstellen === | === Datenbank erstellen === | ||
Details dazu finden sich in [[Verwalten der MySQL-Datenbank|diesem Artikel]]. Es muß eine Datenbank angelegt und in diese das MySQL-Schema, das sich unter ''schema/ttrss_schema_mysql.sql'' im Ordner ''/var/services/web/ttrss'' befindet, installiert werden. | |||
Die weitere Konfiguration erfordert, daß ein MySQL-Nutzer und dessen Passwort in eine allen Systemnutzern lesbaren Datei gespeichert werden. Daher empfiehlt es sich, zum Zugriff auf die Datenbank ''nicht'' den ''root''-Account von MySQL zunehmen, sondern einen eigenen MySQL-Nutzer anzulegen. | |||
=== Schreibrechte === | === Schreibrechte === | ||
Der Nutzer ''nobody'' braucht Schreibrechte auf die Verzeichnisse ''lock/'', ''cache/'', ''feed-icons/'', ''cache/export/'', ''cache/images/'', ''cache/magpie/'', ''cache/simplepie/''. | Der Nutzer ''nobody'' braucht Schreibrechte auf die Verzeichnisse ''lock/'', ''cache/'', ''feed-icons/'', ''cache/export/'', ''cache/images/'', ''cache/magpie/'', ''cache/simplepie/''. | ||
=== config.php === | === config.php === | ||
Die PHP-Konstanten 'DB_TYPE', 'DB_USER', 'DB_NAME', 'DB_PASS' und 'SELF_URL_PATH' müssen | Die Datei ''config.php-dist'' muß in ''config.php'' umbenannt werden. Die darin definierten PHP-Konstanten 'DB_TYPE', 'DB_USER', 'DB_NAME', 'DB_PASS' und 'SELF_URL_PATH' müssen auf die richtigen Werte gesetzt werden. | ||
=== Updating Feeds === | === Updating Feeds === | ||
Per daemon oder cronjob. Beide sollten vom Benutzer ''nobody'' ausgeführt werden | Per daemon oder cronjob. Beide sollten vom Benutzer ''nobody'' ausgeführt werden. | ||
==== daemon ==== | ==== daemon ==== |
Version vom 30. Dezember 2012, 15:11 Uhr
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 16:11, 30. Dez. 2012 (CET)
Vorarbeiten auf der DS
Webserver und Datenbank aktivieren
Sowohl die Web Station als auch MySQL müssen aktiviert werden. Tiny Tiny RSS akzeptiert auch PostgreSQL als Datenbank, worauf hier aber nicht eingegangen wird.
PHP konfigurieren
Die Software verlangt, daß open_basedir leer ist. Sollte das nicht möglich sein, ist es theoretisch machbar, 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 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().

Tiny Tiny RSS konfigurieren
Im folgenden wird davon ausgegangen, das Tiny Tiny RSS im Ordner /var/services/web/ttrss installiert ist.
Datenbank erstellen
Details dazu finden sich in diesem Artikel. Es muß eine Datenbank angelegt und in diese das MySQL-Schema, das sich unter schema/ttrss_schema_mysql.sql im Ordner /var/services/web/ttrss befindet, installiert werden. Die weitere Konfiguration erfordert, daß ein MySQL-Nutzer und dessen Passwort in eine allen Systemnutzern lesbaren Datei gespeichert werden. Daher empfiehlt es sich, zum Zugriff auf die Datenbank nicht den root-Account von MySQL zunehmen, sondern einen eigenen MySQL-Nutzer anzulegen.
Schreibrechte
Der Nutzer nobody braucht Schreibrechte auf die Verzeichnisse lock/, cache/, feed-icons/, cache/export/, cache/images/, cache/magpie/, cache/simplepie/.
config.php
Die Datei config.php-dist muß in config.php umbenannt werden. Die darin definierten PHP-Konstanten 'DB_TYPE', 'DB_USER', 'DB_NAME', 'DB_PASS' und 'SELF_URL_PATH' müssen auf die richtigen Werte gesetzt werden.
Updating Feeds
Per daemon oder cronjob. Beide sollten vom Benutzer nobody ausgeführt werden.
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.