jluc

Installation de tiny tiny rss

Posté par jluc le 6 novembre 2008

Suite de l’installation du serveur (cf mon précédent article)…

Après avoir installé le système, on va installer tiny tiny rss, un lecteur de flux rss en php.

Préparation

Pour commencer, on va créer la base de donnée.

Tout d’abord, on se connecte à MySQL :

mysql -u root -p

On crée ensuite un utilisateur avec les droits nécessaires et la base de données :

CREATE USER ‘ttrss’@'localhost’ IDENTIFIED BY ‘XXXXXX’;
CREATE DATABASE ttrss;
GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,DROP,CREATE ON ttrss.* TO ‘ttrss’@'localhost’;
FLUSH PRIVILEGES;

Installation

On peut maintenant passer à l’installation proprement dite.

On récupère l’archive de la dernière version de tiny tiny rss (la 1.2.28 au moment où j’écris ceci) et on l’extrait :

wget http://tt-rss.org/download/tt-rss-1.2.28.tar.gz
tar -xvf tt-rss-1.2.28.tar.gz

On le met ensuite en place :

mv tt-rss-1.2.28 /var/www/tt-rss

Puis on alimente la base de donnée :

mysql -u ttrss -p ttrss < /var/www/tt-rss/schema/ttrss_schema_mysql.sql

On peut maintenant se reconnecter à MySQL pour limiter les droits de l’utilisateur ttrss :

REVOKE INDEX,DROP,CREATE ON ttrss.* FROM ‘ttrss’@'localhost’;
FLUSH PRIVILEGES;

Pour finir, il faut configurer lighttpd en ajoutant ceci au fichier /etc/lighttpd/lighttpd.conf :

# active mod_cgi si ce n’est pas déjà fait.
server.modules  += ( “mod_cgi” )
# redirige /rss/ vers le bon répertoire
alias.url += ( “/rss/” => “/var/www/tt-rss/” )
# configure la gestion du cgi
$HTTP["url"] =~ “^/rss/” {
cgi.assign = ( “.php” => “/usr/lib/cgi-bin/php5″)
}
# redirection (rajoute le slash final au lieu de faire une erreur)
url.redirect                = ( “^/rss$” => “/rss/” )

Pour la redirection, il ne faut pas oublier de décommenter la ligne “mod_redirect”, dans les server.modules

Il ne reste plus qu’à recharger la configuration de lighttpd :

/etc/init.d/lighttpd force-reload

Mise à jour des flux

On a maintenant un lecteur de flux opérationnel, mais on doit encore paramétrer la mise à jour automatique des flux.

Avant tout, on récupère les scripts nécessaires :

wget http://tt-rss.org/trac/attachment/wiki/UpdatingFeeds/tt-rss.default?format=raw
wget http://tt-rss.org/trac/attachment/wiki/UpdatingFeeds/tt-rss.initd?format=raw

On les place ensuite au bon endroit :

mv tt-rss.default\?format\=raw /etc/default/tt-rss
mv tt-rss.initd\?format\=raw /etc/init.d/tt-rss

On rend le script exécutable et on active le démon au démarrage du système :

chmod +x /etc/init.d/tt-rss
update-rc.d tt-rss defaults

Il faut aussi activer le démon dans le fichier config.php :

define(‘ENABLE_UPDATE_DAEMON’, true);

Et voilà, on peut maintenant lancer le démon :

/etc/init.d/tt-rss start

Si comme moi, vous avez un problème avec la fonction pcntl_signal, vous pouvez commenter les lignes suivantes dans le fichier update_daemon.php :

pcntl_signal(SIGINT, sigint_handler);
pcntl_signal(SIGALRM, sigalrm_handler);

Contrôle d’accès

Pour ajouter un contrôle d’accès, il y a deux solutions :

  • soit gérer les accès au niveau de tiny tiny rss, via l’option ‘SINGLE_USER_MODE’ du fichier config.php
  • soit gérer les accès au niveau de lighttpd. C’est cette solution que je vais détailler.

Nous allons utiliser htdigest. Pour cela nous devons installer le paquet apache2-utils :

aptitude install apache2-utils

Afin de faciliter la gestion des mots de passes, nous allons utiliser le script suivant :

#!/bin/sh
user=$1
realm=$2
pass=$3
hash=`echo -n “$user:$realm:$pass” | md5sum | cut -b -32`
echo “$user:$realm:$hash”

Ce script s’utilise comme ceci :

htdigest.sh jluc ttrss xxxxxx >> /etc/lighttpd/users.htdigest

Il ne reste plus qu’à modifier le fichier /etc/lighttpd/lighttpd.conf en ajoutant la ligne “mod_redirect”, dans les server.modules puis en complétant la configuration pour tiny tiny rss :

# contrôle d’accès
auth.debug      = 2
auth.backend    = “htdigest”
auth.backend.htdigest.userfile = “/etc/lighttpd/users.htdigest”
auth.require = ( “/rss/” =>
( “method” => “digest”,
“realm” => “ttrss”,
“require” => “valid-user”
)
)

Et voilà, plus qu’à recharger la configuration et c’est parti !

3 réponses vers “Installation de tiny tiny rss”

  1. huy a dit

    Il semble que pcntl_signal n’est pas activé dans php5-cgi, par contre ça fonctionne avec php5-cli.

  2. [...] facile sous Ubuntu Server /  Debian, et à condition de suivre à la lettre le tutoriel disponible à cette adresse, on s'en tire sans douleur. L'interface du logiciel est bien conçue, colorée, fonctionnelle et [...]

Laisser un commentaire

XHTML: Vous pouvez utiliser ces étiquettes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>