Wer gerne täglich oder öfter seine Lieblingsseiten im Netz nach Neuigkeiten durchforstet kennt das Problem. Man liest auf dem Smartphone, am Rechner, auf dem Tablet oder wo auch immer seine Nachrichten. Doch jedes Mal sieht man natürlich alles und muss schauen was neu hinzugekommen ist.
Mit Tiny Tiny RSS (tt-rss) habt ihr ein zentrales Tool auf dem eigenen Server welches Nachrichten zusammenführt. Praktisch, denn jede Seite die einen RSS-Feed anbietet kann in Tiny Tiny RSS eingebunden und zentral im Firefox, Chrome, Android oder iPhone gelesen werden.
Was ihr braucht:
- Einen virtuellen oder dedizierten Server
- vorzugsweise Linux als OS
- Einen Webserver wie Apache oder Nginx
- Eine PostgeSQL 9.1 (oder neuer) oder MySQL Datenbank
- PHP Version 5.4 (oder neuer)
Punkt 1: Git & Download
Ich gehe davon aus, dass der klassiche LAMP Stack wie in den Anforderungen beschrieben bereits läuft. Wir installieren Git (hier unter Debian 8 durchgeführt).
1 |
apt-get install git |
Nun wechseln wir in unseren Webordner bsp. /var/www/html/ und laden tt-rss herunter.
1 |
git clone https://tt-rss.org/git/tt-rss.git tt-rss |
Punkt 2: vHost anlegen und Cache Ordner absichern
Wie unter Securingcachedirectories erklärt, sichern wir in unserer Apache oder Nginx vHost Konfiguration den Cache Ordner sowie config.php vor Zugriffen ab.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Using nginx location /tt-rss/cache { deny all; } location = /tt-rss/config.php { deny all; } Using apache (2.4 syntax) <Directory /var/www/html/tt-rss/cache> Require all denied </Directory> <Directory /var/www/html/tt-rss> <Files "config.php"> Require all denied </Files> </Directory> |
Ein Beispiel vHost unter Apache 2.4 könnte so aussehen. Das Letsencrypt Zertifikat installieren wir nach diesem Tutorial.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<VirtualHost *:80> ServerName rss.adminforge.de RewriteEngine On RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/ RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> DocumentRoot /var/www/html/tt-rss/ ServerName rss.adminforge.de CustomLog /var/log/apache2/access_rss.adminforge.de.log combined ErrorLog /var/log/apache2/error_rss.adminforge.de.log SSLEngine On SSLCertificateFile /etc/ssl/private/rss.adminforge.de_ecc/fullchain.cer SSLCertificateKeyFile /etc/ssl/private/rss.adminforge.de_ecc/rss.adminforge.de.key SSLCertificateChainFile /etc/ssl/private/rss.adminforge.de_ecc/ca.cer <Directory /var/www/html/tt-rss> Require all granted Options -Indexes AllowOverride all </Directory> <Directory /var/www/html/tt-rss/cache> Require all denied </Directory> <Directory /var/www/html/tt-rss> <Files "config.php"> Require all denied </Files> </Directory> </VirtualHost> </IfModule> |
Wir aktivieren den vHost und starten Apache neu.
1 2 |
a2ensite 001-rss.adminforge.de.conf systemctl restart apache2.service |
Punkt 3: Datenbank User anlegen
Wir wechseln auf die MySQL (für PostgreSQL bitte adaptieren) und legen einen Benutzer sowie eine Datenbank für tt-rss an.
1 2 3 4 |
CREATE USER 'tt-rss'@'localhost' IDENTIFIED VIA mysql_native_password USING '<PASSWORD>'; GRANT USAGE ON *.* TO 'tt-rss'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; CREATE DATABASE IF NOT EXISTS `tt-rss`; GRANT ALL PRIVILEGES ON `tt-rss`.* TO 'tt-rss'@'localhost'; |
Punkt 4: Installation von Tiny Tiny RSS
Wir rufen im Browser unseren frisch angelegten vHost auf, bsp. https://rss.adminforge.de/install/. Tragen dort alle nötigen Werte ein, wie auch unseren Datenbank Benutzer, Passwort und Datenbanknamen.
Punkt 5: Updates der Feeds einrichten
Damit das tt-rss PHP Script auch die einzelnen RSS-Feeds aktualisieren kann, benötigen wir einen Dienst.
Empfohlen Systemd:
1 2 3 4 5 6 7 8 9 10 |
[Unit] Description=ttrss_backend After=network.target mysql.service postgresql.service [Service] User=www-data ExecStart=/var/www/html/tt-rss/update_daemon2.php [Install] WantedBy=multi-user.target |
Mit journalctl -u ttrss_backend
kann das Log des Dienstes angeschaut werden.
Alternativ Crond:
1 |
*/30 * * * * /usr/bin/php /var/www/html/tt-rss/update.php --feeds --quiet |
Punkt 6: Ein schickes Theme installieren
Wem die Standard Themes nicht gefallen, hier ein schönes Theme was auch ich verwende -> https://github.com/tschinz/tt-rss_reeder_theme
1 2 3 4 5 6 7 |
cd /var/www/html/ wget https://github.com/tschinz/tt-rss_reeder_theme/archive/master.zip unzip master.zip mv tt-rss_reeder_theme-master/reeder tt-rss_reeder_theme-master/reeder.css themes/ chown www-data. themes/ -R rm master.zip rm -r tt-rss_reeder_theme-master/ |
Dies kann nun unter Aktionen > Einstellungen > Theme aktiviert werden.
Punkt 7: Plugins, Browser Addons und Smartphone Apps
Für den Tiny Tiny RSS Reader gibt es etliche Plugins, folgende kann ich empfehlen unter den Einstellungen zu aktivieren.
Plugins:
- af_fsckportal Remove feedsportal spamlinks from article content
- af_readability Try to inline article content using Readability
- af_redditimgur Inline images (and other content) in Reddit RSS feeds
- af_youtube_embed Embed videos in Youtube RSS feeds
- af_zz_imgproxy Load insecure images via built-in proxy
- embed_original Try to display original article content inside tt-rss
Für die gängigen Webbrowser gibt es ebenfalls passende Addons die kennzeichnen das neue Nachrichten zum Lesen bereitstehen.
Browser Addons:
- Firefox – https://addons.mozilla.org/…/tiny-tiny-rss-watcher/
- Chrome – https://chrome.google.com/…/tiny-tiny-rss-notifier/
Mobil kann ebenfalls auf Tiny Tiny RSS zugegriffen werden.
Smartphone Apps:
- Android – https://play.google.com/…/details?id=mobi.newsjet.rss
- iOS – https://itunes.apple.com/…/tiny-reader-rss/
—
Viel Spaß beim Lesen, vergesst nicht den adminForge Rss-Feed (oben rechts)
1