<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gregory Colpart's blog</title>
	<atom:link href="http://gcolpart.evolix.net/blog21/feed/" rel="self" type="application/rss+xml" />
	<link>http://gcolpart.evolix.net/blog21</link>
	<description>Labor omnia vincit improbus</description>
	<lastBuildDate>Sun, 24 Jan 2010 18:05:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Autres exemples de migration Etch-&gt;Lenny [1]</title>
		<link>http://gcolpart.evolix.net/blog21/autres-exemples-de-migration-etch-lenny-1/</link>
		<comments>http://gcolpart.evolix.net/blog21/autres-exemples-de-migration-etch-lenny-1/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 18:05:52 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Debian-fr]]></category>
		<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[migration]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=302</guid>
		<description><![CDATA[La fin du support officiel de Debian Etch approchant, il est grand temps de migrer vers Lenny pour les machines pas encore à jour. Après un premier exemple de migration Debian Etch-&#62;Lenny, je poursuis la série avec des informations tirées de plusieurs migrations récentes sur des serveurs en production.
Je ne rappellerais pas toutes les précautions [...]]]></description>
			<content:encoded><![CDATA[<p>La <a href="http://www.debian.org/News/2010/20100121">fin du support officiel de Debian Etch approchant</a>, il est grand temps de migrer vers Lenny pour les machines pas encore à jour. Après un <a href="http://gcolpart.evolix.net/blog21/un-exemple-de-migration-debian-etch-lenny-0/">premier exemple de migration Debian Etch-&gt;Lenny</a>, je poursuis la série avec des informations tirées de plusieurs migrations récentes sur des serveurs en production.</p>
<p>Je ne rappellerais <strong>pas</strong> toutes les précautions nécessaires (tests préalables, sauvegardes, désactivations des services, etc.) ni la classique question  sur  &#8220;quand faut-il migrer ?&#8221;, vous trouverez tout cela dans <a href="http://gcolpart.evolix.net/blog21/?s=migration+etch">mes exemples précédents</a>. Je rappelle simplement l&#8217;idée de base : prendre les précieuses <a href="http://www.debian.org/releases/stable/releasenotes">Release Notes</a>, mettre à jour le fichier <em>sources.list</em>, puis exécuter les commandes <em>aptitude update &amp;&amp; aptitude upgrade</em>x, puis mettre-à-jour les services les plus critiques via <em>aptitude install &lt;PACKAGE&gt;</em>, et enfin <em>aptitude dist-upgrade &amp;&amp; aptitude dist-upgrade</em> (répéter <em>dist-upgrade</em> est souvent nécessaire).</p>
<p>Passons désormais aux différentes remarques sur ces migrations :</p>
<p>- PostgreSQL : on passe de la version 8.1 à 8.3. Notez qu&#8217;il s&#8217;agit de paquets différents, il est donc possible de garder la version 8.1 en Etch, et d&#8217;installer en parallèle la version 8.3, afin de faciliter encore plus la migration. Pour migrer les données, on réalisera un dump avec <em>pg_dumpall </em>qui sera réinjecté dans la nouvelle base. On pourra ensuite adapter le port dans <em>postgresql.conf</em> pour passer la version 8.3 en production.</p>
<p>- phpPgAdmin : avec PostgreSQL 8.3, on ne peut plus se connecter à la table <em>template1</em> : c&#8217;est le comportement par défaut de phpPgAdmin, qu&#8217;on devra donc modifier en mettant postgres à la place (pour la variable <em>$conf['servers'][0]['defaultdb']</em> dans le fichier <em>config.inc.php</em>)</p>
<p>- Apache : la configuration de l&#8217;alias <em>/icons/</em> est déplacé dans le fichier <em>mods-available/alias.conf</em>, il peut donc faire doublon avec la déclaration dans <em>apache2.conf</em>, ce qui sera signalé via le warning suivant : <em>[warn] The Alias directive in /etc/apache2/apache2.conf at line 240 will probably never match because it overlaps an earlier Alias</em>. Commenter les directives dans le fichier <em>apache2.conf</em> résoudra ce petit soucis.</p>
<p>- OpenLDAP : on passe d&#8217;une version 2.3 à 2.4, mais le plus marquant pour la migration est que cela force le processus à tourner avec un utilisateur/groupe dédié. Pour diverses raisons (<em>dist-upgrade</em> interrompu par exemple), on pourra rencontrer des soucis plus ou moins alarmants. Ainsi, j&#8217;ai pu rencontrer cette erreur :<br />
<em> bdb(dc=example,dc=com): PANIC: fatal region error detected; run recovery<br />
bdb_db_open: database &#8220;dc=example,dc=com&#8221; cannot be opened, err -30978. Restore from backup!<br />
backend_startup_one: bi_db_open failed! (-30978)<br />
slap_startup failed<br />
</em>On veillera donc sur l&#8217;utilisateur/groupe propriétaire des fichiers dans le répertoire <em>/var/lib/ldap</em> et, au besoin, on ajustera : <em>chown -R openldap:openldap /var/lib/ldap/<br />
</em>Mon conseil : mettre-à-jour le paquet <em>slapd</em> de façon spécifique avant le <em>dist-upgrade</em></p>
<p>- Postfix : on passe de 2.3 à 2.5. On notera simplement la valeur par défaut de <em>$smtp_line_length_limit characters</em> qui passe à 990, ce qui coupe les lignes trop longues pour se conformer au standard SMTP. Si cela posait problème, on pourrait revenir à l&#8217;ancien comportement en positionnant <em>smtp_line_length_limit=0</em></p>
<p>- SpamAssassin : l&#8217;utilisant en stockant la configuration des utilisateurs dans un annuaire LDAP, le daemon spamd s&#8217;est mis à râler : <em>cannot use &#8211;ldap-config without -u</em><br />
Le problème sera résolu en ajoutant l&#8217;option <em>-u nobody</em>, ce qui fera tourner spamd en tant que nobody (ce qui n&#8217;est pas une mauvaise chose, au contraire).</p>
<p>- Amavis : apparemment, lors de la détection d&#8217;un virus, le code retourné n&#8217;est plus 2.7.1 mais 2.7.0 : <em>2.7.0 Ok, discarded, id=13735-07 &#8211; VIRUS: Eicar-Test-Signature</em><br />
Rien de bien grave, mais cela a nécessité d&#8217;adapter un plugin Nagios pour qu&#8217;il attende le bon code de retour.</p>
<p>- Courier-imapd-ssl : après une mise-à-jour gardant mon fichier <em>/etc/courier/imapd-ssl</em> actuel, j&#8217;obtenai des erreurs avec certains clients IMAP :<br />
<em> couriertls: accept: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number</em><br />
En regardant de plus près, certaines directives changent dans ce fichier de configuration, et il est donc conseillé de repartir du fichier proposé par Lenny, et d&#8217;y apporter ses modifications (souvent, cela se limite à préciser le certificat).</p>
<p>- Horde : si vous utilisez une base de données pour stocker les paramètres ou autres, la paquet <em>php-db</em> (déjà en Recommends: en Etch) est d&#8217;autant plus nécessaire, sous peine d&#8217;obtenir l&#8217;erreur : <em>PHP Fatal error:  _init() [&lt;a href='function.require'&gt;function.require&lt;/a&gt;]: Failed opening required &#8216;DB.php&#8217; (include_path=&#8217;/usr/share/horde3/lib:.:/usr/share/php:/usr/share/pear&#8217;) in /usr/share/horde3/lib/Horde/DataTree/sql.php on line 1877</em></p>
<p>- Sympa : on attaque là le cauchemard de mes migrations. À chaque fois, tellement de soucis majeurs et mineurs, que j&#8217;ai l&#8217;impression d&#8217;être le seul à utiliser ce paquet. Voici en vrac tous les soucis rencontrés : les accents dans les descriptions ont sautés (une sorte de double encodage) et cela a nécessité des corrections manuelles, la table logs_table doit être créée à la main (j&#8217;utilise Sympa avec PostgreSQL), et enfin une typo surprenante un &#8220;GROUP BY&#8221; à la place d&#8217;un &#8220;ORDER BY&#8221; (j&#8217;ai ouvert le bug <a href="http://bugs.debian.org/566252">#566252</a> à ce sujet).</p>
<p>- Asterisk : on passe de la version 1.2 à la version 1.4. Lors de la migration, j&#8217;ai constaté un bug étrange, le fichier <em>modules.conf </em>qui charge les modules additionnels a disparu. Du coup, sans lui, Asterisk ne charge pas les modules nécessaires (SIP, etc.). Il a donc fallu le restaurer.</p>
<p>- udev : le meilleur ami des sysadmins (ou pas). Si les migrations douloureuses Sarge-&gt;Etch sont loin derrière nous, il reste néanmoins quelques blagues. La dernière en date a été un renommage des interfaces réseau : eth0-&gt;eth1 et eth1-&gt;eth2. Classique mais étonnant, ce genre d&#8217;humour est sensé être dépassé grâce aux &#8220;persistent rules&#8221; qui nomment les interfaces en fonction de l&#8217;adresse MAC. À rester vigilant sur ce point avant le redémarrage donc.</p>
<p>Voilà pour les remarques. Vous noterez que je n&#8217;ai pas abordé le noyau Linux. C&#8217;est parce que pour la majorité de nos serveurs, ils sont gérés de façons spécifiques (au lieu d&#8217;utiliser les noyaux officiels Debian). Ainsi, ils restent dans leur version actuelle (2.6.31 à cette heure) pendant la migration. Bien sûr, cela n&#8217;empêche pas d&#8217;effectuer un redémarrage de la machine suite à la mise-à-jour : cela permet de s&#8217;assurer que tout est bien en place et le sera toujours après un éventuel redémarrage d&#8217;urgence.</p>
<p>Rendez-vous pour de prochaines migrations !</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/autres-exemples-de-migration-etch-lenny-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Quand je serai grand, je serai marseillais&#8221;</title>
		<link>http://gcolpart.evolix.net/blog21/quand-je-serai-grand-je-serai-marseillais/</link>
		<comments>http://gcolpart.evolix.net/blog21/quand-je-serai-grand-je-serai-marseillais/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 00:35:55 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[french]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=291</guid>
		<description><![CDATA[Ca remonte au début des années 1990, et c&#8217;est (forcément) lié à l&#8217;OM. C&#8217;est l&#8217;époque où &#8211; dans ma classe de CM2 de banlieue parisienne &#8211; chacun choisissait un nom d&#8217;un joueur de l&#8217;OM pour jouer au ballon en mousse à la récré (pour la petite histoire, j&#8217;avais &#8220;écupéré &#8220;Dragan Stojkovic&#8221;). Je n&#8217;ai pas raté [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">Ca remonte au début des années 1990, et c&#8217;est (forcément) lié à l&#8217;OM. C&#8217;est l&#8217;époque où &#8211; dans ma classe de CM2 de banlieue parisienne &#8211; chacun choisissait un nom d&#8217;un joueur de l&#8217;OM pour jouer au ballon en mousse à la récré (pour la petite histoire, j&#8217;avais &#8220;écupéré &#8220;Dragan Stojkovic&#8221;). Je n&#8217;ai pas raté beaucoup de match télévisé de l&#8217;OM, que ça soit grâce à un précieux magnétoscope et des réveils à 6h du matin pour voir le match avant l&#8217;école, ou des matchs &#8220;en crypté&#8221; sur Canal Plus avec la radio à côté (je me souviens par exemple du OM-Milan AC de 1991 &#8220;entrevu&#8221; en plissant les yeux pendant 1 heure). Un peu plus tard, la folie de la Coupe d&#8217;Europe 1993 étant passée par là, c&#8217;est plus que l&#8217;OM, c&#8217;est Marseille qui me fascine : Notre-Dame-de-la-Garde, La Canebière, etc. En plus des posters de l&#8217;OM, j&#8217;ai mis dans ma chambre une belle photo du Vieux-Port. A 15 ans, j&#8217;ai enfin l&#8217;occasion d&#8217;aller à Marseille avec mon père, et de me rendre au Stade Vélodrome pour voir OM-Lille. Du virage Nord, j&#8217;assiste à un joli match gagné 5-1, mais surtout à une ambiance bleue et blanc : chants, écharpes, fumingènes, insultes, tout cela me plaît beaucoup. C&#8217;est décidé : &#8220;quand je serai grand, je serai marseillais&#8221;. Alors, quand en 2001 j&#8217;ai l&#8217;occasion d&#8217;aller poursuivre mes études à Marseille, je n&#8217;ai pas trop hésité. Et ne croyez pas que j&#8217;ai été déçu : entre le soleil, la mer, les degrés de température et la douceur de vivre, tout paraît beau quand on le voit avec un regard presque amoureux. On est loin du gris de Paris et des gens qui font la gueule dans les transports en commun. Certes, tout n&#8217;est pas parfait (embouteillages, trottoirs sales, etc.), mais je le prends comme des points à améliorer pour le futur : tout est dans la façon d&#8217;aborder les choses ! Presque 10 ans après mon arrivée, j&#8217;ai désormais pas mal d&#8217;attaches dans le port de Marseille : mes enfants y sont nés à Marseille, j&#8217;ai créé une boîte bien implantée sur la région, etc. Je suis toujours aussi fier d&#8217;écrire &#8220;Marseille&#8221; sur mes adresses postales, heureux de voir le ciel bleu à mon réveil, de me ballader sur le Vieux-Port, de rouler sur la Corniche, d&#8217;aller au Stade Vélodrome. Mon rêve de minot s&#8217;est réalisé. Mais j&#8217;en ai encore plein.</div>
<p><img class="alignright" title="Marseille" src="http://gcolpart.evolix.net/pics/marseille.jpg" alt="" width="300" height="184" />Ça remonte au début des années 1990, et c&#8217;est (forcément) lié à l&#8217;OM. C&#8217;est l&#8217;époque où &#8211; dans ma classe de CM2 de banlieue parisienne &#8211; chacun choisissait un nom d&#8217;un joueur de l&#8217;OM pour jouer au ballon en mousse à la récré (pour la petite histoire, j&#8217;avais récupéré &#8220;Dragan Stojkovic&#8221;). Je n&#8217;ai pas raté beaucoup de match télévisé de l&#8217;OM, que ça soit grâce à un précieux magnétoscope et des réveils à 6h du matin pour voir le match avant l&#8217;école, ou des matchs &#8220;en crypté&#8221; sur Canal Plus avec la radio à côté (je me souviens par exemple du OM-Milan AC de 1991 &#8220;entrevu&#8221; en plissant les yeux pendant 1 heure). Un peu plus tard, la folie de la Coupe d&#8217;Europe 1993 étant passée par là, c&#8217;est plus que l&#8217;OM, c&#8217;est Marseille qui me fascine : Notre-Dame-de-la-Garde, La Canebière, etc. En plus des posters de l&#8217;OM, j&#8217;ai mis dans ma chambre une belle photo du Vieux-Port. A 15 ans, j&#8217;ai enfin l&#8217;occasion d&#8217;aller à Marseille avec mon père, et de me rendre au Stade Vélodrome pour voir OM-Lille. Du virage Nord, j&#8217;assiste à un joli match gagné 5-1, mais surtout à une ambiance bleue et blanc : chants, écharpes, fumigènes, insultes, tout cela me plaît beaucoup. C&#8217;est décidé : &#8220;quand je serai grand, je serai marseillais&#8221;. Alors, quand en 2001 j&#8217;ai l&#8217;occasion d&#8217;aller poursuivre mes études à Marseille, je n&#8217;ai pas trop hésité. Et ne croyez pas que j&#8217;ai été déçu : entre le soleil, la mer, les degrés de température et la douceur de vivre, tout paraît beau quand on le voit avec un regard presque amoureux. On est loin du gris de Paris et des gens qui font la gueule dans les transports en commun. Certes, tout n&#8217;est pas parfait (embouteillages, trottoirs sales, etc.), mais je le prends comme des points à améliorer pour le futur : tout est dans la façon d&#8217;aborder les choses ! Presque 10 ans après mon arrivée, j&#8217;ai désormais pas mal d&#8217;attaches dans le port de Marseille : mes enfants sont nés à Marseille, j&#8217;ai créé une boîte bien implantée sur la région marseillaise, etc. Bref, je suis toujours aussi fier d&#8217;écrire &#8220;Marseille&#8221; sur mes adresses postales, heureux de voir le ciel bleu à mon réveil, de passer sur le Vieux-Port, de rouler sur la Corniche, d&#8217;aller au Stade Vélodrome. Marseillais d&#8217;adoption mais fier de l&#8217;être ! Mon rêve de minot s&#8217;est réalisé&#8230; mais ne vous inquiétez pas, j&#8217;en ai encore plein d&#8217;autres (qui a dit trop ?).</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/quand-je-serai-grand-je-serai-marseillais/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Organisation technique du développement web</title>
		<link>http://gcolpart.evolix.net/blog21/organisation-technique-du-developpement-web/</link>
		<comments>http://gcolpart.evolix.net/blog21/organisation-technique-du-developpement-web/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 01:19:49 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[framwork]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=287</guid>
		<description><![CDATA[À l&#8217;occasion d&#8217;un petit déjeuner organisé par Evolix, en partenariat avec Libertis, la région PACA, le Prides SCS et le FEDER, dans les locaux de Marseille Innovation au Pôle Média Belle de Mai (oui, c&#8217;est un peu long mais je me dois de citer tous les partenaires), j&#8217;ai pu animer une présentation sur l&#8217;organisation technique [...]]]></description>
			<content:encoded><![CDATA[<p>À l&#8217;occasion d&#8217;un petit déjeuner organisé par <a href="http://www.evolix.fr/">Evolix</a>, en partenariat avec <a href="http://www.libertis.org/">Libertis</a>, la <a href="http://www.regionpaca.fr/">région PACA</a>, le <a href="http://www.pole-scs.org/">Prides SCS</a> et le <a href="http://www.europe-en-paca.eu/">FEDER</a>, dans les locaux de <a href="http://www.marseille-innov.org/">Marseille Innovation</a> au <a href="http://www.belledemai.com/">Pôle Média Belle de Mai </a>(oui, c&#8217;est un peu long mais je me dois de citer tous les partenaires), j&#8217;ai pu animer une présentation sur l&#8217;organisation technique du développement web. Vous pouvez télécharger les <a href="http://sdubois.evolix.net/data/petit-dejeuner-dev-web-evolix.pdf">slides de la présentation (format PDF, 2.2 Mo)</a>.</p>
<p>Cette présentation a permis de faire un point sur les différentes organisations en place dans des sociétés clientes ou proches d&#8217;Evolix. Je remercie d&#8217;ailleurs les responsables techniques qui ont répondu à mes questions ces derniers jours. Globalement, il se dégage une forte tendance à l&#8217;utilisation d&#8217;Eclipse comme IDE, que ça soit pour les projets en Java ou PHP. Au niveau SCM, on retrouve CVS et majoritairement SVN, avec une gestion des branches plus ou moins avancée. En terme de bugracker, c&#8217;est assez divers : Trac, Mantis ou Bugzilla. Pour le développement, c&#8217;est souvent <em>http://localhost</em> qui est utilisé. Une mise en préproduction est ensuite effectuée, puis une bascule en production, à l&#8217;aide de scripts personnalisés s&#8217;appuyant sur le SCM. En terme de méthodes, plusieurs sociétés utilisent des méthodes agiles (tests unitaires, sprints, etc.) de façon plus ou moins avancées. En général, l&#8217;organisation en place est informelle et reprend les bonnes idées adaptées à son projet. Les benchmarks et tests de performance sont plutôt effectués dans une seconde phase (en préproduction voire en production), sauf dans certains cas où ils sont intégrés aux tests unitaires (ce qui est une très bonne pratique). Enfin, en terme de framework, on distingue deux tendances : l&#8217;exploitation d&#8217;un framework existant et reconnu, ou l&#8217;utilisation d&#8217;un framework développé en interne.</p>
<p>Bien évidemment, ce petit inventaire n&#8217;a pas la prétention d&#8217;être exhaustif ou de définir une organisation idéale. C&#8217;est plutôt un passage en revue de bonnes pratiques, permettant de les découvrir &#8230; ou de s&#8217;assurer qu&#8217;on ne passe pas à côté de certains outils.</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/organisation-technique-du-developpement-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mise-à-jour Wordpress et sécurisation basique</title>
		<link>http://gcolpart.evolix.net/blog21/mise-a-jour-wordpress-et-securisation-basique/</link>
		<comments>http://gcolpart.evolix.net/blog21/mise-a-jour-wordpress-et-securisation-basique/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 01:13:50 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=280</guid>
		<description><![CDATA[Une faille de sécurité sur le logiciel Wordpress permet de réinitialiser le mot de passe d&#8217;un utilisateur connu (admin par exemple&#8230;). Cela consiste à faire une requête du type http://SERVERNAME/wp-login.php?action=rp&#38;key[]= (soumettre une key[] vide permet apparemment de rendre inutile la vérification par mail). Il est donc conseillé de mettre à jour Wordpress en version 2.8.4 [...]]]></description>
			<content:encoded><![CDATA[<p>Une faille de sécurité sur le logiciel <a href="http://www.wordpress.org/">Wordpress</a> permet de réinitialiser le mot de passe d&#8217;un utilisateur connu (<em>admin</em> par exemple&#8230;). Cela consiste à faire une requête du type <em>http://SERVERNAME/wp-login.php?action=rp&amp;key[]=</em> (soumettre une <em>key[]</em> vide permet apparemment de rendre inutile la vérification par mail). Il est donc conseillé de mettre à jour Wordpress en version 2.8.4 (voici le <a href="http://gcolpart.evolix.net/docs/wordpress-2.8.3_2.8.4.patch">patch pour passer de la version 2.8.3 à 2.8.4</a>).</p>
<p>J&#8217;en profite pour rappeler quelques notions basiques pour sécuriser une installation d&#8217;un logiciel PHP, surtout quand il est très répandu : si possible, limiter les accès aux parties backoffice via Apache (restriction par adresses IP et/ou authentification HTTP), utiliser des identifiants originaux (pas forcément <em>admin</em>&#8230;), des mots de passes complexes, éviter les modules/plugins non fiables, suivre les notifications de mises-à-jour et les appliquer rapidement (cela implique de limiter les modifications intrusives empêchant des futures mises-à-jour, ou du moins les préparer sous forme de patch pour les ré-appliquer très rapidement), etc. Pour le premier point, voici un exemple de sécurisation de Wordpress via Apache :</p>
<pre>&lt;LocationMatch "^/wordpress/wp-(admin|login)"&gt;
Deny from all
Allow from YOUR_IP
&lt;/LocationMatch&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/mise-a-jour-wordpress-et-securisation-basique/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SFR Huawei 3G+ USB key with Debian</title>
		<link>http://gcolpart.evolix.net/blog21/sfr-huawei-3g-usb-key-with-debian/</link>
		<comments>http://gcolpart.evolix.net/blog21/sfr-huawei-3g-usb-key-with-debian/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 23:20:28 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[huawei]]></category>
		<category><![CDATA[SFR]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=273</guid>
		<description><![CDATA[After Orange GPRS with Nokia 6630 and SFR GPRS with Nokia E65, I use now mainly Huawei 3G+ USB key with SFR (french mobile phone provider).
lsusb info about this Huawei 3G+ USB key:
Bus 003 Device 003: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem
And dmesg info:
[208765.818448] option 3-1:1.0: GSM modem [...]]]></description>
			<content:encoded><![CDATA[<p>After <a href="http://gcolpart.evolix.net/blog21/orange-gprs-with-debian/">Orange GPRS with Nokia 6630</a> and <a href="http://gcolpart.evolix.net/blog21/sfr-gprs-with-debian/">SFR GPRS with Nokia E65</a>, I use now mainly Huawei 3G+ USB key with SFR (french mobile phone provider).</p>
<p>lsusb info about this Huawei 3G+ USB key:</p>
<pre>Bus 003 Device 003: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem</pre>
<p>And dmesg info:</p>
<pre>[208765.818448] option 3-1:1.0: GSM modem (1-port) converter detected
[208765.818448] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB3
[208765.830451] usb-storage: probe of 3-1:1.1 failed with error -5
[208765.830451] option 3-1:1.1: GSM modem (1-port) converter detected
[208765.830451] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB4
[208765.830502] scsi12 : SCSI emulation for USB Mass Storage devices
[208765.834458] usb 3-1: New USB device found, idVendor=12d1, idProduct=1003
[208765.834458] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[208765.834458] usb 3-1: Product: HUAWEI Mobile
[208765.834458] usb 3-1: Manufacturer: HUAWEI Technologies
[208765.834458] usb-storage: device found at 3
[208765.834458] usb-storage: waiting for device to settle before scanning
[208770.863868] usb-storage: device scan complete
[208770.866850] scsi 12:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[208770.887881] sr0: scsi-1 drive
[208770.887881] sr 12:0:0:0: Attached scsi CD-ROM sr0
[208770.887881] sr 12:0:0:0: Attached scsi generic sg1 type 5</pre>
<p>For connecting, I tried an infamous GUI distributed by Vodafone in Debian package. Too buggy, too complex. The best solution is using a PPP chatscript.</p>
<p>Then, plug USB key, sleep 20 and unlock it:</p>
<pre>echo 'at+cpin="1234"' &gt; /dev/ttyUSB3</pre>
<p>Note: 1234 is PIN code (or not) and /dev/ttyUSB3 is modem device.</p>
<p>Create these 2 files:</p>
<p><em>/etc/ppp/peers/gprs</em>:</p>
<pre>noauth
debug
nodetach
connect "/usr/sbin/chat -v -f /etc/ppp/peers/huawei-e220.chat"
/dev/ttyUSB3
230400
crtscts
defaultroute
noipdefault
user ignored
remotename whatever
ipparam whatever
usepeerdns</pre>
<p><em>/etc/ppp/peers/huawei-e220.chat</em>:</p>
<pre># Chat file for Huawei E220 HSDPA USB modem
ABORT BUSY ABORT 'NO CARRIER' ABORT 'NO ANSWER' ABORT DELAYED
'' AT
OK ATZ
OK 'ATQ0 V1 E1 S0=0 &amp;C1 &amp;D2 +FCLASS=0'
OK 'AT+CGDCONT=1,"IP","websfr"'
OK ATDT*99***1#
CONNECT ""</pre>
<p>Finally you can:</p>
<pre>pppd call gprs</pre>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/sfr-huawei-3g-usb-key-with-debian/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>JCE non limitées sous Debian</title>
		<link>http://gcolpart.evolix.net/blog21/jce-non-limitees-sous-debian/</link>
		<comments>http://gcolpart.evolix.net/blog21/jce-non-limitees-sous-debian/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 21:45:56 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Debian-fr]]></category>
		<category><![CDATA[Evolix]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jce]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=268</guid>
		<description><![CDATA[Les packages Debian de Java n&#8217;intègrent pas de mécanisme pour faciliter l&#8217;utilisation des versions non limitées des JCE (Java Cryptography Extension), utiles pour avoir des fonctions de chiffrement dites « fortes » (#466675). L&#8217;idée est de créer des diversions locales pour conserver les versions non limitées, même en cas de mise-à-jour :

# dpkg-divert --divert /usr/share/doc/sun-java6-jre/US_export_policy.jar.ori [...]]]></description>
			<content:encoded><![CDATA[<p>Les packages Debian de Java n&#8217;intègrent pas de mécanisme pour faciliter l&#8217;utilisation des versions non limitées des JCE (<em>Java Cryptography Extension</em>), utiles pour avoir des fonctions de chiffrement dites « fortes » (<a href="http://bugs.debian.org/466675">#466675</a>). L&#8217;idée est de créer des diversions locales pour conserver les versions non limitées, même en cas de mise-à-jour :</p>
<pre>
# dpkg-divert --divert /usr/share/doc/sun-java6-jre/US_export_policy.jar.ori \
 --rename /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/US_export_policy.jar
Adding `local diversion of /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/US_export_policy.jar
 to /usr/share/doc/sun-java6-jre/US_export_policy.jar.ori'
# dpkg-divert --divert /usr/share/doc/sun-java6-jre/local_policy.jar.ori \
--rename /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/local_policy.jar
Adding `local diversion of /usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/security/local_policy.jar
to /usr/share/doc/sun-java6-jre/local_policy.jar.ori'
</pre>
<p>Attention, bien garder à l&#8217;esprit que si une faille de sécurité survient, il faudra mettre à jour manuellement ces fichiers.</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/jce-non-limitees-sous-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sauvegarde de mes flux RSS préférés via Google Reader</title>
		<link>http://gcolpart.evolix.net/blog21/sauvegarde-de-mes-flux-rss-preferes-via-google-reader/</link>
		<comments>http://gcolpart.evolix.net/blog21/sauvegarde-de-mes-flux-rss-preferes-via-google-reader/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 13:30:54 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[french]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[google reader]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=261</guid>
		<description><![CDATA[Utilisateur de Google Reader pour lire mes flux RSS préférés, il était impératif pour moi de sauvegarder cette fameuse liste de flux RSS. C&#8217;est chose faite grâce à ce petit script inspiré à 99.9% du blog de Martin Catty :
#!/bin/sh
GLOGIN=&#60;login&#62;
GPASS=&#60;pass&#62;
DATE=$(date +%Y-%m-%d)
GSTORE=&#60;path&#62;/backup/google-reader-$DATE.xml
umask 077
/usr/bin/wget -q "https://www.google.com/accounts/LoginAuth" \
 --post-data="PersistentCookie=1&#38;Email=$GLOGIN&#38;Passwd=$GPASS" \
 --no-check-certificate --save-cookies="/tmp/gcookie" --output-document=/dev/null
/usr/bin/wget -q "http://www.google.com/reader/subscriptions/export" \
 --no-check-certificate --load-cookies="/tmp/gcookie" [...]]]></description>
			<content:encoded><![CDATA[<p>Utilisateur de <em>Google Reader</em> pour lire mes flux RSS préférés, il était impératif pour moi de sauvegarder cette fameuse liste de flux RSS. C&#8217;est chose faite grâce à ce petit script <a href="http://blog.noremember.org/index.php?post/2008/06/12/Acceder-a-du-contenu-authentifie-en-2-lignes-de-shell">inspiré à 99.9% du blog de Martin Catty</a> :</p>
<pre>#!/bin/sh
GLOGIN=&lt;login&gt;
GPASS=&lt;pass&gt;
DATE=$(date +%Y-%m-%d)
GSTORE=&lt;path&gt;/backup/google-reader-$DATE.xml
umask 077
/usr/bin/wget -q "https://www.google.com/accounts/LoginAuth" \
 --post-data="PersistentCookie=1&amp;Email=$GLOGIN&amp;Passwd=$GPASS" \
 --no-check-certificate --save-cookies="/tmp/gcookie" --output-document=/dev/null
/usr/bin/wget -q "http://www.google.com/reader/subscriptions/export" \
 --no-check-certificate --load-cookies="/tmp/gcookie" --output-document="$GSTORE"
/bin/rm /tmp/gcookie</pre>
<p>Il ne reste plus qu&#8217;à le placer en crontab, par exemple de façon hebdomadaire, et le tour est joué. Notez bien que ce script nécessite votre identifiant et votre mot de passe Google : à utiliser avec les précautions d&#8217;usage !</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/sauvegarde-de-mes-flux-rss-preferes-via-google-reader/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New GPG key</title>
		<link>http://gcolpart.evolix.net/blog21/new-gpg-key/</link>
		<comments>http://gcolpart.evolix.net/blog21/new-gpg-key/#comments</comments>
		<pubDate>Mon, 11 May 2009 01:27:38 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[gpg]]></category>
		<category><![CDATA[migration]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=256</guid>
		<description><![CDATA[With last attacks against SHA-1 digest algo, I create a new GPG key (following instructions from Daniel Kahn Gillmor):
pub   4096R/B8612B5D 2009-05-10
uid                  Gregory Colpart &#60;reg@gcolpart.com&#62;
uid                  Gregory Colpart (Evolix) &#60;reg@evolix.fr&#62;
uid                  Gregory Colpart &#60;reg@debian.org&#62;
sub   4096R/7D40310B 2009-05-11
A good excuse for beer^Wkey exchange next weeks :-)
]]></description>
			<content:encoded><![CDATA[<p>With last attacks against SHA-1 digest algo, I create a new GPG key (following <a href="http://www.debian-administration.org/users/dkg/weblog/48">instructions from Daniel Kahn Gillmor</a>):</p>
<pre>pub   4096R/B8612B5D 2009-05-10
uid                  Gregory Colpart &lt;reg@gcolpart.com&gt;
uid                  Gregory Colpart (Evolix) &lt;reg@evolix.fr&gt;
uid                  Gregory Colpart &lt;reg@debian.org&gt;
sub   4096R/7D40310B 2009-05-11</pre>
<p>A good excuse for beer^Wkey exchange next weeks :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/new-gpg-key/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fichier special /dev/megaraid0 pour les noyaux Linux récents</title>
		<link>http://gcolpart.evolix.net/blog21/fichier-special-devmegaraid0-pour-les-noyaux-linux-recents/</link>
		<comments>http://gcolpart.evolix.net/blog21/fichier-special-devmegaraid0-pour-les-noyaux-linux-recents/#comments</comments>
		<pubDate>Sun, 10 May 2009 16:11:21 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Evolix]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[megaraid]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[scsi]]></category>
		<category><![CDATA[udev]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=252</guid>
		<description><![CDATA[En février 2008, la gestion du fichier spécial pour le management des cartes SCSI Megaraid (en général, /dev/megaraid0) a changé dans le noyau Linux. Auparavant, on notait la présence de megadev dans /proc/devices, car un numéro majeur (et dynamique) de périphérique lui était attribué. Les différents scripts utilisaient donc des scripts ressemblant à :
MAJOR=`grep megadev [...]]]></description>
			<content:encoded><![CDATA[<p>En février 2008, la gestion du fichier spécial pour le management des cartes SCSI Megaraid (en général, <em>/dev/megaraid0</em>) a <a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90a95af85f22c82f87e5fb714bac7ee06673b0ff">changé dans le noyau Linux</a>. Auparavant, on notait la présence de <em>megadev</em> dans <em>/proc/devices</em>, car un numéro majeur (et dynamique) de périphérique lui était attribué. Les différents scripts utilisaient donc des scripts ressemblant à :</p>
<pre>MAJOR=`grep megadev /proc/devices|awk '{print $1}'`
mknod /dev/megadev0  c $MAJOR 0</pre>
<p>Mais un numéro majeur ne semblait pas utile, car seul un fichier spécial est nécessaire (même avec plusieurs cartes Megaraid) et le numéro mineur n&#8217;était jamais utilisé. Cela a donc changé à partir du noyau Linux 2.6.25, et c&#8217;est désormais un numéro mineur (et dynamique) et un numéro majeur correspondant à <em>misc</em> qui définit le périphérique <em>/dev/megaraid0</em>. On retrouve ainsi des bugreports chez <a href="http://bugs.debian.org/399783">Debian (#399783)</a> et <a href="http://bugs.gentoo.org/233295">Gentoo (#233295)</a> à propos de ce changement.</p>
<p>Concrètement, ce matin lors d&#8217;une mise-à-jour d&#8217;un noyau Linux de 2.6.21 en 2.6.28, le fichier spécial <em>/dev/megaraid0</em> avec les numéros majeur/mineur 253/0 n&#8217;était plus utilisable par les outils de management du RAID. La suppression de ce fichier et l&#8217;installation d&#8217;<a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html">udev</a> a permis de retrouver un <em>/dev/megaraid0</em> fonctionnel.</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/fichier-special-devmegaraid0-pour-les-noyaux-linux-recents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Driver bnx2 du noyau Lenny et carte Broadcom NetXtreme II</title>
		<link>http://gcolpart.evolix.net/blog21/driver-bnx2-du-noyau-lenny-et-carte-broadcom-netxtreme-ii/</link>
		<comments>http://gcolpart.evolix.net/blog21/driver-bnx2-du-noyau-lenny-et-carte-broadcom-netxtreme-ii/#comments</comments>
		<pubDate>Fri, 08 May 2009 21:38:24 +0000</pubDate>
		<dc:creator>Gregory Colpart</dc:creator>
				<category><![CDATA[Debian-fr]]></category>
		<category><![CDATA[Evolix]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[french]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[etch]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[lenny]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[migration]]></category>

		<guid isPermaLink="false">http://gcolpart.evolix.net/blog21/?p=245</guid>
		<description><![CDATA[Le driver bnx2 du noyau Linux 2.6.26 de Debian Lenny (et du 2.6.24 d&#8217;half-and-etch) nécessite un firmware pour fonctionner avec les cartes réseau Broadcom NetXtreme II (présentes par exemple sur les serveurs DELL PowerEdge 1950/2950), au contraire du noyau Linux 2.6.18 de Debian Etch. Lors de la mise-à-jour vers l&#8217;un de ces noyaux, il faut [...]]]></description>
			<content:encoded><![CDATA[<p>Le driver <em>bnx2</em> du noyau Linux 2.6.26 de Debian Lenny (et du 2.6.24 d&#8217;<a href="http://www.debian.org/releases/etch/etchnhalf">half-and-etch</a>) nécessite un firmware pour fonctionner avec les cartes réseau Broadcom NetXtreme II (présentes par exemple sur les serveurs DELL PowerEdge 1950/2950), au contraire du noyau Linux 2.6.18 de Debian Etch. Lors de la mise-à-jour vers l&#8217;un de ces noyaux, il faut donc installer le paquet <a href="http://packages.debian.org/firmware-bnx2">firmware-bnx2</a> (section non-free) et s&#8217;assurer de mettre à jour les images initramfs (<em>update-initramfs -u -k all</em>).</p>
]]></content:encoded>
			<wfw:commentRss>http://gcolpart.evolix.net/blog21/driver-bnx2-du-noyau-lenny-et-carte-broadcom-netxtreme-ii/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
