Installation von Tiny Tiny RSS

Aus

Tiny Tiny RSS ist ein server-basierter Feedreader, vergleichbar mit dem (inzwischen eingestellten) Google Reader oder Feedly, aber die Daten bleiben daheim. Neben einer AJAX-Weboberfläche (hier einige Screenshots), gibt es auch ein API, mit dem Informationen über die abonnierten Feeds auch externen Anwendungen zur Verfügung stehen (wird z.B. vom Linux-Feedreader Liferea, dem Android Client und der iOS-App tiny Reader RSS genutzt).

Dieser Artikel beschreibt, wie es auf einer DiskStation installiert und (basis-)konfiguriert werden kann. Es muss ein root-Zugang zur Kommandozeile bestehen. Diese Anleitung bezieht sich auf die Version 1.12 von Tiny Tiny RSS, und DSM Version 5 mit PHP 5.5.x. (DSM 4.x kommt mit der PHP-Version 5.3, was wegen des safe_mode deutlich zickiger ist. Hier eine ältere Version dieses Artikels).

Es gibt inzwischen auch ein Community-Paket.

Vorarbeiten auf der DS

Webserver und Datenbank aktivieren

Sowohl die Web Station als auch MySQL/MariaDB müssen aktiviert werden. Tiny Tiny RSS kann auch mit PostgreSQL benutzt werden, was deutlich performanter ist. Es gibt es eine Anleitung dazu, aber da das umständlicher ist, wird im weiteren Artikel MySQL benutzt. Um MySQL ein wenig erträglicher zu machen, kann die Konfiguration etwas angepasst werden.

PHP open_basedir

Seit Version 1.7.9 wird nichtleeres open_basedir von Tiny Tiny RSS offiziell unterstützt. Mit der Grundeinstellung des DSM sollte es keine Probleme geben, eventuell kann es nötig sein, den "richtigen" Pfad /volume1/web in open_basedir aufzunehmen.

Erreichbarkeit der DS

Wir gehen im weiteren davon aus, dass die DS unter http://AdresseOderIPderDiskStation erreichbar ist. Mehr Details darüber sind in diesem Artikel.

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 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 http 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 http (auf der DiskStation/Linux, nicht in MySQL) braucht Schreibrechte auf die Verzeichnisse lock/, cache/ und feed-icons/. Dazu einfach auf der Shell (im Verzeichnis von Tiny Tiny RSS)

$ for dir in "lock" "cache" "feed-icons"; do chown -R http:http "$dir"; done

ausführen.

Installation abschliessen

Fehler beim Erstellen des Vorschaubildes: Datei fehlt
Dialog Installation

Um die Konfiguration zu beenden, sollte die URL http://AdresseOderIPderDiskStation/ttrss/install aufgerufen werden. In dem Formular müssen die Zugangsdaten der Datenbank eingetragen werden. Ein Beispieleintrag mit der angelegten Datenbank db, dem darauf zugreifende MySQL-Nutzer user mit dem Passwort pass ist im Bild rechts zu sehen.

Feeds aktualisieren

Tiny Tiny RSS sollte jetzt per Browser erreichbar sein. Um Feeds aktualisieren zu können, muß entweder ein mitgelieferter Update daemon gestartet oder ein cronjob eingetragen werden. Empfohlen ist der Einsatz des daemon.

Update daemon

Der daemon wird so gestartet:

$ su -m http -c "(trap '' SIGHUP && /usr/bin/php /var/services/web/ttrss/update.php --daemon >> /dev/null 2>&1) &"
Start-Stop-Skript

Da dieser Befehl nach jedem Neustart der DS ausgeführt werden muss, bietet es sich an, dafür ein Start-Stop-Skript zu erstellen. Ein Musterskript, bei dem eventuell noch der Installationsort angepasst werden muß, steht bereit. Da der Nutzer http in solchen Skripten beim Booten scheinbar keine Befehle ausführen kann, sieht es etwas seltsam aus, ist aber 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.

Ist das Skript unter /usr/local/etc/rc.d/ttrss.sh gespeichert und mit chmod 755 /usr/local/etc/rc.d/ttrss.sh ausführbar gemacht 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 automatisch den daemon. Ob der daemon läuft, kann mit dem Befehl

$ /usr/local/etc/rc.d/ttrss.sh status

getest werden.

cron

Im cronjob muss der Befehl

su -m http -c "cd /var/services/web/ttrss && /usr/bin/php /var/services/web/ttrss/update.php --feeds >> /dev/null 2>&1" 2> /dev/null

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.

Tiny Tiny RSS aktualisieren

Je nachdem wie Tiny Tiny RSS installiert wurde, gibt es mehrere Möglichkeiten es zu updaten. Nach einem erfolgreichen Update müssen eventuell noch einige Verwaltungsaufgaben, wie das Updaten des Datenbankschemas oder Ergänzen von config.php vorgenommen werden, Details gibt Tiny Tiny RSS auf seiner Webseite aus. Wichtig: Es empfiehlt sich, vor Änderungen am Datenbankschema ein Backup der Datenbank anzulegen.

git

Man führt dazu auf der Kommandozeile einfach

$ cd /var/services/web/ttrss
$ git pull

aus, wenn Tiny Tiny RSS wie oben beschrieben installiert wurde. Der eingebaute Updater sollte bei Benutzung von git nicht verwendet und am besten deaktiviert werden.

Eingebauter Updater

Der eingebaute Updater ist als Plugin realisiert und hat eine grafische Oberfläche.

Er lädt die neue Version als tarball herunter, benennt das Verzeichnis ttrss um, entpackt den tarball nach ttrss und kopiert einige Dateien des alten Verzeichnis (darunter config.php). Der Nutzer http braucht daher Schreibzugriff auf /var/services/web.

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.