KubuntuBlog

Upgrade: To take out old bugs and put in new ones.

Aller au contenu | Aller au menu | Aller à la recherche

dimanche 27 août 2006

pound un reverse-proxy simple et léger

Introduction

Un reverse-proxy (parfois appelé proxy inverse) va permettre de répartir les requètes arrivant sur un serveur web. Le client (navigateur web) va contacter le proxy qui va alors envoyer la requete vers le serveur web destinataire en fonction de certains critères. Par exemple cela peut servir à

  • distribuer la charge entre plusieurs machines
  • offrir l'accès à des serveurs hébérgées sur des machines à l'interieur du réseau
  • proposer l'accès à plusieurs serveurs différents à partir d'un même port
  • ajouter une couche de chiffrement (https) vers un serveur qui n'en propose pas.

Vous pouvez obtenir plus de détails sur commentcamarche ou sur wikipedia

Nous allons illustrer le dernier point dans la suite de cet article.

Une application concrète

Prenons le cas ou vous voulez utiliser AjaxTerm.

Pour mémoire AjaxTerm est une application web qui permet d'obtenir un accès shell sur votre machine à partir d'un simple navigateur internet. Vous avez peut-être déjà lu l'article de NaWer paru sur le planet il y a quelques temps.
Sa solution[1] pour protéger les communications est d'utiliser la fonction reverse-proxy de Apache2. Si vous n'utiliser Apache que pour cela, c'est un peu utiliser un marteau-piqueur pour tuer une mouche[2]. Nous allons remplacer le lourd Apache par le léger pound.

Nous cherchons donc à obtenir une configuration comme celle-ci : Architecture

Installation

Commencez par installer AjaxTerm comme décrit sur le site web ou dans l'article de NaWer

wget http://antony.lesuisse.org/qweb/files/Ajaxterm-0.9.tar.gz
tar zxvf Ajaxterm-0.9.tar.gz
cd Ajaxterm-0.9

En complément, nous pouvons faire en sorte qu'il soit lancé au boot de la machine :
./configure
sudo make install
sudo update-rc.d ajaxterm defaults
sudo invoke-rc.d ajaxterm start

Pound existe dans les dépots universe, il vous suffit donc de l'installer avec adept, synaptic ou encore apt-get :
sudo apt-get install pound
Un message vous informe qu'il faut le configurer avant de le démarrer. Nous allons nous y employer tout de suite :)

Le fichier de configuration se nomme /etc/pound/pound.cfg. Editez le en tant que root et modifiez les paramètres suivants :

User www-data
Group www-data
#ListenHTTP 127.0.0.1,8080
ListenHTTPS *,443 /etc/pound/pound.pem
UrlGroup ".*"
Backend 127.0.0.1,8022,1
EndGroup

Quelques explications :

  • User/Group : l'utilisateur qui execute le démon
  • ListenHTTP/ListenHTTPS : on ne fait que du https, on laisse le port 80 pour un autre serveur web[3]
  • UrlGroup : syntaxe de type expression régulière perl : on redirige tout
  • BackEnd : le destinataire de nos requètes

Je vous conseille la page de manuel pour plus de détails. Pensez aussi au site et à la mailing list

Il faut mainenant générer un certificat ssl. Nous allons en créer un auto-signé avec une clef non protégée. Pour cela tapez les commandes suivantes et répondez aux questions posées :
cd /etc/pound
sudo openssl req -days 1000 -new -x509 -nodes -out pound.pem -keyout pound.pem
sudo openssl verify pound.pem

Il ne reste plus qu'a autoriser le démarage de pound en positionnant la valeur startup=1 dans /etc/default/pound. Puis vous lancez le démon ainsi :
sudo invoke-rc.d pound start
puis à pointer votre navigateur vers https://LaMachineOuEstInstalléToutLeBouzin/

Conclusion

Même si on peux se demander à quoi sert un tel outil dans un environement de particulier, pound peux être très utile pour créer un Home Server. Il peux faciliter/protéger l'accès à AjaxTerm, Webmin et est le complément idéal d'un serveur web simple comme Cherokee[4]. On peux alors créer des architectures complexes sans avoir à se plonger dans la configuration d'Apache. Il peux donc être bénéfique tant pour votre consommation d'aspirine que pour l'Idle de votre machine ;)

Notes

[1] la même que décrite sur le site de AjaxTerm

[2] AMHA

[3] ou un autre pound

