Google reader je bola nepochybne jedna z najlepších dostupných online RSS čítačiek. Netreba riešiť žiadnu synchronizáciu dát medzi rôznymi počítačmi či dokonca mobilom. Pokiaľ však človek nechce zveriť dáta jednej veľkej spoločnosti, potom sa musí poobzerať po inom riešení, akým je napríklad Tiny Tiny RSS, ktorú si môžete nainštalovať na vlastný server.

Tiny Tiny RSS je webová čítačka, ktorú si nainštalujete na vlastný webserver a vďaka tomu k nej môžete pristupovať odkiaľkoľvek z rozličných zariadení presne tak, ako funguje napríklad Google reader. Samozrejmosťou je odľahčená téma pre mobilné telefóny a dokonca aj aplikácia pre Android.

Pre vyskúšanie je na domovskej stránke projektu aj demo.

Na spojazdnenie Tiny Tiny RSS potrebujete okrem stiahnutého programu:

  • server
  • PHP
  • MySQL alebo PostgreSQL
  • prístup ku cron-u alebo k inej fungujúcej metóde na pravidelnú aktualizáciu článkov
  • a samozrejme kompatibilný prehliadač, v ktorom to všetko budeme pozerať

Inštalácia nie je taká jednoduchá ako napríklad v prípade WordPressu, ale netreba sa toho báť.

Ako prvé vytvoríme novú databázu a podľa toho, čo používame importujeme do nej súbor ttrss_schema_mysql.sql alebo ttrss_schema_pgsql.sql

V prípade MySQL, ktorú používam je to úplne jednoduché. Stačí otvoriť phpMyAdmin a cez záložku Import importovať databázu.

V ďalšom kroku premenujeme súbor config.php-dist na confing.php a upravíme potrebné hodnoty. V mojom prípade to vyzeralo asi takto:

define('DB_TYPE', "mysql"); // or mysql
define('DB_HOST', "localhost");
define('DB_USER', "pouzivatel_databazy");
define('DB_NAME', "meno_databazy");
define('DB_PASS', "heslo_k_databaze");

Keďže chcem mať Tiny Tiny RSS na subdoméne rss.mojserver.sk, upravil som ďalší riadok:

define('SELF_URL_PATH', 'http://rss.mojserver/');

V čítačke chcem mať aj zopár blogov zo sme.sk, ktoré však zrejme má problém s validitou RSS výstupu (chyba MagpieRSS: Failed to parse RSS file) a musel som zmeniť knižnicu na čítanie RSS z  0 – Magpie na 1 – SimplePie:

define('DEFAULT_UPDATE_METHOD', 1);

A nakoniec som nastavil aj komprimáciu textu, nech mi to zbytočne nekonzumuje prenos dát:

('ENABLE_GZIP_OUTPUT', true);

K tej komprimácii som zároveň na úplný začiatok súboru /index.php vložil kód:

<?php ob_start("ob_gzhandler"); ?>

Nasleduje krok, pri ktorom som dlhšie tápal a to nastavenie spôsobu, akým sa bude pravidelne aktualizovať zoznam článkov. Možností je niekoľko. Ja som siahol po crone, ktorý ponúkajú obe hostingové spoločnosti, ktoré používam.

Takže som vytvoril novú úlohu pre cron, ktorá sa bude opakovať v mojom prípade raz denne:

/usr/bin/wget --quiet --output-document=/dev/null "http://rss.mojserver.sk/backend.php?op=globalUpdateFeeds&daemon=1"

Nasleduje prihlásenie do nainštalovanej Tiny Tiny RSS, prístupové údaje sú admin/password

Po prihlásení treba v nastaveniach – Preferences/Authentication zmeniť heslo, nastaviť Default interval between feed updates podľa cronu (v mojom prípade Daily), časovú zónu atď:

Keďže som pôvodne používal Google reader, musel som si importovať všetky rss feedy, ktoré sledujem (ručne by to bolo viac než dosť roboty). Takže v Google reader do nastavení, import/export a uložiť si súbor OPML, ktorý sa bežne používa na export rss feedov:

V nastaveniach Tiny Tiny RSS tento súbor importujeme (vo Firefoxe to nechcelo fungovať, muselo som použiť Chromium):

A už len počkať, než prebehne import a uplynie doba na aktualizáciu feedov nastavená v crone.

Verzia rozhrania určená pre mobilné telefóny sa nachádza na adrese http://rss.mojserver.sk/mobile/ a ďalšia verzia určená najmä pre dotykové displeje na adrese http://rss.mojserver.sk/digest.php

Ako určitú bezpečnostnú ochranu pred script kiddies, ktoré by cez google mohli nájsť moju súkromnú čítačku, som v vytvoril súbor /robots.txt a do neho vložil text:

User-agents: *
Disallow: /

Samozrejme podobných opensource online čítačiek je viacero: lilina, Gregarius, Temboz, GobbleRSS.

Aktualizácia z 1.5.9 na 1.6.2

Zo súboru config.php som prepísal potrebné hodnoty do config.php-dist, ktorým som následne nahradil config.php
Zmazal som všetko okrem /feed-icons

Keďže hostgator beží na php 5.2 a najnovšie ttrss potrebuje php 5.3, vytvoril som .htacess súbor s nasledovným obsahom:
# Use PHP 5.3
AddType application/x-httpd-php53 .php

Následne bolo potrebné spustiť phpMyAdmin a v SQL spustiť
update ttrss_users set access_level=10

Nakoniec sa už len normálne prihlásiť a potvrdiť aktualizáciu.

Od verzie 1.6.0 pribudli automatické aktualizácie, takže v budúcnosti by to malo byť jednoduchšie, kliknutím na Update Tiny Tiny RSS v Nastaveniach/Preferences.