<?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>stephbul</title>
	<atom:link href="http://www.bulot.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bulot.org</link>
	<description></description>
	<lastBuildDate>Wed, 18 Jan 2012 08:47:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Vtiger / Asterisk</title>
		<link>http://www.bulot.org/vtiger-asterisk/</link>
		<comments>http://www.bulot.org/vtiger-asterisk/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 08:44:12 +0000</pubDate>
		<dc:creator>stephbul</dc:creator>
				<category><![CDATA[asterisk]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[Asterisk]]></category>
		<category><![CDATA[context]]></category>
		<category><![CDATA[dialplan]]></category>
		<category><![CDATA[vtiger]]></category>

		<guid isPermaLink="false">http://www.bulot.org/?p=194</guid>
		<description><![CDATA[Comment configurer Asterisk pour pouvoir utiliser le module Asterisk de vtiger, le CRM open-source? Tout d&#8217;abord, il faut savoir que vtiger dans sa version 5.1 actuellement stable, utilise les contextes asterisk de façon statique! Par conséquent, il faut soit modifier &#8230; <a href="http://www.bulot.org/vtiger-asterisk/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Comment configurer Asterisk pour pouvoir utiliser le module Asterisk de vtiger, le CRM open-source?</p>
<p>Tout d&#8217;abord, il faut savoir que vtiger dans sa version 5.1 actuellement stable, utilise les contextes asterisk de façon statique! Par conséquent, il faut soit modifier les sources de vtiger, soit utiliser les mêmes contextes que vtiger. Cette dernière solution est plus simple.</p>
<p>Dans asterisk, ajouter un utilisateur pour vtiger:</p>
<pre>
[monuser]
secret=lemotdepassedemonuser
deny=0.0.0.0/0.0.0.0
permit=IPDEVTIGER/255.255.255.0
read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
write = system,call,agent,user,config,command,reporting,originate
</pre>
<p>Attention, la doc de vtiger ne donne pas le même champs read et cela n&#8217;est pas fonctionnel avec Asterisk 1.6.</p>
<p>Cet utilisateur, l&#8217;adresse et le port du serveur Asterisk doivent être aussi configurés, dans vtiger dans le gestionnaire de modules. Par ailleurs, pour chaque utilisateur vtiger, il faut configurer l&#8217;extension asterisk utilisé pour cet utilisateur. Ainsi, quand il clickera sur un numéro dans vtiger, un appel sera lancé entre son poste et celui de son client. Très pratique!</p>
<p>Dans votre dialplan asterisk (décrit dans extensions.conf), il faut utiliser le contexte &#8220;from-internal&#8221; pour passer les appels en click2call.</p>
<p>En tant que directeur technique de la société <a href="http://www.altern-it.fr">Altern-IT</a>, vous pouvez me <a href="http://www.altern-it.fr/contact/">contacter pour avoir plus d&#8217;informations</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bulot.org/vtiger-asterisk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Replication facile de base mysql master/slave</title>
		<link>http://www.bulot.org/replication-facile-de-base-mysql-masterslave/</link>
		<comments>http://www.bulot.org/replication-facile-de-base-mysql-masterslave/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 08:08:38 +0000</pubDate>
		<dc:creator>stephbul</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[base de données]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[master]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[slave]]></category>

		<guid isPermaLink="false">http://www.bulot.org/?p=181</guid>
		<description><![CDATA[Comment effectuer simplement une réplication de base mysql master/slave? Quelques règles vont vous permettre d&#8217;atteindre l&#8217;objectif visé. Dans la configuration des deux serveurs, tout d&#8217;abord, il faut avoir les mêmes fichiers de configuration my.cnf, à une différence près: dans la &#8230; <a href="http://www.bulot.org/replication-facile-de-base-mysql-masterslave/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Comment effectuer simplement une réplication de base mysql master/slave? Quelques règles vont vous permettre d&#8217;atteindre l&#8217;objectif visé.</p>
<p>Dans la configuration des deux serveurs, tout d&#8217;abord, il faut avoir les mêmes fichiers de configuration my.cnf, à une différence près: dans la section mysqld, il faut un champs server_id, qui soit un entier, différents sur le master et le slave. Si vous avez plusieurs slave, ce champs doit aussi être différent d&#8217;un slave à l&#8217;autre.<br />
Il faut aussi avoir activer les logs binaires afin de rejouer les opérations faites sur le master sur le slave<br />
Par exemple, sur le master:<br />
<code><br />
[mysqld]<br />
log-bin=mysql-bin<br />
server_id=1<br />
</code><br />
Et sur le slave:<br />
<code><br />
[mysqld]<br />
log-bin=mysql-bin<br />
server_id=2<br />
</code><br />
Attention, il faut bien entendu que les process mysql écoutent sur le réseau ce qui n&#8217;est pas le cas par défaut&#8230;</p>
<p>On démarre les deux process mysql. Sur debian, par exemple:<br />
<code><br />
/etc/init.d/mysql start<br />
</code></p>
<p>Si ce sont de nouvelles machines, avec une ancienne base, on importe le dump de la base. Attention, il faut avoir fait le dump de la base uniquement à répliquer, pas le dump de toutes les bases, car sinon au moment de l&#8217;import, vous allez écraser votre base mysql, ce qui pourrait être fâcheux.</p>
<p>La commande est la suivante, à passer sur le master et le slave.<br />
<code><br />
mysql -uadmin -p < dump.sql<br />
</code></p>
<p>Dans le master, au moins, il faut créer un utilisateur qui va avoir le droit de se connecter, avec les droits de réplication, et les droits de réplication uniquement:<br />
<code><br />
mysql> CREATE USER 'repluser'@'slave.example.com' IDENTIFIED BY 'replpassword';<br />
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'slave.example.com';<br />
</code><br />
où slave.example.com est le hostname (fqdn) du slave.<br />
Je conseille de faire l'opération symétrique dans le slave afin de pouvoir inverser les rôles plus aisément.</p>
<p>Afin de synchroniser les opérations en master et slave, il faut interrompre les opérations d'écriture quelques instants sur le master, afin de connaître la position du master dans les logs binaires:<br />
<code><br />
mysql> FLUSH TABLES WITH READ LOCK;<br />
</code><br />
Puis on passe la commande qui indique cette position:<br />
<code><br />
mysql> SHOW MASTER STATUS;<br />
</code><br />
Cette commande donne un fichier de log en cours et une position. Noter ce résultat à garder précieusement. Attention à ne pas sortir de la session mysql, pour ne pas lever le lock tant que la réplication n'est pas en service côté slave</p>
<p>Démarrons la réplication sur le slave...<br />
Il faut d'abord s'assurer qu'elle n'est pas déjà en cours:<br />
<code><br />
mysql> STOP SLAVE;<br />
</code></p>
<p>Et configurons la replication avec les informations serveurs (user défini plus haut, fichiers de log en cours, et position) et la commande  "CHANGE MASTER":<br />
<code><br />
mysql> CHANGE MASTER TO MASTER_HOST='master.example.com', MASTER_USER='repluser', MASTER_PASSWORD='replpassword', MASTER_PORT=3306, MASTER_LOG_FILE="mysql-bin.000001", MASTER_LOG_POS=106;<br />
mysql> START SLAVE;<br />
</code><br />
où master_log_file et master_log_pos sont les résultats de la commande show master status.</p>
<p>La réplication est maintenant en oeuvre.<br />
Sur le master, vous pouvez sortir de votre session mysql, ou passer la commande:<br />
<code><br />
mysql> unlock tables;<br />
</code></p>
<p>N'oubliez pas de faire des tests d'insertion et de suppresion de donnée pour vérifier que cela fonctionne.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bulot.org/replication-facile-de-base-mysql-masterslave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mettre à jour ses machines debian</title>
		<link>http://www.bulot.org/mettre-a-jour-ces-machines-debian/</link>
		<comments>http://www.bulot.org/mettre-a-jour-ces-machines-debian/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 07:33:06 +0000</pubDate>
		<dc:creator>stephbul</dc:creator>
				<category><![CDATA[admin]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mises à jour]]></category>

		<guid isPermaLink="false">http://www.bulot.org/?p=176</guid>
		<description><![CDATA[Hello, Je ne connaissais pas mais un moyen simple de mettre à jour l&#8217;ensemble un parc de debian est d&#8217;utiliser apt-dater! C&#8217;est très simple, il suffit d&#8217;installer apt-dater, sur la machine depuis laquelle vous souhaitez faire une mise à jour &#8230; <a href="http://www.bulot.org/mettre-a-jour-ces-machines-debian/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hello,</p>
<p>Je ne connaissais pas mais un moyen simple de mettre à jour l&#8217;ensemble un parc de debian est d&#8217;utiliser apt-dater! C&#8217;est très simple, il suffit d&#8217;installer apt-dater, sur la machine depuis laquelle vous souhaitez faire une mise à jour de votre parc et apt-dater-host, sur chacune des machines du parc.</p>
<p>Les pré-requis:<br />
-Sur votre machine de contrôle , avoir un utilisateur (non root) qui a un accès ssh par clé sans passphrase sur chacune des machines.<br />
-Sur vos machines à updater, avoir un utilisateur (non root) qui soit sudoer, sans passowrd au moins sur aptitude ou apt-get</p>
<p>Comment cela fonctionne-t-il?<br />
Il n&#8217;y a pas de configuration à faire sur les machines à mettre à jour. Sur la machine de contrôle, il faut aller dans le fichier $HOME/.config/apt-dater/hosts.conf pour ajouter l&#8217;ensemble des machines que vous souhaitez mettre à jour (user@hostname).</p>
<p>Ensuite, la commande apt-dater sur la machine de contrôle et hop, c&#8217;est parti!</p>
<p>Merci à <a href="http://korben.info">Korben</a> pour l&#8217;info</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bulot.org/mettre-a-jour-ces-machines-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Héberger un wordpress sur hostonomy!</title>
		<link>http://www.bulot.org/heberger-un-wordpress-sur-hostonomy/</link>
		<comments>http://www.bulot.org/heberger-un-wordpress-sur-hostonomy/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 06:50:11 +0000</pubDate>
		<dc:creator>stephbul</dc:creator>
				<category><![CDATA[apache2]]></category>
		<category><![CDATA[hostonomy]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[W3 total cache]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.bulot.org/?p=169</guid>
		<description><![CDATA[Bonjour, WordPress, moteur de blog à ses débuts, est devenu le CMS des CMS, avec une part de marché particulièrement importante. Avec quelques inconvénients toutefois! Notamment son faible niveau de performance. Comment héberger un bon wordpress? Il faut cumuler, selon &#8230; <a href="http://www.bulot.org/heberger-un-wordpress-sur-hostonomy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Bonjour, </p>
<p>WordPress, moteur de blog à ses débuts, est devenu le CMS des CMS, avec une part de marché particulièrement importante. Avec quelques inconvénients toutefois! Notamment son faible niveau de performance. Comment héberger un bon wordpress? Il faut cumuler, selon moi, l&#8217;utilisation du plugin w3 Total Cache avec le module php-apc, ce qui n&#8217;est pas le cas partout, et la maîtrise de ce paramètre n&#8217;est pas évidente chez tous les hébergeurs.</p>
<p>Sur <a href="http://www.hostonomy.fr">hostonomy</a>, php-apc est présent par défaut. Il suffit alors d&#8217;installer sur le tableau de bord de votre worpdress le plugin &#8220;W3 Total Cache&#8221;, d&#8217;activer dans ses options, le cache sur les pages et la database, avec l&#8217;option php-apc.</p>
<p>Simple et efficace!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bulot.org/heberger-un-wordpress-sur-hostonomy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hostonomy: .htaccess vs apache2 configuration</title>
		<link>http://www.bulot.org/hostonomy-htaccess-vs-apache2-configuration/</link>
		<comments>http://www.bulot.org/hostonomy-htaccess-vs-apache2-configuration/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 11:40:00 +0000</pubDate>
		<dc:creator>stephbul</dc:creator>
				<category><![CDATA[apache2]]></category>
		<category><![CDATA[hostonomy]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[ispconfig]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.bulot.org/?p=166</guid>
		<description><![CDATA[Bonjour, Comme je le disais, Hostonomy utilise ISPConfig3 pour gérer vos sites. En tant que client de l&#8217;offre Hostonomy, vous avez par défaut un profil de revendeur, ce qui vous autorise à créer vos clients, vos sites, leurs sites, vos &#8230; <a href="http://www.bulot.org/hostonomy-htaccess-vs-apache2-configuration/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Bonjour,</p>
<p>Comme je le disais, <a href="http://www.hostonomy.fr" title="Hostonomy">Hostonomy</a> utilise ISPConfig3 pour gérer vos sites. En tant que client de l&#8217;offre Hostonomy, vous avez par défaut un profil de revendeur, ce qui vous autorise à créer vos clients, vos sites, leurs sites, vos comptes mails. Par défaut, vous ne pouvez pas modifier manuellement la configuration de votre serveur Apache2 autrement que par un fichier htaccess. Très bien, mais si vous connaissez bien apache et le hosting en général, vous savez que l&#8217;interprétation d&#8217;un fichier htaccess, se faisant par apache à chaque accès dans le répertoire, prend un temps non négligeable et vous fait perdre un peu de performance.</p>
<p>Demandez au support <a href="http://www.altern-it.fr" title="Altern-IT" target="_blank">Altern-IT</a>, de vous passer en mode administrateur, vous aurez alors la possibilité de changer les options apache et php!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bulot.org/hostonomy-htaccess-vs-apache2-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conseil configuration hostonomy</title>
		<link>http://www.bulot.org/tip-hostonomy/</link>
		<comments>http://www.bulot.org/tip-hostonomy/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 14:12:50 +0000</pubDate>
		<dc:creator>stephbul</dc:creator>
				<category><![CDATA[apache2]]></category>
		<category><![CDATA[altern-it]]></category>
		<category><![CDATA[dédié-virtualisé]]></category>
		<category><![CDATA[droits d'accès]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[hostonomy]]></category>
		<category><![CDATA[ispconfig]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[www-data]]></category>

		<guid isPermaLink="false">http://www.bulot.org/?p=156</guid>
		<description><![CDATA[Utilisateur et concepteur de l&#8217;offre hostonomy, je vous donne un petit conseil pour héberger vos wordpress, drupal, et joomla. L&#8217;offre se basant sur le projet ISPconfig, Il est plus simple d&#8217;activer l&#8217;option SuEXEC, afin qu&#8217;apache2 exécute les scripts non pas &#8230; <a href="http://www.bulot.org/tip-hostonomy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Utilisateur et concepteur de l&#8217;offre <a href="http://www.hostonomy.fr">hostonomy</a>, je vous donne un petit conseil pour héberger vos wordpress, drupal, et joomla.<br />
L&#8217;offre se basant sur le projet ISPconfig, Il est plus simple d&#8217;activer l&#8217;option SuEXEC, afin qu&#8217;apache2 exécute les scripts non pas en tant que www-data mais avec votre nom d&#8217;utilisateur. Cela vous permet de gérer simplement les droits d&#8217;accès et d&#8217;exécution.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bulot.org/tip-hostonomy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuration reverse proxy et apache pour garder les IP des clients</title>
		<link>http://www.bulot.org/configuration-reverse-proxy-et-apache-pour-garder-les-ip-des-clients/</link>
		<comments>http://www.bulot.org/configuration-reverse-proxy-et-apache-pour-garder-les-ip-des-clients/#comments</comments>
		<pubDate>Wed, 25 May 2011 09:14:57 +0000</pubDate>
		<dc:creator>stephbul</dc:creator>
				<category><![CDATA[apache2]]></category>
		<category><![CDATA[altern-it]]></category>
		<category><![CDATA[hébergement]]></category>
		<category><![CDATA[ip client]]></category>
		<category><![CDATA[ip source]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[reverse proxy]]></category>

		<guid isPermaLink="false">http://www.bulot.org/?p=137</guid>
		<description><![CDATA[L&#8217;intérêt de l&#8217;utilisation d&#8217;un reverse proxy n&#8217;est plus à démontrer dans le domaine de l&#8217;hébergement. Chez Altern-IT, tous les serveurs web sont derrière un reverse proxy. Par contre, pour pouvoir exploiter pleinement la fonction et gérer correctement ses statistiques, par &#8230; <a href="http://www.bulot.org/configuration-reverse-proxy-et-apache-pour-garder-les-ip-des-clients/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>L&#8217;intérêt de l&#8217;utilisation d&#8217;un reverse proxy n&#8217;est plus à démontrer dans le domaine de l&#8217;hébergement. Chez <a href="http://www.altern-it.com">Altern-IT</a>, tous les serveurs web sont derrière un reverse proxy. Par contre, pour pouvoir exploiter pleinement la fonction et gérer correctement ses statistiques, par exemple, il est important de garder l&#8217;adresse IP du client dans les logs du serveur web. Par défaut, ce sont ceux du reverse proxy qui apparaitront. Dans notre cas, nous utilisons nginx, en reverse proxy et apache en serveur web. Comment faire pour garder cet IP du client? </p>
<p>Juste un tout petit peu de configuration de chaque côté&#8230;<br />
Dans nginx, il faut ajouter les lignes suivantes dans la configuration du serveur:</p>
<pre>
                proxy_set_header   Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
</pre>
<p>Dans apache, il faut utiliser un module supplémentaire libapache2-mod-rpaf et faire la configuration suivante dans </p>
<pre>
        RPAFenable On
        RPAFsethostname On
        RPAFproxy_ips ip_webserver1 ip_webserver2
</pre>
<p>En espérant que cela puisse vous aider.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bulot.org/configuration-reverse-proxy-et-apache-pour-garder-les-ip-des-clients/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un procés pour microsoft</title>
		<link>http://www.bulot.org/105/</link>
		<comments>http://www.bulot.org/105/#comments</comments>
		<pubDate>Fri, 13 May 2011 08:41:29 +0000</pubDate>
		<dc:creator>stephbul</dc:creator>
				<category><![CDATA[open-source]]></category>

		<guid isPermaLink="false">http://www.bulot.org/?p=105</guid>
		<description><![CDATA[Comment? GCU fait un procés à Microsoft? Personnellement, je fais confiance à la justice du jardin magique pour traiter le présumé innocent en digne coupable d&#8217;un certain nombre d&#8217;exactions envers le logiciel libre et ce procés a eu au moins &#8230; <a href="http://www.bulot.org/105/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img alt="" src="http://farm4.static.flickr.com/3473/5714483492_21421a14eb_d.jpg" title="procés microsoft" class="alignnone" width="500" height="375" /><br />
Comment? GCU fait un procés à Microsoft?<br />
Personnellement, je fais confiance à la justice du jardin magique pour traiter le présumé innocent en digne coupable d&#8217;un certain nombre d&#8217;exactions envers le logiciel libre et ce procés a eu au moins pour effet d&#8217;illustrer l&#8217;imposture intellectuelle de la société pré-citée. Comment peut-on afficher semblant reprendre à son compte de vénérables noms issus du logiciel libre sur une stand du salon Solution Linux 2011: python, mysql, apache&#8230;? En faisant le tour de passe-passe d&#8217;afficher son inter-opérabilité? Entre quoi et quoi? Entre python et windows? Entre mysql et windows? Entre microsoft et php?</p>
<p>J&#8217;aime la métaphore, alors comme à mon habitude je me lance&#8230; C&#8217;est un peu comme-ci Vinci se vantait de faire des routes sur lesquels des renault, des peugeot, mais aussi des mercedes, des porsche et des citroën pouvaient rouler! Figurez-vous que même une citroën 15, la fameuse peut encore rouler sur nos routes&#8230; Et un 38 tonnes volvo? Oui, aussi, mais pas trop longtemps parce qu&#8217;après, ça ne marche plus. Bah, oui, il ne vous viendrait quand même pas à l&#8217;idée de faire tourner un apache sous windows pour faire tourner un site de video en ligne, par exemple!</p>
<p>Que microsoft soit ou ne soit pas coupable au regard de la loi française n&#8217;est pas important, car tel un électeur de Levallois béat qui revoterait toujours pour qui vous savez au mépris de toute morale, l&#8217;utilisateur qui n&#8217;a pas consience de sa liberté, reprendra toujours un windows. Non, il faut éclairer et la lumière viendra de l&#8217;april avec sa patience, sa réflexion, de la quadrature du net, avec son militantisme, et de gcu et ses 15 ans d&#8217;insoumission et d&#8217;n'importe de quoi!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bulot.org/105/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>D&#8217;autres activités&#8230;</title>
		<link>http://www.bulot.org/dautres-activites/</link>
		<comments>http://www.bulot.org/dautres-activites/#comments</comments>
		<pubDate>Thu, 28 Apr 2011 07:30:35 +0000</pubDate>
		<dc:creator>stephbul</dc:creator>
				<category><![CDATA[open-source]]></category>

		<guid isPermaLink="false">http://www.bulot.org/?p=102</guid>
		<description><![CDATA[Bonjour, Des mois que j&#8217;y travaillais, c&#8217;est fait, je me suis lancé, j&#8217;ai créé l&#8217;entreprise Altern-IT, avec la volonté d&#8217;offrir des solutions d&#8217;hébergement, de téléphonie et de sauvegarde toutes issues du logiciel libre. Je vous donnerai peut-être des nouvelles de &#8230; <a href="http://www.bulot.org/dautres-activites/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Bonjour,</p>
<p>Des mois que j&#8217;y travaillais, c&#8217;est fait, je me suis lancé, j&#8217;ai créé l&#8217;entreprise <a href="http://www.altern-it.com">Altern-IT</a>, avec la volonté d&#8217;offrir des solutions d&#8217;hébergement, de téléphonie et de sauvegarde toutes issues du logiciel libre.<br />
Je vous donnerai peut-être des nouvelles de mon aventure dans quelques mois, aventure rendue possible grâce au travail quotidien de toute la communauté du logiciel libre et plus particulièrement grâce à deux personnes, qui, si elles lisent ces lignes, se reconnaîtront. Je confirme une nouvelle fois que nous recevons toujours plus de la communauté que nous ne donnons, au moins pour la plupart d&#8217;entre nous.</p>
<p>A bientôt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bulot.org/dautres-activites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un module puppet d&#8217;installation pour paquet debian avec preseeding</title>
		<link>http://www.bulot.org/un-module-puppet-dinstallation-pour-paquet-debian-avec-preseeding/</link>
		<comments>http://www.bulot.org/un-module-puppet-dinstallation-pour-paquet-debian-avec-preseeding/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 22:04:08 +0000</pubDate>
		<dc:creator>stephbul</dc:creator>
				<category><![CDATA[admin]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.bulot.org/?p=97</guid>
		<description><![CDATA[J&#8217;installais jusqu&#8217;à aujourd&#8217;hui des paquets debian avec puppet à condition que ceux-ci n&#8217;aient pas de configuration interactive lors de l&#8217;installation. Cela limitait sérieusement le nombre de paquets que j&#8217;étais en mesure d&#8217;installer par l&#8217;intermédaire de puppet. Impossible par exemple d&#8217;installer &#8230; <a href="http://www.bulot.org/un-module-puppet-dinstallation-pour-paquet-debian-avec-preseeding/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;installais jusqu&#8217;à aujourd&#8217;hui des paquets debian avec puppet à condition que ceux-ci n&#8217;aient pas de configuration interactive lors de l&#8217;installation. Cela limitait sérieusement le nombre de paquets que j&#8217;étais en mesure d&#8217;installer par l&#8217;intermédaire de puppet. Impossible par exemple d&#8217;installer un serveur mysql, ou samba, pour qui il est nécessaire de répondre à des questions. La solution est relativement simple, puisqu&#8217;elle consiste à utiliser le concept de preseeding de debian dans puppet.<br />
Si vous ne connaissez pas le preseeding, explication rapide, c&#8217;est relativement simple: l&#8217;outil debconf-set-selections du paquet debconf-utils permet de charger les réponses aux questions avec l&#8217;installation depuis un fichier plat:</p>
<pre>
debconf-set-selections &lt; mysql-server.preseed
apt-get install mysql-server
</pre>
<p>Le format est relativement simple, et une recherche google vous permet de retrouver pour de nombreux paquets la meilleur configuration.</p>
<p>J&#8217;ai par conséquent écrit la classe suivante permettant de réaliser les deux opérations ci-dessous dans puppet:</p>
<pre>
class install {
        # je crée une classe me permettant d'installer des paquets.
        file { "/etc/apt/sources.list":
                # le fichier sources.list utile pour pointer sur les repo. Attention, il est nécessaire dans mon exemple de pointer sur le repo backport de lenny
                mode =&gt; "644",
                owner =&gt; root,
                group =&gt; root,
                source =&gt; "puppet://$fileserver/$environment/etc/apt/sources.list"
        }
        define pkginstall ($pkgname,$preseed='no')
        # la fonction pkginstall est en charge de l'installation, avec pour parametre, le nom du paquet et le preseeding oui ou non. Par défaut, c'est non.
        {
                case $preseed {
                        yes: {
                                #si c'est oui, on appelle la fonction preseed_package
                                preseed_package { "$pkgname": }
                               # et on installe en prenant par défaut le paquet de backport
                                exec { "install_$pkgname":
                                        command =&gt; "apt-get update &amp;&amp; sudo apt-get -t lenny-backports -y install $pkgname",
                                        path =&gt; "/bin:/usr/bin/:/usr/sbin",
                                        timeout =&gt; "-1",
                                        require =&gt; Exec["debconf-set-selections_$pkgname"]
                                }
                        }
                        no: {
                                # si c'est non, c'est de l'install simple de backport
                                exec { "install_$pkgname":
                                        command =&gt; "apt-get update &amp;&amp; sudo apt-get -t lenny-backports -y install $pkgname",
                                        path =&gt; "/bin:/usr/bin/:/usr/sbin",
                                        timeout =&gt; "120",
                                }
                        }

                }

        }
        define preseed_package () {
                file { "/var/local/preseed":
                        ensure =&gt; directory,
                }
                file { "/var/local/preseed/$name.preseed":
                        # le fichier de preseeding est installé dans /var/local/preseed/ avec comme format nomdepaquet.preseed, mysql-server.preseed, par exemple.
                        source =&gt; "puppet://$fileserver/$environment/var/local/preseed/$name.preseed",
                        mode =&gt; "644",
                        owner =&gt; root,
                        group =&gt; root,
                }
                exec { "debconf-set-selections_$name" :
                        # le fichier de preseed est utilisé avec debconf-set-selections, la commande issue du paquet debconf-utils permettant de charger le preseed.
                        command =&gt; "debconf-set-selections &lt; /var/local/preseed/$name.preseed",                         require =&gt; [Exec["install_debconf-utils"],File["/var/local/preseed/$name.preseed"]],
                        path =&gt; "/bin:/usr/bin/:/usr/sbin",
                }
        }
}
</pre>
<p>Comment l&#8217;utiliser maintenant?<br />
Sur mes machines, en général, j&#8217;installe les deux premiers paquets rsync et debconf-utils, ce qui me donne, à titre d&#8217;exemple, une classe d&#8217;install de base:</p>
<pre>
class baseinstall {
        install::pkginstall {
                "rsync":
                        pkgname =&gt; "rsync";
                "debconf-utils":
                        pkgname =&gt; "debconf-utils";
        }
}
</pre>
<p>Ensuite, prenons l&#8217;exemple d&#8217;un serveur http sous apache et mysql-server. Vous pourrez noter que la plupart des packages sont installés sans preseeding, excepté mysql-server.</p>
<pre>
class http {
        install::pkginstall {
                "apache2":
                pkgname =&gt; "apache2";
                 "mysql-server":
                pkgname =&gt; "mysql-server",
                preseed =&gt; "yes";
                "php5":
                pkgname =&gt; "php5";
                "php-pear":
                pkgname =&gt; "php-pear";
                "php5-cli":
                pkgname =&gt; "php5-cli";
                "php5-gd":
                pkgname =&gt; "php5-gd";
                "php5-mysql":
                pkgname =&gt; "php5-mysql";
                "php5-mcrypt":
                pkgname =&gt; "php5-mcrypt";
                "memcached":
                pkgname =&gt; "memcached";
                "php5-memcache":
                pkgname =&gt; "php5-memcache";
}
</pre>
<p>Le fichier /var/local/preseed/mysql-server.preseed sera placé dans votre serveur de fichier de l&#8217;environnement puppet utilisé.</p>
<pre>
mysql-server mysql-server/root_password select
mysql-server-5.1        mysql-server/root_password_again        password PASS
mysql-server-5.1        mysql-server/root_password      password PASS
mysql-server-5.1        mysql-server/error_setting_password     error
mysql-server mysql-server/root_password select PASS
mysql-server mysql-server/root_password_again select PASS
mysql-server-5.1        mysql-server-5.1/start_on_boot  boolean true
mysql-server-5.1        mysql-server-5.1/postrm_remove_databases        booleanfalse
mysql-server-5.1        mysql-server-5.1/nis_warning    note
mysql-server-5.1        mysql-server-5.1/really_downgrade       boolean false
mysql-server-5.1        mysql-server/password_mismatch  error
mysql-server-5.1        mysql-server/no_upgrade_when_using_ndb  error
</pre>
<p>En espérant que cela vous aidera.</p>
<p>Ciao</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bulot.org/un-module-puppet-dinstallation-pour-paquet-debian-avec-preseeding/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc
Database Caching 6/13 queries in 0.007 seconds using apc

Served from: www.bulot.org @ 2012-02-23 00:38:58 -->