[4] Nous en parlerons peut-être bientôt

jeudi 24 août 2006

Miaou miam

Voila une vrai solution de geek pour nourrir votre chat pendant les vacances :)


Le site de l'auteur avec plus de détails sur le making of.

mercredi 23 août 2006

IOLan : lire les données météo via le réseau

article déplacé vers http://blog.dinask.eu/2006/08/iolan-lire-les-donnees-meteo-via-le_22.html

mardi 22 août 2006

FB2

Héhé, vivement la fin de l'année :)


via LinuxFr

vendredi 18 août 2006

South Park

SouthParkLes meilleures citations de South Park.

Allez, pour le plaisir en voici quelques une

Jewish Kid: Is anyone else having problems concentrating on this? I just can't seem to concentrate.
Cartman: Maybe we should send you to a concentration camp.

Cartman: I would never let a woman kick my ass. If she tried something, I'd be like, HEY! You get your bitch ass back in the kitchen and make me some pie!

Cartman: Respect My Authority!

Bon ok, c'est sans doute moins drôle pour ceux qui ont pas vu les épisodes. Je vous recommande aussi le site officiel très complet.

via digg

mercredi 16 août 2006

Seti@Home / Boinc : Aider la recherche

Introduction

La plupart d'entre vous ont sans doute déjà entendu parler de Seti@Home :

SETI@home est une expérience scientifique qui utilise des ordinateurs connectés à Internet pour la recherche d'intelligence extraterrestre (SETI). Vous pouvez y participer en exécutant un programme gratuit qui télécharge et analyse les données d'un radio-téléscope.

Créé en 1999 cette expérience se propose donc d'utiliser votre temps de calcul pour rechercher des signaux extraterrestre. Sans détailler toute l'histoire, le 1er programme de calcul distribué fournit est maintenant remplacé par Boinc, un logiciel de calcul distribué bien plus générique[1]. Celui-ci vous permet de participer parrallèlement à plusieurs projets.

Installation

icone Ne vous précipitez pas sur le paquet setiathome, celui-ci semble cassé. Nous allons plutôt installer le client Boinc et le configurer nous-même.
sudo apt-get install boinc-client
Vous disposez alors d'un client en ligne de commande qui est lancé au démarrage de la machine et qui se configure via quelques fichiers XML dans /etc/boinc-client/ et surtout /var/lib/boinc-client/
Un nouvel utilisateur boinc est créé pour executer le processus.

Il vous faut maintenant créer un compte Seti@Home pour pouvoir participer aux calculs. Commencez par lire les règles et usages puis créez le[2]. Vous pourrez aussi éventuellement le creer plus tard.

L'Interface graphique

icone Il existe deux interfaces graphiques pour Boinc :

Nous allons principalement étudier le premier. Dans notre exemple le client (boinc_client) et l'interface graphique tourneront sur des machines différentes.

sudo apt-get install boinc-manager
qui peut donc être fait sur une autre machine que celle hébergeant le client précédent. La suite est basée sur cette assertion.

Configuration

boinc-manager
  • En premier, votre client doit accepter les connections en provenance de la GUI. Il vous faut donc ajouter l'IP ou le nom de la machine l'executant dans le fichier /etc/boinc-client/remote_hosts.cfg et redémarrer le client avec sudo /etc/init.d/boinc-client restart
  • Démarrez boincmgr puis Avancé / Selectionner un ordinateur ...
  • Le logiciel se connecte alors au client et lance un wizard pour vous guider
  • Pour l'url, entrez par exemple http://setiathome.berkeley.edu/
  • Vous pouvez alors créer un compte ou donner les informations déjà obtenues
  • Et voila, vous êtes attachés au projet :) boinc_client commence à télécharger des données puis à calculer
KBoincSpy
  • Indiquez le chemin vers le fichier d'états de boinc-client : File / Add Location : /var/lib/boinc-client/client_state.xml. C'est à ce moment que vous pouvez indiquer que votre client tourne sur une autre machine, via une URL du type sftp://jjl@192.168.0.1:22/var/lib/boinc-client/client_state.xml[3]
  • Je n'ai pas encore compris comment s'attacher à un projet avec cette GUI, vous pouvez par contre observer toutes les statistiques.

Projets

Voici une petite liste des projets qui ME semblent interressants. Vous pouvez bien entendu contribuer à ce que vous voulez. Vérifiez quand même les conditions d'utilisations afin d'éviter par exemple que le résultat de vos calculs soient brevetés.

