Installation de tiny tiny rss

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 user 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 !

Installation serveur

Je suis en train de m’installer un petit serveur à la maison en attendant d’avoir un jour un serveur privé, ça me permet de tester la conf…

Le but de ce post est de lister les différentes manips que je fais pour l’installation.

Pour l’occasion, j’ai ressorti mon « ordinausaure » du placard.

Installation du système

J’ai choisi d’installer une debian (bien sûr 😉 ), mais pas en stable. Lenny étant sensée sortir prochainement, je me suis dit que ça valait le coup d’éviter un upgrade, et en plus, ce sera aussi l’occasion de tester et éventuellement de rapporter un ou deux bugs.

Rien de spécial concernant l’installation, à part une petite galère avec le wifi (et oui, je n’ai pas de carte réseau filaire sur cette machine, juste une carte pcmcia BCM4318…), mais ça s’est réglé assez rapidement à l’aide de cette page.

Pour compléter, j’ai juste installé openssh et shorewall (je suis allergique à la syntaxe IPTable…)

aptitude install openssh-server shorewall

Pour ssh, je me suis contenté d’interdire la connexion de root en modifiant le fichier /etc/ssh/sshd_config :

PermitRootLogin no

Pour shorewall, j’ai repris l’exemple fourni à l’installation :

