Tt-rss

De Astillas.net

tt-rss es el acrónimo de Tiny tiny RSS y es un agregador de noticias vía web, esto es, permite leer flujos de noticias (news feeds) desde un navegador al ejecutarse como un programa CGI.

Versión
1.5.1
Página principal
http://tt-rss.org
Observaciones
La instalación es manual sobre /opt.


Enlaces y referencias

Instalación

  1. Descargamos la última versión del software de
    http://tt-rss.org/download/
  2. Desempaquetamos en /opt y creamos un enlace simbólico para facilitar la configuración
    # ln -s /opt/tt-rss-1.5.1 /opt/tt-rss
  3. Asignamos la propiedad al usuario adecuado www-data
  4. Para mayor seguridad movemos la configuración al directorio /etc
$ sudo install -d -o www-data -g www-data /etc/tt-rss
$ sudo mv /opt/tt-rss/config.php /etc/tt-rss
$ sudo ln -s /etc/tt-rss/config.phpg /opt/tt-rss

Base de datos

Una vez seleccionado el motor de base de datos a emplear (MySQL en este caso), creamos una base de datos (ttrssdb), un usuario (ttrss) y definimos su estructura empleando el archivo /opt/tt-rss/schema/ttrss_schema_mysql.sql.

Configuración del programa

Copiamos el archivo ejemplo de configuración config.php-dist en la localización final /opt/tt-rss/config.php y añadimos información al mismo:

// Definiciones para conectar con la base de datos
define('DB_TYPE', "mysql"); // or mysql
define('DB_HOST', "localhost");
define('DB_USER', "ttrss");
define('DB_NAME', "ttrssdb");
define('DB_PASS', "PASSWORD");
define('DB_PORT', '5432'); 

// Activar el modo multiusuario 
define('SINGLE_USER_MODE', false);

// Guardar las sesiones en MySQL no funciona 
// esta versión
** define('DATABASE_BACKED_SESSIONS', false);

Servidor web Apache

La configuración del servidor web es bastante sencilla:

Alias /noticias /opt/tt-rss

<Directory /opt/tt-rss>
        Order allow,deny
        Allow from all
        AllowOverride All
        Options -Indexes IncludesNOEXEC FollowSymLinks
</Directory>

Funcionamiento

Puesta en marcha

Para ponerlo en marcha basta con acceder al programa como administrador. La primera vez se emplean las credenciales predeterminadas

   Login: admin
Password: password

que deben cambiarse inmediatamente después de dicho acceso. También conviene crear usuarios con los privilegios más bajos para usar el programa normalmente.

Actualizando fuentes de noticias

La documentación oficial habla de varios métodos para actualizar las fuentes de noticias dependiendo de si el intérprete PHP es accesible desde la consola y de si es posible instalar o no procesos en segundo plano. Si la respuesta es afirmativa en los dos casos sugieren instalar la actualización como un proceso demonio y mencionan herramientas como start-stop-daemon de Debian. He elegido ésta forma por ser la más sencilla para mí:

  1. Activamos la actualización vía daemon en la configuración y definimos su funcionamiento.
  2. Instalamos un script de inicio que arranque el programa empleando

El programa encargado de leer las fuentes de noticias es /opt/tt-rss/update_daemon2.php y debe ejecutarse con el usuario www-data' para evitar problemas con los permisos de acceso.

La parte de la configuración referente al actualizador es:

// Activa la ejecución del demonio
define('ENABLE_UPDATE_DAEMON', true);

// Intervalo en segundos entre cada ejecución del demonio 
// actualizador
 define('DAEMON_SLEEP_INTERVAL', 120);

// Activa el envío de resúmenes desde el demonio
define('DAEMON_SENDS_DIGESTS', true);

// Número máximo de fuentes a actualizar en cada ronda
define('DAEMON_FEED_LIMIT', 100);

// Directorio donde situar los archivos de bloqueo
define('LOCK_DIRECTORY', 'lock');

Respecto a la integración en el sistema he montado un pequeño programa que posteriormente he instalado en /etc/init.d/tt-rss. Todavía no está demasiado pulido así que me limito a indicar aquí las opciones con las que funciona bien:

# start-stop-daemon --start --background  --chdir /opt/tt-rss --user www-data  --exec /usr/bin/php /opt/tt-rss/update_daemon2.php