Installation von Tiny Tiny RSS: Unterschied zwischen den Versionen
imported>EL Duderino →Erstmaliges Ausführen: Checken, ob der daemon läuft |
imported>EL Duderino K →PHP ausführen: Bild entfernt; war veraltet |
||
Zeile 14: | Zeile 14: | ||
Seit Version 1.7.9 wird nichtleeres ''[http://php.net/manual/en/ini.core.php#ini.open-basedir open_basedir]'' offiziell unterstützt. Eventuell kann es nötig sein, den "richtigen" Pfad ''/volume(x)/web'' in open_basedir aufzunehmen. | Seit Version 1.7.9 wird nichtleeres ''[http://php.net/manual/en/ini.core.php#ini.open-basedir open_basedir]'' offiziell unterstützt. Eventuell kann es nötig sein, den "richtigen" Pfad ''/volume(x)/web'' in open_basedir aufzunehmen. | ||
==== PHP ausführen ==== | ==== PHP ausführen ==== | ||
Soll der [[#daemon|''Update daemon'' ausgeführt]] werden, muß die PHP-Konfiguration eventuell geändert werden. Die beste Lösung ist, im DSM die Option ''PHP safe_mode_exec_dir-Zugriffsbeschränkung'' ganz abzuwählen. Das ist auch kein großes Problem, da PHPs [http://www.php.net/manual/en/ini.sect.safe-mode.php Safe Mode] veraltet (und auch nicht wirklich sicherer) ist. | Soll der [[#daemon|''Update daemon'' ausgeführt]] werden, muß die PHP-Konfiguration eventuell geändert werden. Die beste Lösung ist, im DSM die Option ''PHP safe_mode_exec_dir-Zugriffsbeschränkung'' ganz abzuwählen. Das ist auch kein großes Problem, da PHPs [http://www.php.net/manual/en/ini.sect.safe-mode.php Safe Mode] veraltet (und auch nicht wirklich sicherer) ist. | ||
Version vom 7. Juni 2013, 20:58 Uhr
Tiny Tiny RSS ist ein server-basierter Feedreader, vergleichbar mit dem (bald eingestellten) Google Reader, aber die Daten bleiben daheim. Neben einer AJAX-Weboberfläche (hier in Aktion zu sehen), die auch auf mobile Geräte angepasst werden kann, gibt es auch ein API, mit dem Informationen über die abonnierten Feeds auch externen Anwendungen zur Verfügung stehen (wird vom Linux-Feedreader Liferea und dem Android Client genutzt).
Dieser Artikel beschreibt, wie es auf einer DiskStation installiert und (basis-)konfiguriert werden kann. Es muss ein root-Zugang zur Kommandozeile bestehen. Die Anleitung bezieht sich auf die Version 1.7.9 von Tiny Tiny RSS, und DSM Version 4.2 mit PHP 5.3.x.
Es könnte bald auch ein fertiges Paket zur Installation geben, vgl. hier.
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
open_basedir
Seit Version 1.7.9 wird nichtleeres open_basedir offiziell unterstützt. Eventuell kann es nötig sein, den "richtigen" Pfad /volume(x)/web in open_basedir aufzunehmen.
PHP ausführen
Soll der Update daemon ausgeführt werden, muß die PHP-Konfiguration eventuell geändert werden. Die beste Lösung ist, im DSM die Option PHP safe_mode_exec_dir-Zugriffsbeschränkung ganz abzuwählen. Das ist auch kein großes Problem, da PHPs Safe Mode veraltet (und auch nicht wirklich sicherer) ist.
Sollte das nicht möglich sein, kann auf der Kommandozeile mit root-Rechten im Verzeichnis /usr/syno/bin ein symbolischer Link auf das php-binary gesetzt werden:
$ ln -s /usr/bin/php /usr/syno/bin/php
Hintergrund ist, dass /usr/syno/bin das voreingestellte safe_mode_exec_dir ist, vgl. auch die Ausgabe der PHP-Funktion phpinfo(). Vorlage:Wichtig Vorlage:Wichtig
Tiny Tiny RSS konfigurieren
Herunterladen
Es werden zwei Wege vorgestellt, um Tiny Tiny RSS in das Verzeichnis /var/services/web/ttrss zu bekommen.
tarball
Das geht zum Beispiel mit
$ cd /tmp $ wget https://github.com/gothfox/Tiny-Tiny-RSS/archive/1.7.9.tar.gz $ tar -xf tt-rss-1.7.9.tar.gz -C /var/services/web $ mv /var/services/web/tt-rss-1.7.9 /var/services/web/ttrss
für Version 1.7.9; die genaue URL der aktuellen Version findet sich auf der Projektseite.
git
Eine weitere Möglichkeit, die vom Programmierer empfohlen und unterstützt wird, ist sich das Projekt-Repository mit git herunterladen; git steht als Paket zur Verfügung. Man erhält damit Bugfixes und neue Features schneller, und das Updaten der Installation ist so wesentlich bequemer. Ein Befehl zum erstmaligen Herunterladen auf der DS ist dann
$ git clone https://github.com/gothfox/Tiny-Tiny-RSS.git /var/services/web/ttrss
Das Pflegen der Installation setzt dann natürlich Grundkenntnisse über den Umgang mit git voraus, die man sich z.B. hier aneignen kann.
Datenbank erstellen
Es muß eine Datenbank angelegt und das sich im Unterverzeichnis schema/ttrss_schema_mysql.sql befindende Schema installiert werden. Wie das geht, beschreibt dieser Artikel.
Die weitere Konfiguration erfordert, daß ein MySQL-Nutzer und dessen Passwort in die Datei config.php gespeichert werden. Der Benutzer nobody auf der DiskStation muß diese Datei lesen können. Daher empfiehlt es sich, zum Zugriff auf die angelegte Datenbank nicht den root-Account von MySQL zu benutzen, sondern einen eigenen MySQL-Nutzer anzulegen, der die nötigsten Privilegien hat. Details dazu ebenfalls hier.
Schreibrechte
Der Nutzer nobody (auf der DiskStation/Linux, nicht in MySQL) braucht Schreibrechte auf die Verzeichnisse lock/, cache/ und feed-icons/. Dazu einfach auf der Shell
for dir in "lock" "cache" "feed-icons"; do chown -R nobody:nobody "$dir"; done
ausführen.
Erstellen von config.php
Die Datei config.php-dist muss in config.php umbenannt werden. Bei den darin definierten PHP-Konstanten 'DB_TYPE', 'DB_USER', 'DB_NAME', 'DB_PASS', 'DB_PORT' und 'SELF_URL_PATH' müssen mit einem Texteditor die richtigen Werte eingetragen werden. Ist die angelegte Datenbank db und der darauf zugreifende MySQL-Nutzer user mit dem Passwort pass, muß in der Datei folgendes eingetragen sein:
define('DB_TYPE', "mysql"); define('DB_HOST', "localhost"); define('DB_USER', "user"); define('DB_NAME', "db"); define('DB_PASS', "pass"); define('DB_PORT', '3306');
('DB_HOST' bleibt unverändert). Bei 'SELF_URL_PATH' muß die URL eingetragen werden, unter der Tiny Tiny RSS aufgerufen wird. Das sind z.B. http://192.168.178.56/ttrss (hier hat die DiskStation die Adresse 192.168.178.56) oder http://subdomain.dnsdyn.co.uk/ttrss. Für Erreichbarkeit von außerhalb des eigenen Netzwerks siehe hier.
Updating Feeds
Tiny Tiny RSS sollte jetzt per Browser erreichbar sein. Damit es installierte Feeds abfragen kann, muß entweder ein mitgelieferter Update daemon gestartet oder ein cronjob eingetragen werden. Empfohlen (und auch machbar) ist die Methode mit dem daemon.
daemon
Wichtig: Damit es funktioniert, muss PHP konfiguriert sein, denn update.php muss php ausführen. Der daemon wird so gestartet:
$ su -m nobody -c "(trap '' SIGHUP && /usr/bin/php /var/services/web/ttrss/update.php --daemon > /dev/null 2>&1) &"
Da dieser Befehl nach jedem Neustart der DS ausgeführt werden muss, bietet es sich an, ein Start-Stop-Skript zu erstellen. Da der Nutzer nobody in solchen Skripten beim Booten scheinbar keine Befehle ausführen kann, ist eine zusätzlich Option nötig, es ist aber trotzdem voll funktional (wer mehr darüber weiß, sagt Bescheid). Das Skript sollte in /usr/local/etc/rc.d/ mit dem Suffix .sh gespeichert und mit chmod 755 ausführbar gemacht werden.
Erstmaliges Ausführen
Ist das Skript als /usr/local/etc/rc.d/ttrss.sh gespeichert worden, kann der update daemon mit
$ /usr/local/etc/rc.d/ttrss.sh start
gestartet werden. Nach jedem Neustart der DS startet das Skript dann den daemon automatisch. Ob der daemon läuft, kann mit dem Befehl
$ ps |grep nobody|grep php
getest werden: Wenn die Ausgabe eine Zeile wie
10341 nobody 31520 S /usr/bin/php /var/services/web/ttrss/update.php --daemon --quiet
enthält (die Zahlen können abweichen), wird der daemon ausgeführt.
cron
Im cronjob muss 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 sind im Artikel zu Cron beschrieben.
Fehlermeldungen
Fertig!
Tiny Tiny RSS sollte jetzt ausführbar sein. Die Oberfläche ist dann unter http://AdresseOderIPderDiskStation/ttrss erreichbar und zeigt ein Login-Fenster. Der angelegte default-user heißt admin mit Passwort password (was möglichst bald geändert werden sollte).
Weitere Optionen
Die Funktionalität von Tiny Tiny RSS kann noch erweitert werden, z.B. mit einer Indizierungssoftware, der Unterstützung des push-Protokolls PubSubHubbub oder einer Komprimierung der übertragenen Daten. Details dazu sind in der Datei config.php zu finden (und zu ändern).
Tiny Tiny RSS kann mit Plugins erweitert werden. Es werden einige mitgeliefert. Man kann sie in den Einstellungen an- und abschalten. Dort sind auch kurze Beschreibungen zu finden.
Support
Sollte es zu Problemen kommen, könnt ihr in diesem Forumsbeitrag nach Hilfe fragen.