Pour une liste plus complète, allez voir sur le Wiki Boinc ou le site officiel ou bien en français sur BoincFrance.org

Liens utiles

Documentation
Les groupes français :

Notez qu'il y a eu quelques discussions pour créer une équipe ubuntu-fr, mais rien de bien concret ne semble avoir abouti. Plus de détails sur le forum

Notes

[1] et sous licence LGPL

[2] si vous n'en avez pas déjà un bien sur

[3] Vous pouvez utiliser tous les kioslaves

Scoubidou

Une manière originale de voir ce dessins-animé de notre enfance :-D

samedi 12 août 2006

Mayday, mayday ...

Voila, quand on arrive pas à dormir, on tombe sur des vidéos rigolotes.

vendredi 11 août 2006

Si vous avez faim

Allez-y, c'est très bon.

Par contre évitez l'été, il y a un peu trop de monde.

mercredi 9 août 2006

Serveur down

article déplacé vers http://blog.dinask.eu/2006/08/serveur-down.html

mardi 8 août 2006

Aide-mémoire ssh

Ce billet n'a pas vocation d'être une documentation de référence ou un tutorial. C'est juste un petit aide mémoire à l'origine juste pour moi, mais qui peut sans doute être utile à d'autres.[1]. On trouve de la documentation plus détaillée un peu partout. Voir en particulier les liens en fin de billet.

Installation

Vous aurez besoin des paquets :

A noter qu'il existe d'autres clients vnc que xvnc4viewer. Kubuntu est aussi fournie par défaut avec krfb et krdc qui offrent les même fonctionalités que x11vnc/vnc4viewer. Par contre je n'ai pas trouvé comment donner un port différent à krdc.

Gestion des clefs ssh

Générer ses clefs ssh :
jjl@client> ssh-keygen -t dsa -b 1024

Copier sa clef sur le serveur :
jjl@client> ssh-copy-id -i ~/.ssh/id_dsa.pub jjl@serveur

Se logger :
jjl@client> ssh jjl@serveur

Copier un fichier :
jjl@client> scp fichier.txt jjl@serveur:/home/jjl/fichier.txt
jjl@client> sftp jjl@serveur:/home/jjl/fichier.txt .

Jouons un peu avec les tunnels

Forward X11 :
jjl@client> ssh -CX jjl@serveur
On fait de la compression C, du forward X11 X. L'interface graphique des programmes lancés (sur serveur) dans cette session est alors déporté vers le client.

Si on veut faire du Vnc securisé :
jjl@client> ssh -C -L1234:serveur:5900 jjl@serveur x11vnc -scale 1/2:nb -display :0 -localhost -nopw
On réalise un renvoi de port client:1234 vers serveur:5900 avec compression et execution du serveur vnc.
Celui-ci réduit l'ecran de moitié (-scale 1/2; le :nb accelère le rendu au détriment de la qualité). Notez que pour que vnc reste disponible pour les prochaines connections, on ajoutera -forever.
Pour se connecter il suffit alors de faire :
jjl@client> vncviewer localhost:1234

Un serveur dans chaque port

Pour des raisons de sécurités, il n'est pas rare que le serveur ssh écoute sur un autre port que le 22. Malheuresement chaque outil utilise une option différente pour indiquer celui-ci.

  • ssh : -p port
  • scp : -P port
  • sftp : RIEN
  • tous (sftp compris), en passant par les options ssh_config : -oPort=port

Pour aller plus loin

A noter quelques liens interressants :

Notes

[1] Un peu comme mplayer/mencoder en ligne de commande qui est d'ailleurs mis-à-jour

samedi 5 août 2006

Thunderbird et les profils

Une petite astuce pour thunderbird.

Icone Par défaut, Thunderbird ne permet d'être lancé plusieurs fois en même temps. En effet si on esaye de le lancer alors qu'il l'est déjà, la deuxième instance detecte la première et se tue automatiquement. Dans certains cas, cela peut-être génant.

En effet, si vous utilisez plusieurs profils, vous voulez peut-être avoir plusieurs instances en parrallèle[1]. On trouve dans la Base de Connaissance de MozillaZine la solution : il suffit de positionner la variable MOZ_NO_REMOTE à 1. La ligne de commande pour demarrer thunderbird avec le profil de JJL devient donc : export MOZ_NO_REMOTE=1;mozilla-thunderbird -P JJL et de même pour les autres profils.

