Parinux a toujours besoin de personnes pour animer ses activités et partager leurs connaisances.
Vous pouvez adhérer à l'association.
News aggregator
Verrou virtuel
Niveau : Résumé : vlock; vlock -ns Vous avez vu apparaître dans l'article sur tmux, un petit outil pour verrouiller le terminal, il s'appelle vlock. Son unique fonctionnalité est le locker un terminal et de demander un mot de passe pour être débloqué. Mine de rien ça lui fait quand même deux cas d'usage : bloquer l'accès [...]
Screen killer
Niveau : Résumé : tmux Aujourd'hui tout le monde connaît et utilise screen. Miracle de la technologie, il permet de survivre aux déconnexions, de lancer des commandes longues sans avoir peur, de faire passer tous ses shells dans une seule connexion et on le trouve souvent associé à l'indémodable irssi. Comme vous le savez peut-être screen [...]
De la soumission à l'Agenda du Libre
Dans le cadre de la soumission d’événements se déroulant le premier samedi du mois, je me suis posé la question de générer automatiquement la liste des premiers samedis de tous les mois d’une année. La commande date de FreeBSD propose une option -v permettant rapidement d’obtenir d’autres dates, par addition. Ce n’est pas le cas de la commande GNU date. Néanmoins, on peu, en un ligne de shell trouver les premiers samedis d’une année :
for i in january february march april may june july august september october november december ; do for j in 0 1 2 3 4 5 6 ; do if [ "`date --date "1 $i 2012 + $j days" "+%A"`" = samedi ] ; then date --date "1 $i 2012 + $j days" "+%c" ; fi; done ; done
Dans le cadre de la soumission à l’Agenda du Libre, j’ai donc utilisé la commande suivante :
for i in february march april may june july august september october november december ; do for j in 0 1 2 3 4 5 6 ; do if [ "`date --date "1 $i 2012 + $j days" "+%A"`" = samedi ] ; then ./adl-submit.py --file premier-samedi.xml --start-date `date --date "1 $i 2012 + $j days" --iso` ; fi; done ; done
P.S. adl-submit.py se trouve sur la page de soumission d’événements. On y trouve également la description du format du fichier premier-samedi.xml
Network grep
Niveau : Résumé : ngrep I'm back ! Ça faisait longtemps ! Vous m'avez manqué. J'ai quelques petits articles pour vous. Oui c'est vraiment la reprise, même si c'est pas encore du triple A. Aujourd'hui ngrep. Ngrep est un pote de tcpdump, il sait utiliser les mêmes filtres que tcpdump et stocker les paquets dans un format pcap [...]
FOSDEM 2012
FOSDEM will be a great time to gather what are ongoing developement in FLOSS world.
De l'auto-hébergement (du mail)
Je procrastinais sur l’écriture de ce cours depuis des mois, c’est maintenant chose faite. Vous pouvez donc télécharger un cours sur l’auto-hébergement du mail.
Les sources sont versionnées sous git : Voir la source ou ici.
Ce cours sera donné dans le cadre de la pollinisation du Loop et au moins lors de la prochaine Assemblée Générale de l’April.
Pour suivre ce cours, un certain nombre de pré-requis sont indispensables :
savoir utiliser un shell distant, et en particulier un éditeur de texte dans ce shell ;
disposer d’une machine accessible sur Internet ;
disposer d’un domaine complet (champ MX) ;
un peu de temps et de courage.
Ubuntu Party Paris, c'est parti !
Demain matin à 11h, nous ouvrirons les portes de l’Ubuntu Party pour une nouvelle édition. Le programme de cette édition est en ligne sur le site dédié.
Cette année, je ne serais que responsable technique, en particulier pour les moyens matériels et pour les salles d’installation, en collaboration avec Coucouf et Libfy.
Dimanche à 15h, je vous convie à un atelier de découverte d’OpenStreetMap, animé par Chrisitian d’OpenStreetMap France.
N’hésitez pas non plus à faire un tour sur le stand de l’April.
Bon week-end à tous.
Du pilotage d'une FreeboxV6 depuis le terminal
Quelques soucis de connexions avec Free me poussent à devoir régulièrement redémarrer la Freebox. Celle-ci se trouvant au bout de l’appartement, je me connectais via l’interface web pour redémarrer l’engin. Il ne s’agit pas moins de taper un mot de passe, de regarder le statut et en fonction de celui-ci, de cliquer sur 3 liens différents. Il s’agit d’une tâche hautement automatisable.
J’ai donc commis ce script.
De la migration de Gentoo
L’installation de Gentoo ne pose aucun problème dans un vserver, à part avoir un peu de temps devant soi. La migration des services en elle-même se fait à grand coup de rsync et tout se passe pour le mieux dans le meilleur des mondes. Pour preuve ce blog est désormais servi par la nouvelle machine. Ce week-end, un peu le couteau sous la gorge (enfin, pas tout à fait non plus), je me suis enfin décidé à mettre en place de la colocation de serveur et à déplacer mon installation de Gentoo sur un vserver hébergé par Dedibox.
L’installation de Gentoo ne pose aucun problème dans un vserver, à part avoir un peu de temps devant soi. La migration des services en elle-même se fait à grand coup de rsync et tout se passe pour le mieux dans le meilleur des mondes. Pour preuve ce blog est désormais servi par la nouvelle machine.
De la migration de Gentoo
Ce week-end, un peu le couteau sous la gorge (enfin, pas tout à fait non plus), je me suis enfin décidé à mettre en place de la colocation de serveur et à déplacer mon installation de Gentoo sur un vserver hébergé par Dedibox.
L’installation de Gentoo ne pose aucun problème dans un vserver, à part avoir un peu de temps devant soi. La migration des services en elle-même se fait à grand coup de rsync et tout se passe pour le mieux dans le meilleur des mondes. Pour preuve ce blog est désormais servi par la nouvelle machine.
De l'hébergement de blogs
Ça y’est, j’héberge, sur la même instance dotclear, plusieurs blogs. C’est en fait d’une simplicité déconcertante. J’ai juste du rajouter if ($_SERVER['HTTP_HOST'] == 'blog.thetys-retz.net') {
define('DC_BLOG_ID','default');
}elseif ($_SERVER['HTTP_HOST'] == 'jumel.net') {
define('DC_BLOG_ID','jumel');
}else {
# Define your blog here
define('DC_BLOG_ID','default');
}
au fichier index.php de mon installation. On pourrait faire plus subtil, mais ça me convient.
Ce nouveau blog est désormais disponible via http://jumel.net.
La sécurité, Bugzilla et Debian
Pendant un certain temps, j'ai été l'un des développeurs d'un Logiciel Libre qui s'appelle Bugzilla. Ça reste l'une de mes contributions les plus importants (si ce n'est *la* plus importante) au monde du libre.
Il y a quelques semaines, on m'a signalé sur le canal IRC de Parinux le ticket #638705 de Debian. Celui-ci a été crée par Moritz Muehlenhoff (membre de l'équipe sécurité de Debian) demandant qu'on retire le paquet de bugzilla des dépôts Debian. Il explique dans son ticket que le paquet de Bugzilla que distribue Debian souffre de plusieurs failles de sécurité et que le mainteneur n'a visiblement pas l'intention de publier une version qui les corrige. Alexander Reichle-Schmehl intervient alors dans le ticket pour dire le logiciel a été supprimé dans la base de données.
J'ai informé les développeurs de Bugzilla de cette action (des fois, je me dis qu'il y a de gros problèmes de communication entre les distributions et les projets qu'ils distribuent). Globalement, tout le monde a semblé se réjouir de cette décision. Il y a maintenant plus de chance que les gens qui souhaitent installer Bugzilla sur Debian le fassent à partir des sources fournis par
l'équipe Bugzilla plutôt qu'avec le paquet Debian. Ils auront donc un Bugzilla plus facile à installer (celui-ci de Debian ne marchait que dans certains conditions) et les personnes qui l'utiliseront ne partiront pas du principe que Debian gère pour eux mêmes la sécurité de leur installation.
Le 10 octobre, l'équipe de sécurité a publié le bulletin d'alerte correspondant aux failles de sécurité en question. Malheureusement, on peut y lire la mention suivante "Pour la distribution oldstable (Lenny), il n'était pas pratique de
rétroporter les correctifs pour corriger ces bogues. Nous recommandons très fortement aux utilisateurs de bugzilla sous Lenny de mettre à jour vers la version de la distribution Squeeze.".
C'est dommage. Je vous avoue que, là, Debian baisse dans mon estime.
Du mail sur un système itinérant
Ce billet va tâcher de décrire la configuration de la partie mail de mon laptop, vu comme une machine d’appoint itinérante. En voici le cahier des charges succints :
Des connexions partout sécurisées
De la connection directe quand on est connecté
Du cache quand on n’est pas connecté
Du choix si on désire se connecter
Utiliser le plus possible les mécanismes standard (i.e. pas de VPN ni de tunnel ssh)
Mon laptop est équipé des logiciels distribués par Debian GNU/Linux me permettant d’avoir une confiance assez relative dans les logiciels que je vais utiliser par la suite. Il s’agit bien sûr d’une machine d’appoint utilisée dans des conditions de mobilité et je souhaite que cette machine synchronise automatiquement une partie des mails lorsqu’elle est en ligne et me permette d’envoyer les mails lorsque je suis hors-ligne.
Je passerais rapidement sur l’utilisation de Awesome, urxvt et GNU/Emacs comme outils principaux pour m’arrêter à la solution que j’ai retenu pour la gestion des mails.
J’utilise mutt, en conjonction avec muttprofile pour changer de profile entre mes différentes sessions. Pour cela, il suffit de disposer des directives suivantes :
zsh 1198 % ls -lh .mutt
total 16K
lrwxrwxrwx 1 endymion endymion 32 oct. 13 20:01 profile.active -> profile.endymion_network
-rw-r--r-- 1 endymion endymion 1,8K juil. 24 22:13 profile.endymion
-rw-r--r-- 1 endymion endymion 974 oct. 13 22:23 profile.endymion_network
-rw-r--r-- 1 endymion endymion 1023 juin 27 19:47 profile.vincentxavier
-rw-r--r-- 1 endymion endymion 995 oct. 13 22:23 profile.vincentxavier_network
Un de ces fichiers contient par exemple :
# NAME : imap://endymion@thetys-retz.net
# DESC : This profile display imap mailboxes for endymion@thetys-retz.net account.
source ~/.muttrc.commons
set folder="imap://mail.thetys-retz.net"
source ~/.muttrc.folders
set imap_user="endymion"
set imap_pass=`~/.local/bin/netrc.pl mail.thetys-retz.net endymion`
# Mutt is able to deal with IMAP subscription, just enable it with
# this variable
set imap_check_subscribed="yes"
set imap_list_subscribed="yes"
# Mutt is able to send mail over various method, smtp being one of the
# methods. These setting allows you to customize it. Beware that some
# internet provider block port 25, so be sure to send on some other port.
set smtp_url="smtps://username@mail.thetys-retz.net"
set smtp_pass=`~/.local/bin/netrc.pl mail.thetys-retz.net endymion`
Lorsque je ne suis pas connecté, j’utilise la version suivante :
# NAME : endymion@thetys-retz.net
# DESC : This profile display synchronised folders for endymion@thetys-retz.net account.
source ~/.muttrc.commons
set folder="~/.maildir/endymion@thetys-retz.net/"
source ~/.muttrc.folders
mailboxes =INBOX =Sent =Brouillons =Admin
En ne précisant pas l’adresse du serveur smtp, Mutt va utiliser la version local de sendmail, qui chez moi est fournie par postfix. Et c’est là que l’utilisation de postfix va se révéler intéressante. Voici déjà une copie de ma configuration :
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/postfix/mail.thetys-retz.net.pem
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname = tauceticentral.thetys-retz.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
#myorigin = /etc/mailname
myorigin = thetys-retz.net
mydestination =
relayhost = [mail.thetys-retz.net]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command =
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = all
defer_transports = smtp
Cette configuration permet de stocker tous les messages envoyés au serveur local, via sendmail et de les mettre dans une file d’attente s’il s’agit de les envoyer par smtp. Dès que je suis connecté, il suffit de lancer (manuellement ou autmatiquement) un postqueue -f pour vider la file d’attente. Le relais se fait exclusivement via mon propre serveur de mail via une connexion chiffrée et authentifiée. Pour cela, il ne faut pas oublier le mot de passe SASL :
# destination credentials
[mail.thetys-retz.net]:587 remotemail:password
La configuration du système mail côté client a été jointe à ce billet.
Du côté serveur, il faut créer un utilisateur remotemail, qui servira pour les envois via un relais authentifié. Pour cela, il faut rajouter remotemail@thetys-retz.net reject au fichier /etc/postfix/local_part. Dans la configuration de postfix, il ne faut pas oublier d’ouvrir les protocoles smtps et submission dans /etc/postfix/master.cf sans oublier de rajouter check_recipient_access hash:/etc/postfix/local_part dans smtpd_recipient_restrictions
De l'importance des AGs ou des réunions physiques type sprint
Vendredi et samedi dernier se tenaient à La Cantine une journée de présentation sur OpenStreetMap suivie de l’assemblée générale constitutive de l’association française OpenStreetMap France (OSM-FR). Au delà de la constitution de l’association qui marque un tournant décisif dans la vie de la communauté française de cartographes, ce moment a été l’occasion d’échanger, de découvrir d’autres personnes animées par la même passion et d’échanger sur les sujets qui nous tenaient à cœur. C’est aussi le moment de refaire le plein de motivation pour un projet en particulier.Lire le communiqué portant sur la création
Ajouter un bloc avec une image aléatoire sous Drupal 6 avec CCK
Je vais tâcher ici de décrire les étapes pour ajouter un bloc avec une image aléatoire sous Drupal 6 en n’utilisant que CCK.
Pour cela, il faut, dans l’ordre ou le désordre :
Créer une nouvelle vue de type nœud (node)
Limiter le nombre d’éléments à 1
Rajouter le champ (Field) « Contenu: image »
Mettre comme critère de tri (Sort Criteria) Random
Rajouter les filtres :
Node: Type = Image
Node: Publié
Taxonomie: Term contains 2011 si vous ne souhaitez que les images de 2011
Il faut ensuite rajouter un display de type « Bloc » pour qu’il apparaisse dans les liste des blocs disponibles.
Vous pouvez trouver ce bloc contenant une image aléatoire sur le site de Parinux
Je profite de ce post, pour rappeler qu’une explication texte aussi courte que celle-ci est plus efficace que les tutoriels vidéos qu’on peut trouver sur le net.
Du réseau à l'Ubuntu Party
Ce billet décrit par les différentes étapes qui ont amenés à la
mise en place d’une machine à la cité des sciences et de
l’industrie pour faciliter les install parties régulières ayant
lieu dans leurs locaux. Si vous êtes juste intéressés par les
différents fichiers de configuration, vous pouvez vous rendre
immédiatement à la fin de l’article.
Un des intérêt de la cité des sciences et de l’industrie est que
celle-ci dispose d’un réseau existant et d’un lien de qualité vers
le reste d’Internet. Néanmoins, il ne s’agit que d’un lien de
quelques gigabits qui peut rapidement être saturé, en particulier en
cas d’utilisation intensive, ou si nous sommes basculés sur le lien
de secours. Cette situation est fort peu agréable en particulier
quand nous avons besoin d’accéder régulièrement au réseau
Internet.
Depuis déjà quelques éditions, nous sommes conscient de la
nécessité de disposer d’un réseau maîtrisé. Celle-ci passe par la
gestion de certains éléments, comme l’attribution des adresses IP,
le choix du serveur DNS et ce qui en découle l’utilisation de
miroirs locaux, servis de façon non-intrusive pour l’utilisateur
final.
Gardons en tête ce principe de ne pas impacter la façon
d’installer. Autrement dit, nous n’irons ni modifier les sources de
logiciel, ni modifier l’adresse des serveurs de noms utilisés par la
machine. Ces contraintes imposent donc successivement que les
entrées DNS correspondant aux archives Ubuntu doit pointer vers une
machine locale. Il est donc nécessaire de maîtriser le serveur de
nom. Pour que cela puisse se faire de façon transparente, il existe
une condition supplémentaire : assigner nous même des baux
d’adresses IP et en profiter pour annoncer nous même route et DNS
par défaut. Ceci peut se faire en disposant de notre propre serveur
DHCP. Ceci suppose également de ne pas rentrer en conflit avec
d’autres serveurs, en particulier ceux de la cité des sciences et de
l’industrie. Pour cela, nous disposons de notre propre plage d’IP
sur un vlan dédié.
Rentrons un peu plus dans les détails :
les adresses IP sont attribuées via isc-dhcp-server ; le dns
annoncé est un dns interne à notre vlan ; la passerelle annoncée
permet de « sortir » sur internet ;
les noms de domaines sont résolus en adresses IP par bind,
« mentant » sur la résolution de certains noms,
comme fr.archive.ubuntu.com ;
les archives (et d’autres choses) sont servies par apache.
Lors de la mise en place de cette solution et lors des événements
précédents, nous avons rajouté un certain nombre de service. En
particulier, nous proposons un miroir de téléchargement pour les
images des cédéroms, un service de boot « PXE » ainsi qu’un cache
sur les sites web fortement consultés,
comme doc.ubuntu-fr.org
En guise de note finale, vous trouverez le fichier Makefile de
synchronisation des miroirs, ainsi que les différents fichiers
permettant de dupliquer cette installation pour votre install
party.
Si vous disposez de plusieurs interfaces réseaux, vous pouvez
également utiliser le script de NAT suivant qui nous sert à Parinux
sur notre machine portable, Idia, nommé d’après la précédente (Oups.)
Pour l’instant seuls les fichiers permettant de publier le miroir complet sur le réseau sont présent dans l’archive. Les fichiers feront certainement l’objet d’un billet spécifique.
Lire un flux SSL
Niveau : Résumé : tcpdump ssl ; ptrace ; ltrace Vous attendez la suite de mon article sur ce qui passe par les oreilles d'un android ? Hé bien vous allez attendre encore un peu ... Lorsque vous récupérez via tcpdump un flux SSL (au hasard du https), il est chiffré et c'est justement l'intérêt du SSL de vous [...]
Espionner son android
Niveau : Résumé : tcpdump, wireshark Espionnage Tout le monde le sait, les téléphones nous espionnent. Mais que communiquent-ils ? A qui communiquent-ils ? Que peut-on y faire ? Aujourd'hui nous somme armés d'une vraie distribution GNU. Nous pouvons donc utiliser des vrais outils. # on se connecte sur le téléphone $ ./adb shell # mettez votre debian dans [...]
Une distribution GNU sur android
Niveau : Résumé : debootstrap --foreign ; debian.apk Android is Not GNU Maintenant qu'on est root, on peut faire tout ce qu'on veut sur notre android. Mais il faut bien avouer que busybox est assez limitée pour les habitués des systèmes GNU que nous sommes. C'est pourquoi nous allons mettre un système GNU complet sur notre android. [...]
Sprint admin sys April du week-end du 20 et 21 mai 2011
Une partie des administrateurs systèmes de l’April s’est réunie ce week
end du 22 mai 2011 pour avancer sur un gros projet. En effet, un trop
grosse partie de notre système d’information repose actuellement sur une
machine historique de l’April, mescaline. Il a donc été décidé il y a
fort longtemps de séparer le maximum de services de cette machine, ce
projet est désormais en bonne voie.
En effet depuis la migration Drupal, celui-ci est installé sur une machine distincte. Le reste des services est encore gérés par mescaline (la fameuse machine) sont le mail (outil essentiel de l’activité de l’April), les listes de diffusions et la gestion des adhérents. C’est donc un gros chantier qui nous attends.
Réunis dans une maison de campagne, dans une banlieue lointaine, de l’autre côté du périphérique, benj, theo, Léobaillard, PoluX et moi-même étions présents, dès le matin 10h, heure de Moscou.
Après l’exposé brillant du plan de migration par benj, nous nous sommes attachés à mettre en place la nouvelle infrastructure destinée à accueillir nos mails et nos listes de diffusions. Par consensus approximatif, nous avons opté pour Postfix, dovecot et roundcube pour le mail, spamassassin et amavis pour la gestion des spams, sympa pour la gestion des listes.
Alternant de longues sessions de travail d’environ 3h par des pauses tarots, billard ou barbecue, nous avons tenus jusqu’à dimanche soir 22h, heure de Paris. Nous disposons désormais d’une nouvelle plateforme de mail+listes sur laquelle nous sommes en train de chasser tous les bugs encore existants. Un prochain WE servira à continuer la migration d’un certain nombre d’applications web vers d’autres machines et à continuer la migration du mail vers cette nouvelle plateforme.
