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 !

Publicités

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 Grub

J’utilise GNU/Linux et plus précisément Ubuntu comme OS principal depuis un peu plus de deux ans maintenant.

Jusqu’ici, sur mon PC fixe, j’avais toujours la même installation d’Ubuntu. J’avais installé une Breezy à l’époque et elle a évolué jusqu’à Feisty à coup de dist-upgrade.

Allez savoir pourquoi, je n’ai jamais installé Gutsy. Et comme de toute façon, je voulais faire du ménage (à force d’installer tout et surtout n’importe quoi, ça fini quand même par laisser des traces…), je me suis décidé à télécharger un CD alternate de la bêta de Hardy Heron et à l’installer à la place de ma Feisty.

Jusque là, tout va bien, et vous vous demandez certainement le rapport avec le titre 😉

C’est tout simple, l’installation s’est bien déroulée à un détail près : je n’ai pas pu installer Grub à la fin…

Donc, pour mémoire, et si ça vous arrive, voici la marche à suivre :

  • Redémarrage avec le CD alternate et choix de l’option « Réparer un système endommagé »
  • Choisissez l’option permettant d’avoir une console pour le système installé (désolé, j’ai oublié le libellé exact de l’option :p )
  • entrez les commandes suivantes :
    • aptitude install grub
    • mkdir /boot/grub
    • cp -a /usr/lib/grub/i386-pc/* /boot/grub/
    • grub –batch
    • find /boot/grub/stage1 (ceci vous permet de trouver la partition qui va bien)
    • root (hd0,1) (à adapter en fonction de la commande précédente)
    • setup (hd0) (pour installer grub dans le MBR, sinon, il faut préciser la partition)
    • quit
    • reboot

et voilà, c’est reparti !

Au passage, je signale tout de même que Hardy fonctionne bien, même si il y a à mon goût un peu trop de  « superflu ». Je comprends le besoin pour les nouveaux utilisateurs, mais je me demande si Ubuntu est encore la distribution qui me convient… affaire à suivre 😉

Dell et Ubuntu

Je traduisais un article pour la LHU concernant le nouveau portable DELL inspiron 1525 sous Ubuntu tout à l’heure, et je me suis dit que ça faisait longtemps que je n’avais pas fait de test comparatif.

Je me suis donc connecté sur www.dell.fr et je me suis configuré deux machines identiques, une avec Ubuntu 7.10, et l’autre avec Windows Vista Édition Familiale Basique.

Au passage, il a fallu que j’ajoute 512 Mo de mémoire à la configuration de base sous Linux pour avoir la même chose que la configuration de base sous Vista… Windows serait-il plus gourmand en ressources ? 😉

Bref, résultat :

  • Configuration Vista : 499 €
  • Configuration Ubuntu : 468,99 €

soit un écart de seulement 30 € 😯 J’ai cherché (pas trop longtemps, je l’avoue…) mais je n’ai pas trouvé de licence Vista Familiale Basique à moins de 180 €…

Je sais qu’il s’agit ici de version OEM et que les constructeurs bénéficient de prix plus intéressants, mais quand même, il n’y aurait pas comme un foutage de gueule, là ?

Encore plus fort : tant que j’y étais, j’ai fait le même test pour l’ordinateur de bureau Dell Inspiron 530 (avec encore une fois une modification de la quantité de mémoire) :

  • Configuration Vista : 448,99 €
  • Configuration Ubuntu : 449 €

Il faut savoir que Dell propose régulièrement des offres spéciales (frais de livraison offerts, réductions diverses et variées…), mais jamais sur des configurations Ubuntu… Par exemple, ici, il y a une réduction de 50 € pour la version Vista. Résultat, elle est moins chère que la version Ubuntu et elle a en plus un lecteur d’empreinte digitale indisponible sur la version Linux 😯

Conclusion : Quand Dell a annoncé qu’ils allaient commercialiser des PC Ubuntu, ça a fait beaucoup de bruit (la LHU ne parlait quasiment que de ça, ça m’a assez énervé à l’époque pour que je m’en souvienne 😉 ). Aujourd’hui, on ne peut pas dire que leurs machines Ubuntu soient mises en avant… j’ai eu du mal à trouver le lien pour y accéder (en fait, je viens de le trouver, pour faire les comparatifs, j’avais utilisé la recherche) et quand on y arrive, les tarifs ne sont pas si intéressants que ça (à mon avis, pas assez intéressants pour motiver les acheteurs).

Que des grands (ou même des petits) constructeurs commercialisent des machines pré-installées avec Linux, je suis pour (même si ce serait mieux d’avoir le choix de la distribution), mais si on veux que Linux progresse dans le grand public, il faudrait que la différence de prix soit plus marquée.

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 😉