Et pour Kicker

Il ne vous reste qu'a creer de jolis icones et d'ajouter deux nouveaux boutons à votre barre d'application.

Par exemple si vous utilisez KDE, creez deux icones thunderbird-JJL.xpm et thunderbird-MaChereEtTendre.xpm. Vous les copiez alors dans ~/.kde/share/icons/crystalsvg/64x64/apps[2]. Vous retrouvez alors ces icones dans la partie application des icones du système. Il vous suffit alors de les affecter à vos nouveaux boutons.

Kicker

Vous pouvez aussi avoir une image différente pour la barre et pour le tooltip en ayant des images de même nom mais différentes dans les répertoires ~/.kde/share/icons/crystalsvg/TAILLE/apps. Il suffit alors de jouer sur la taille de kicker[3].

Notes

[1] par exemple pour les mails de monsieur et de madame

[2] si vous avez conservé le thème par défaut, crystalsvg

[3] Cela necessite d'avoir une taille inferieure ou égale à 48 pixels

mardi 1 août 2006

The Simpson Maker

Après le génial et très connu South Park Studio qui permet de créer son propre personage de South Park, voici le Simpson Maker qui permet la même chose pour le dessin-animé éponyme.

Amusez-vous-bien ;)

My

mardi 25 juillet 2006

Nommer et dater vos photos

Etant en congés, je me suis attaqué au classement des quelques centaines de photos que j'avais en retard. Je vais en profiter pour vous faire découvrir[1] deux petites applications qui sont bien pratique.

Changer la date

Souvent lorsque vous modifiez vos photos, la date de modification du fichier change. Elle ne correspond alors plus à la prise de vue, mais à la date de rotation[2] de la photo.

Mes lecteurs les plus anciens se souviendrons peut-être que j'avais proposé un script pour résoudre ce problème dans mon billet Photos et changement de date. J'avais alors parlé d'en faire un service menu pour Konqueror et ainsi en faciliter l'utilisation. C'est enfin chose faite.

Vous pourrez maintenant, par un simple click droit changer la date de vos photos pour remettre la date de prise de vue. Celle-ci est extraite des informations exif[3] de la photo.

ScreenShot Pour l'installer, c'est très simple :

  • téléchargez le fichier
  • decompressez le
  • copiez le fichier exifDate.desktop dans
    • ~/.kde/share/apps/konqueror/servicemenus/ pour un seul utilisateur
    • /usr/share/apps/konqueror/servicemenus/ (en tant que root) pour tous les utilisateurs
  • redémarrez konqueror

Plus de détails sur ma page des services menus pour Konqueror ou sur kde-apps.

Renommer ses photos

ScreenShotTout d'abord, pour regarder mes photos j'utilise GwenView qui est très à mon gout. Sachez qu'il ressemble beaucoup à ACDSee pour ceux qui se souviennent encore du monde windows.

Je vous propose d'utiliser un petit logiciel de renommage de fichiers : GwenRename. Même s'il n'a pas la puissance[4] de KRename, il est très pratique. Il permet par exemple de spécifier un prefix/suffix dépendant de la date de prise de vue. Vous pouvez aussi définir un profil et le réutiliser à volonté.

Prenons comme exemple une nomenclature du type <année>-<mois>_<sequence>.jpg (2006-07_005.jpg)[5] Pour obtenir cela :

  • pour lancer GwenRename, click droit dans GwenView ou Konqueror puis Renommer avec GwenRename
  • creez un nouveau profil (ce n'est pas obligatoire mais ce sera plus pratique) en bas à droite
  • cliquez sur le bouton à droite de prefix
  • Choisissez Other... dans Predefined expression et entrez yyyy-MM_ dans la ligne suivante. OK
  • Reglez les paramètre du counter (début de sequence, nombre de chiffres)
  • perso, je convertis aussi l'extension en lowercase
  • Sauvez votre profil et definissez le par défaut (si c'est votre choix)

et voila !

Notes

[1] ou pas

[2] par exemple

[3] les informations positionnées par l'apareil photo lui-même

[4] certains diront lourdeur ;)

[5] oui, ce n'est pas un exemple au hasard, c'est celle que j'utilise

49er contre Bib ...

Pourquoi faut-il regarder devant soi quand on dirige un canot pneumatique ?


Et en bonus un magnifique soleil ;)

< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 >