Ersatz fĂŒr Google Reader: Mit der Open-Source-Software Tiny Tiny RSS lĂ€sst sich ein vielseitiger Feedreader auf dem eigenen Server installieren. Lesen lassen sich die Feeds im Browser-Fenster oder mit mobilen Apps.
Tiny Tiny RSS: Reader und Aggregator fĂŒr Feeds auf dem eigenen Webserver
Wer der Cloud nicht traut, Dienste lieber selbst hostet oder einen Ersatz fĂŒr Google Reader [1] sucht, erhĂ€lt mit Tiny Tiny RSS [2] (TTRSS) einen ausgewachsenen Reader und Feed-Aggregator fĂŒr den eigenen Webserver. Die Open-Source-Software bietet eine ĂŒbersichtliche Web-OberflĂ€che zum Abonnieren, Lesen und Verwalten von Atom-, RDF- und RSS-Feeds. Damit lassen sich dieselben Feeds auf verschiedenen Rechnern und GerĂ€ten lesen. FĂŒr Smartphones und Tablets bietet Tiny Tiny RSS auĂerdem eigene Apps.
Die Software basiert auf PHP, bietet eine Ajax-OberflĂ€che und setzt ein typisches LAMP-System voraus (Linux, Apache, MySQL, PHP), funktioniert aber auch mit PostgreSQL. Mit dem Reader lassen sich Feeds in Kategorien einsortieren und Artikel bewerten. Daneben bietet Tiny Tiny RSS ein Feld fĂŒr eigene Anmerkungen, Tags, eine Volltextsuche in den Feeds, Mehrbenutzer-Verwaltung, verschiedene Sprachen fĂŒr die OberflĂ€che und Tastaturbefehle. Die Browser-UnterstĂŒtzung umfasst Firefox, Chrome/Chromium und Opera. Der Internet Explorer wird offiziell nicht unterstĂŒtzt, doch zumindest mit neueren Versionen des IE sollte die Software ohne Probleme laufen. FĂŒr Android gibt es bei Google Play einen maĂgeschneiderten Client [3], von dem es sogar schon einen Fork [4] gibt.
Mit seinem Funktionsumfang ist Tiny Tiny RSS nicht ganz so winzig, wie der Name nahe legt: Das entpackte Tar.gz-Archiv umfasst gut sieben MByte, da zahlreiche PHP- und Javascript-Bibliotheken enthalten sind, die alle unter einer Open-Source-Lizenz stehen. Auf ein Installationsskript verzichtet Andrew Dolgov [7], der russische Entwickler von Tiny Tiny RSS, doch die manuelle Konfiguration ist nicht weiter kompliziert: ZunĂ€chst werden die Dateien auf den Webserver kopiert, dann die Datenbank vorbereitet, einige EintrĂ€ge in der gut kommentierten Config-Datei bearbeitet und schlieĂlich ein Update-Skript fĂŒr die Feeds eingerichtet.
Voraussetzungen und Installation
Bevor es an die Installation geht, sollten man ĂŒberprĂŒfen, ob der anvisierte Server alle nötigen Voraussetzungen mitbringt: Tiny Tiny RSS benötigt mindestens PHP 5.3, MySQL ab Version 5 oder eine PostgreSQL-Datenbank. Auf Shared-Hostern mit aktiviertem safe mode und mit BeschrĂ€nkungen per open_basedir ist laut Entwickler mit Problemen zu rechnen, da diese Konstellation noch nicht unterstĂŒtzt wird. Eine Testinstallation zu diesem Beitrag auf einem Apache-Webserver mit PHP als FCGI und strikter Konfiguration von open_basedir lief allerdings nach harmlosen Anpassungen von Tiny Tiny RSS völlig problemlos.
Stimmen die Voraussetzungen, kann es nach dem Download des Tar.gz-Archivs von der Projekt-Website [8] oder direkt von Github [9] und dem Entpacken in ein Verzeichnis auf dem Webserver mit einigen kurzen Einrichtungsschritten weiter gehen.
Datenbank vorbereiten
Die nötigen Datenbank-Tabellen mĂŒssen manuell eingerichtet werden. Das Unterverzeichnis schema des entpackten TTRSS-Archivs enthĂ€lt dafĂŒr je eine passende Schemata-Datei fĂŒr MySQL und PostgreSQL, die 31 Tabellen in einer vorhandenen Datenbank anlegt. Da die Tabellen alle mit dem Prefix ttrss_ versehen sind, ist nicht zwingend eine leere Datenbank nötig. Allerdings sollte die Datenbank bei MySQL in einer UTF8-Konstellation vorliegen. Ein Kommandozeilenbefehl liest den Aufbau der Datenbank ein. Um beispielsweise in der MySQL-Datenbank âttrssdbâ die nötigen Tabellen fĂŒr Tiny Tiny RSS anzulegen, liest man die Datei ttrss_schema_mysql.sql mit folgendem Befehl ein:
mysql -u[benutzer] -p[passwort] ttrssdb < ttrss_schema_mysql.sql
Das Ganze lÀsst sich auch mit einem Datenbank-Frontend wie phpMyAdmin oder Adminer [10] erledigen.
Einige Zeilen in der Konfigurationsdatei mĂŒssen manuell angepasst werden.
Einstellungen anpassen
Im nĂ€chsten Schritt mĂŒssen einige Zeilen in der mitgelieferten Konfigurationsdatei config.php-dist angepasst werden, die man kurzerhand in config.php umbenennt. In die ersten Zeilen der Datei ersetzt man die Beispielwerte fĂŒr Datenbanktyp, Host, User, Datenbankname und Passwort durch die Zugangsdaten zur Datenbank.
muss die URL, ĂŒber die Tiny Tiny RSS zu erreichen ist, eingetragen werden.
StandardmĂ€Ăig bietet Tiny Tiny RSS einen Mehrbenutzermodus mit Login-Box. Wenn man das nicht braucht, lĂ€sst sich die Funktion in der Zeile
define('SINGLE_USER_MODE', false);
auch abschalten.
Einstellungen wie die Admin-Mailadresse fĂŒr den Mehrbenutzerbetrieb und ein SMTP-Server sind optional. Danach lĂ€sst sich Tiny Tiny RSS ĂŒber die angegeben URL im Browser öffnen. Falls der Reader im Mehrbenutzerbetrieb lĂ€uft, gelten fĂŒr die erste Anmeldung als Administrator der Benutzer "admin" und das Passwort "password", letzteres sollte man unbedingt gleich Ă€ndern. Bei der Anmeldung lĂ€sst sich auch die Sprache auswĂ€hlen. Ist der Mehrbenutzermodus deaktiviert, meldet sich Tiny Tiny RSS in Englisch.
Feeds abonnieren und lesen
Die Schaltzentrale von Tiny Tiny RSS ist das MenĂŒ âAktionenâ.
Die Web-OberflĂ€che ist platzsparend und ĂŒbersichtlich, die meisten Einstellungen lassen sich intuitiv ohne Nachforschungen in der knappen Dokumentation [11] vornehmen. Oben rechts im Fenster bietet das Drop-Down-Feld "Aktionen..." alle wichtigen Funktionen vom Abonnieren von RSS-Feeds bis zum Bearbeiten markierter Feeds. Kategorien, Filter, Labels und die Benutzereinstellungen sind hier in den "Einstellungen" untergebracht. Feeds und einzelne Artikel haben darĂŒberhinaus ein KontextmenĂŒ, das sich mit der rechten Maustaste öffnen lĂ€sst. Damit lassen sich Artikel als gelesen markieren oder mit einem Label versehen und Feed-Einstellungen direkt bearbeiten. In der Anzeige eines Artikels lassen sich Tags definieren und eigene Notizen hinterlegen.
Wer seine Feeds bisher in einem anderen Reader gelesen hat und dort eine OPML-Datei exportieren kann, kann die Feeds ĂŒber "Aktionen / Einstellungen / Feeds" in Tiny Tiny RSS importieren. Das klappt auch mit Google Reader, hier exportiert man mit Hilfe des Google-Tools Takeout in den Reader-Einstellungen die Feeds in einem Zip-Archiv und importiert in Tiny Tiny RSS die darin enthaltene Datei subscriptions.xml.
Feeds automatisch aktualisieren
Damit Tiny Tiny RSS neue Artikel in den Feeds anzeigt, muss ein Update-Prozess im Hintergrund laufen. Die Software bietet dafĂŒr mehrere AnsĂ€tze: einen Pseudo-Daemon, einen PHP-Workaround oder einen Cron-Job. Die einfachste Lösung ist der PHP-Workaround, den man in der Konfigurationsdatei config.php mit der Zeile
define('SIMPLE_UPDATE_MODE', true);
aktiviert. Tiny Tiny RSS kann dann Feeds aktualisieren, solange die Seite im Browser-Fenster geöffnet ist. Die Android-Apps lassen sich damit allerdings nicht nutzen. Alternativ bietet Tiny Tiny RSS eine Bastellösung in Form eines Pseudo-Daemons. Das Update-Skript lÀsst sich auf dem Server starten und mit Hilfe von screen in den Hintergrund schieben. Der Befehl
php /[Pfad zu TTRSS]/update.php -daemon
startet ein vorbereitetes Update-Skript fĂŒr Feeds, wenn Tiny Tiny RSS in einer Instanz auf dem Server lĂ€uft. [Pfad zu TTRSS] muss dabei durch den Pfad zum Programmverzeichnis des Readers ersetzt werden. Laufen mehrere Instanzen, bietet die Software das Skript update_daemon2.php. Als dritte Möglichkeit lassen sich die Feeds mit Hilfe eines Cron-Jobs [12] aktualisieren. Dieser sollte allerdings im Kontext des Webservers laufen und nicht als root ausgefĂŒhrt werden.
Stolperfallen
Das PrĂŒfen der Variablen open_basedir lĂ€sst sich in der Datei include/sanity_check.php abstellen, meist lĂ€uft der Reader trotzdem.
Eine paranoide PHP-Konfiguration ist auf öffentlich zugĂ€nglichen Webservern keine schlechte Idee. Dazu gehört das EinschrĂ€nken der Verzeichnisse, auf die PHP zugreifen darf, mittels open_basedir in der php.ini. Tiny Tiny RSS beschwert sich zwar, wenn open_basedir gesetzt ist, doch das muss kein Hindernis sein. In vielen FĂ€llen funktioniert der Reader trotzdem. Um das PrĂŒfen dieser Variablen abzuschalten, mĂŒssen in der Datei include/sanity_check.php die Zeilen
if (ini_get("open_basedir")) { array_push($errors, "PHP configuration option open_basedir is not supported. Please disable this in PHP settings file (php.ini)."); }
mit â//â auskommentiert werden. Der Schritt muss nach jedem Update von Tiny Tiny RSS wiederholt werden.
Ist der Mehrbenutzermodus deaktiviert, entfĂ€llt die Anmeldung bei Tiny Tiny RSS, womit der Reader aller Welt offen steht. Um das zu verhindern, empfiehlt sich das Absichern mit einer Passwortanmeldung ĂŒber .htaccess. Die Ăbertragung von Loginname und Passwort unterwegs aus unsicheren Netzen ist tabu â die Verwendung eines SSL-Zertifikats auf dem Server ist deshalb Pflicht. FĂŒr den eigenen Server tut es dabei aber auch ein selbst signiertes SSL-Zertifikat.
(lmd [13])
URL dieses Artikels: https://www.heise.de/-1825842