cp /usr/share/doc/shorewall-common/examples/one-interface/* /etc/shorewall/

puis je l’ai adapté à mes besoins. Au final, voici les fichiers de conf que j’ai modifiés :

  • /etc/shorewall/interfaces

#ZONE INTERFACE BROADCAST OPTIONS
net wlan0 detect tcpflags,logmartians,nosmurfs

  • /etc/shorewall/policy

#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
fw net ACCEPT
net fw DROP info
# The FOLLOWING POLICY MUST BE LAST
all all REJECT info

  • /etc/shorewall/rules

#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK
# PORT PORT(S) DEST LIMIT GROUP
ACCEPT net fw tcp ssh
ACCEPT net fw tcp http
ACCEPT net fw tcp https

Il reste à indiquer au système qu’on a terminé la configuration.

Pour cela, il faut modifier le fichier /etc/shorewall/shorewall.conf :

STARTUP_ENABLED=Yes

et le fichier /etc/default/shorewall :

startup=1

On peut enfin démarrer shorewall :

/etc/init.d/shorewall start

Installation du serveur web

Plutôt que le classique apache, j’ai choisi d’installer lighttpd, et de le compléter avec php5 et mysql :

aptitude install lighttpd php5-cgi php5-mysql mysql-server mysql-client php5-xmlrpc

Ensuite, il faut créer une configuration pour PHP 5 en mode Fast CGI et l’activer dans lighttp :

cp /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-available/10-fastcgi-php5.conf
sed -i -e ‘s/php4/php5/g’ /etc/lighttpd/conf-available/10-fastcgi-php5.conf
/usr/sbin/lighty-enable-mod fastcgi-php5
/etc/init.d/lighttpd force-reload

Concernant MySQL, je me suis contenté de mettre un mot de passe pour l’utilisateur root :

mysqladmin -u root password « xxxxxxxx »

À suivre…

C’est tout pour le moment.

Dans le prochain épisode, nous verrons l’installation d’un aggrégateur de flux rss (tiny tiny rss) et d’une gallerie photos (gallery2).

Évangélistes ou intégristes ?

Je vois de plus en plus d’articles ou de discussions vantant les mérites du libres mais déplorant soit le manque d’implication des utilisateurs, soit le nombre trop bas de machines tournant sous Linux.

D’un côté, les intégristes du libre, pour qui tout utilisateur de GNU/Linux devrait passer quelques heures pas jour à contribuer et/ou reverser une partie de ses revenus à des projets libres.
Et de l’autre, les évangélistes qui veulent absolument installer un OS libre sur toutes les machines qu’ils aperçoivent (cf la fameux bug n°1 d’Ubuntu).

C’est bien joli, mais ils oublie quelque chose : chacun est libre d’utiliser le système qu’il préfère, ou celui sur lequel il se sent le plus à l’aise. La voilà, la liberté !

Bien sûr, ce serait mieux si tout le monde pouvait tester plusieurs OS et ainsi choisir en toute connaissance de cause, mais il ne faut pas oublier une chose : quand on passe beaucoup (trop ?) de temps devant sa machine, on n’a pas la même perception que monsieur ToutLeMonde. On oublie parfois que la grande majorité des gens ne savent même pas ce qu’est windows (et encore moins Linux, bien sûr) ! ils appuient sur le bouton pour allumer l’ordinateur, puis naviguent sur internet, envoient des mails ou discutent par messagerie instantanées, mais ils ne savent pas quels logiciels ils utilisent et ils s’en moquent !

Alors, oui, bien sûr, Linux est mieux, plus sécurisé, plus performant, etc, et j’en suis profondément persuadé. Mais convient-il à tout le monde ? Il me convient, ça ne fait aucun doute, mais franchement, je ne vois pas ce qu’il pourrait apporter à mon voisin, par exemple… Il a acheté un ordinateur, il l’a branché, allumé (enfin, plus exactement, il est venu me demander de le faire pour lui 😉 ), et voilà. Effectivement, je pourrais lui installer une Ubuntu ou une autre distribution mais pourquoi ? Comment lui expliquer, vu sa connaissance de l’informatique et l’utilisation qu’il a de son PC, que son système qu’il a acheté, qui (bizarrement) ne plante jamais, n’est atteint par aucun virus, en bref fonctionne parfaitement, comment lui expliquer que je vais le supprimer pour lui installer un autre système qui marchera certainement mieux mais qui ne lui apportera rien de plus ?

Non, décidément, je n’ai vraiment pas l’âme d’un évangéliste. Je préfère une position plus modérée : je parle des logiciels libres et de Linux à mon entourage, je conseille au gens d’utiliser firefox et OpenOffice, je donne éventuellement quelques CD d’Ubuntu pour les intéressés en leur proposant mon aide en cas de besoin, mais je m’arrête là, je n’insiste pas. Si ils veulent sauter le pas, ils savent que je suis là.

À choisir, je me sentirais plus proche des intégristes, mais ce n’est pas ça non plus… Bien sûr, il faut qu’un maximum d’utilisateurs participe si on veut continuer à faire avancer les choses, mais encore une fois, chacun est libre ! Libre de participer ou non. Allez expliquer à nos chers députés ou aux gendarmes qu’il doivent réserver un créneau dans leur emploi du temps pour contribuer aux logiciels libres 😉

Pour ma part, je contribue malheureusement peu (un peu de support, quelques traductions…), pas assez à mon goût, en tout cas. J’aimerais faire plus mais j’aimerais faire tellement de choses… qu’au final, je ne fait pas grand chose. Mais bon, chacun fait ce qu’il peut, on est libre 😉

Et vous, évangélistes ou intégristes ?

Ubuntu ou Debian ?

Depuis ma récente installation d’Ubuntu 8.04, je me demande si Ubuntu me convient toujours…

Il y a quelques détails qui me gênent dans cette version, du style firefox 3.0b5, la visue de toutes les partitions das le menu « Raccourcis » (en particulier celles qui n’apparaissent pas dans le fichier fstab),… Et même au moins un qui me choque : les dossiers pour les documents perso créés dans $HOME. Globalement, j’ai l’impression que le but est de faire un clone de Windows et franchement, ça ne m’intéresse pas.

Je reconnais qu’Ubuntu est très facile à installer (et que personne ne vienne me parler de Wubi 😡 ) et à utiliser, d’ailleurs, je la garde sur ma machine et ma femme et mes enfants continuent à l’utiliser (pour le moment… ), mais pour moi, j’ai envie d’autre chose…

J’ai donc installer une debian testing sur une autre partition, en partant de zéro et je la configure petit à petit.

Lenny est nettement plus légère que Hardy (il faut dire que j’ai beaucoup moins de paquets d’installés…), mais à part ça, et vu mon utilisation, il faut avouer qu’il n’y a pas grande différence entre Debian et Ubuntu.

Alors pourquoi changer ? Disons que plus j’utilise Linux, plus j’ai envie de creuser et j’ai l’impression (peut-être à tort) que je pourrais plus creuser avec Debian. Sans compter que si je casse mon système, ma femme pourra toujours utiliser Ubuntu et j’éviterai l’habituel « tu as encore tout foutu en vrac !  » 😉

En fait, je ne sais pas si je vais passer définitivement à Debian (ou autre) ou bien revenir à Ubuntu… d’après ce que j’ai pu lire ou entendre ça et là, il y a à peu près autant de départ définitif que de retours précipités, et ce dans les deux sens, donc on verra bien…

installation de Debian sur Dell D505… épisode 1

J’ai l’intention de noter ici toutes les installations et manipulations que je vais faire sur mon portable. Ça me permettra de pouvoir les retrouver facilement au cas où 😛

Installation du système de base

Rien de spécial à signaler lors de l’installation avec le CD Etch NetInstall… J’ai juste décidé de ne pas installer d’environnement de bureau à ce moment là.

Une fois l’installation terminée et le portable redémarré, j’ai commencé par passer en Debian testing (modification du fichier /etc/apt/sources.list, puis « aptitude update » et « aptitude dist-upgrade »).

Wifi

Jusqu’ici, je n’ai utilisé que ma connexion filaire, mais il est temps de s’occuper du Wifi !

En fouillant les logs, J’ai vu que le pilote nécessaire était le ipw2100. Après quelques recherches, j’ai trouvé mon bonheur ici. J’ai choisi la version 1.3 par rapport à ce que j’avais vu dans les logs.

J’ai décompressé le fichier et copié les fichiers .fw dans /usr/lib/hotplug/firmware/

Après un redémarrage, j’ai renseigné la config wifi dans /etc/network/interfaces, et, après un petit « /etc/ini.d/networking restart », j’ai enfin pu débrancher mon câble ethernet 🙂

Voilà, je n’ai plus qu’à installer l’environnement de bureau Xfce mais on verra ça au prochain épisode 😉

installation de Debian Etch… encore

Et voilà, mon vieux latitude CPx est installé. J’ai tout bien peaufiné, paramétré et tout et tout, et voilà que…

… j’ai la chance de récupérer un portable plus récent 8)

Dell_latitude_D505

À nouveau un Dell Latitude, mais ce coup-ci, il s’agit d’un D505 de 2004 avec un Pentium M à 1,4 Ghz, 384 Mo de memoire, un disque de 20 Go, Wifi, Bluetooth…

Résultat, je range mon ordinausore au placard et je ressors mon CD netinstall de Debian Etch 🙂

À suivre…

Etch et fluxbox sur mon latitude (suite)

J’avais lu que fluxbox était léger, je confirme !

Mais ce qui surprend le plus au premier lancement, c’est que c’est très épuré… tellement épuré qu’il n’y a rien !

Par contre, on se rend compte rapidement qu’on peut aller très loin dans le paramétrage.

Pour l’instant, j’ai installé les paquets suivant :

  • Xfe : un gestionnaire de fichiers
  • iDesk : pour afficher des icônes sur le bureau
  • Eterm : un terminal qui a l’avantage d’installer également Esetroot qui est utilisé par fbsetbg pour mettre un fond d’écran

Autre point que je trouve excellent dans fluxbox : la gestion des raccourcis clavier. À partir du moment où vous savez que « Mod1 » correspond à la touche Alt , « Control » à la touche ctrl, « Shift » à la touche majuscule et « Mod4 » à la touche windows, il suffit d’éditer le fichier ~/.fluxbox/keys et d’ajouter par exemple :

Mod4 C :ExecCommand /usr/bin/Eterm
Mod4 E :ExecCommand /usr/bin/xfe

Toutes les actions possibles sont listées sur cette page.

En conclusion, je suis vraiment emballé par fluxbox pour l’instant. Le seul problème, ça va être de trouver assez de temps pour approfondir et peaufiner tout ça… Il va aussi falloir que je trouve des applications légères à installer sur cette machine (navigateur, bureautique, …)

Etch sur mon vieux Dell latitude

J’ai récupéré il y a envrion 18 mois un vieux portable Dell Latitude CPx H450GT.

Une vrai bête de course 😉 :Dell_Latitude_CPx

  • Pentium III 450MH,
  • 256 Mo de RAM,
  • un disque de 20 Go,
  • une carte éthernet PCMCIA 3Com,
  • une carte WiFi PCMCIA Linksys WPC54G,
  • et deux baies modulaires avec :
    • 2 batterie (durée de vie moyenne 30 mn),
    • une lecteur disquette,
    • un lecteur CD,
    • et surtout un deuxième disque de 20 Go !

Heureusement pour moi, ce n’est pas ma machine principale , et je m’en sers principalement pour faire mes sauvegardes (à l’occasion, il me sert aussi à faire des tests…)

Jusqu’ici, il tournait sur Xubuntu 6.06, mais je le trouvais un peu lent (normal…) et surtout, j’avais envie de changer un peu…

J’ai donc décidé de le remettre à neuf avec une Debian Etch et d’utiliser un gestionnaire de fenêtres encore plus léger : fluxbox.

Installation de Debian (NetInstall) :

J’avais un peu peur d’avoir des difficultés avec mes cartes réseaux PCMCIA, mais il les a reconnues sans problème. Bon, j’avoue que je n’ai pas testé le Wifi pour l’installation, on verra plus tard… Il n’y a pas grand chose d’autre à dire, je ne vais pas refaire un tuto d’install Etch, on en trouve facilement sur le net et je ne ferai certainement pas mieux. La seule différence par rapport aux installations que j’ai déjà faites, c’est que j’ai décoché « ordinateur graphique de bureau »

Post-installation :

Pour la suite, je me suis servi principalement de ce tuto. voici la liste des paquets que j’ai installé après le premier reboot :

  • x-window-system
  • fluxbox
  • fluxconf
  • fbdesk

Voilà, je n’ai plus qu’à tester tout ça, je noterai dans un prochain billet les autres paquet installés sur cette machine. j’en profiterai aussi pour vous donner mes impressions sur fluxbox (des fois que ça intéresserait quelqu’un…).