<?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"
	>

<channel>
	<title>blog.utopiaz.org</title>
	<atom:link href="http://blog.utopiaz.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.utopiaz.org</link>
	<description>Développement, Open Source et contexte Web2.0</description>
	<pubDate>Sun, 07 Sep 2008 20:35:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Un MSI Wind sous Kubuntu pour la rentrée &#8230;</title>
		<link>http://blog.utopiaz.org/2008/09/un-msi-wind-sous-kubuntu-pour-la-rentree/</link>
		<comments>http://blog.utopiaz.org/2008/09/un-msi-wind-sous-kubuntu-pour-la-rentree/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 17:28:13 +0000</pubDate>
		<dc:creator>Thierry ROFFINI</dc:creator>
		
		<category><![CDATA[GNU - Linux]]></category>

		<guid isPermaLink="false">http://blog.utopiaz.org/?p=92</guid>
		<description><![CDATA[Depuis le temps que je cherchais un netbook qui réponde à mes besoins, j&#8217;ai enfin trouvé l&#8217;outil qui me convient, un MSI wind U100 sous Linux.

Par défaut c&#8217;est une distribution Suse d&#8217;installée, je n&#8217;ai rien contre cette distribution mais la première idée est de la remplacer par une Mandriva que je lui préfére, à noter [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis le temps que je cherchais un <a href="http://fr.wikipedia.org/wiki/Netbook" onclick="javascript:pageTracker._trackPageview('/outbound/article/fr.wikipedia.org');" target="_blank">netbook</a> qui réponde à mes besoins, j&#8217;ai enfin trouvé l&#8217;outil qui me convient, un <a href="http://www.msi-computer.fr/index.php?page=9&amp;id_type_produit=&amp;id_prod=754" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.msi-computer.fr');" target="_blank">MSI wind U100</a> sous Linux.</p>
<p><a href="http://blog.utopiaz.org/wp-content/uploads/2008/09/msi-wind.jpg" ><img class="aligncenter size-medium wp-image-93" title="msi-wind" src="http://blog.utopiaz.org/wp-content/uploads/2008/09/msi-wind-300x276.jpg" alt="" width="300" height="276" /></a></p>
<p>Par défaut c&#8217;est une distribution Suse d&#8217;installée, je n&#8217;ai rien contre cette distribution mais la première idée est de la remplacer par une Mandriva que je lui préfére, à noter au passage qu&#8217;on peut enfin acheter des machines avec des linux pré-installés et ce type d&#8217;engin est un terrain porteur pour Linux à mon sens.</p>
<p><span id="more-92"></span></p>
<p>Donc dés la réception de la bête, direction Google comment installer une distribution Linux sans CD-Rom ? La méthode qui me convient le mieux est celle basée sur l&#8217;utilisation d&#8217;une clef USB pour booter dessus, tombe bien j&#8217;en ai une qui traine dans un coin, donc formatage de celle-ci et copie d&#8217;une image de boot réseau Mandriva 2008.1 grâce à ce petit logiciel nommé <a href="http://unetbootin.sourceforge.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/unetbootin.sourceforge.net');" target="_blank">UNetbootin</a>.</p>
<p>Mais là grosse déception après plusieurs tentatives de boot, l&#8217;installeur Mandriva plante sur des erreurs Kernel, n&#8217;ayant pas le temps d&#8217;investiguer plus que ça je tombe sur le <a href="http://wiki.msiwind.net/" onclick="javascript:pageTracker._trackPageview('/outbound/article/wiki.msiwind.net');" target="_blank">Wiki de msiwind.net</a>.</p>
<p>Donc mon choix est vite fait, je teste avec une <a href="http://www.kubuntu-fr.org/telechargement" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.kubuntu-fr.org');" target="_blank">Kubuntu 8.04</a> (KDE power &#8230;) selon les explications basée sur une <a href="http://wiki.msiwind.net/index.php/Ubuntu_8.04_Hardy_Heron" onclick="javascript:pageTracker._trackPageview('/outbound/article/wiki.msiwind.net');" target="_blank">installation d&#8217;Ubuntu 8.04</a>, là rien à dire tout s&#8217;installe au premier boot comme il se doit &#8230; On dirait que certain on pris un léger retard, lol &#8230; attendons le cru 2009 de la Mandriva, dommage &#8230;</p>
<p>Je reboot et me voilà devant un bureau KDE, tout est fonctionnel au niveau hardware, webcam, wifi (nécessite de <a href="http://wiki.msiwind.net/index.php/Ubuntu_8.04_Hardy_Heron#Option_2:_Compiling_Drivers_for_the_Supplied_Wireless_Card" onclick="javascript:pageTracker._trackPageview('/outbound/article/wiki.msiwind.net');" target="_blank">compiler le driver</a> quand même), carte son, etc &#8230; A moi les joies de l&#8217;Internet Mobile (navigation sous Firefox, conférences via Skype en mode vidéo, sessions SSH) avec un affichage en 1024X600 de n&#8217;importe où sur la planête grâce au Wifi et la 3G (nécessite une clef 3G ou un téléphone portable 3G).</p>
<p>Disposant donc d&#8217;un processeur Intel® Atom™ N270 (1.6GHz), de 1 G de mémoire, et d&#8217;une puce graphique intel 845G, je tente l&#8217;installation de <a href="http://forlong.blogage.de/entries/2008/4/26/How-to-set-up-Compiz-Fusion-074" onclick="javascript:pageTracker._trackPageview('/outbound/article/forlong.blogage.de');" target="_blank">compiz (bureau 3D)</a> pour bénéficier de l&#8217;ergonomie des bureaux 3D et de ses effets, histoire de faire mousser un peu la polémique avec mes amis Mac users et leurs OSX lol &#8230; Après une <a href="http://wiki.msiwind.net/index.php/OpenSuse_11.0#---_xorg.conf_modifications_---" onclick="javascript:pageTracker._trackPageview('/outbound/article/wiki.msiwind.net');" target="_blank">optimisation des réglages de la carte graphique</a> et surtout <a href="http://wiki.archlinux.org/index.php/Intel_GMA_950#Tips" onclick="javascript:pageTracker._trackPageview('/outbound/article/wiki.archlinux.org');" target="_blank">ce petit tweak</a>, compiz est fluide, cool je garde.</p>
<p>J&#8217;en profite pour <a href="http://www.cairo-dock.org/ww_page.php?p=Cairo-dock%20sous%20KDE%203.5&amp;lang=fr" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cairo-dock.org');" target="_blank">installer cairo-dock</a> me permettant ainsi d&#8217;optimiser la place sur mon bureau en cachant la barre de taches KDE. Ensuite un petit coup de Look&amp;Feel en passant sur <a href="http://kde-look.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/kde-look.org');" target="_blank">kde-look.org</a> pour adapter un univers (thème KDM, fond d&#8217;écran, thème KDE) qui me convienne, <a href="http://wicd.net/download.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/wicd.net');" target="_blank">installation de Wicd</a> pour découvrir les réseaux Wifi à portée et me connecter facilement, voilà les principales modifications apportées à l&#8217;installation de base d&#8217;une Kubuntu.</p>
<p>Les seuls désagrément que je rencontre pour le moment, c&#8217;est la sortie des mises en veille où la carte wifi ainsi que la carte son ne fonctionne plus et qu&#8217;il me faut les réinitialiser en mode console, ainsi qu&#8217;une autonomie de batterie (3 cellules) trop courte (entre 1H45 et 1H30 selon l&#8217;utilisation) mais des batteries 6 et 9 cellules sont en train d&#8217;arriver sur le marché.</p>
<p>Me voilà donc avec un netbook de 1,2 kg peu encombrant qui n&#8217;as rien à envier en terme de puissance et de fonctionnalité à mon ancien portable Dell de 3kg très encombrant, c&#8217;est mon dos qui me remercie ainsi qu&#8217;un joujou pour passer des heures à bidouiller sous Linux et <a href="http://fr.kde.org/announcements/4.1/" onclick="javascript:pageTracker._trackPageview('/outbound/article/fr.kde.org');" target="_blank">essayer le nouveau KDE 4.1</a> au plus tôt &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.utopiaz.org/2008/09/un-msi-wind-sous-kubuntu-pour-la-rentree/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Actionscript 3, Socket et erreur &#8220;sandbox violation&#8221;</title>
		<link>http://blog.utopiaz.org/2008/08/actionscript3-socket-et-erreur-sandbox-violation/</link>
		<comments>http://blog.utopiaz.org/2008/08/actionscript3-socket-et-erreur-sandbox-violation/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 23:00:02 +0000</pubDate>
		<dc:creator>Thierry ROFFINI</dc:creator>
		
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.utopiaz.org/?p=24</guid>
		<description><![CDATA[Adobe avec sa mise à jour du player Flash en version 9.0.124.0 vient de me faire subir un coup de &#8220;Stress&#8221;, utilisant les Sockets pour des applis &#8220;Desktop&#8221; sous Flash, qu&#8217;elle fut ma surprise lorsque j&#8217;ai voulu porter celles-ci en version &#8220;Online&#8221;.
Mon débugueur AS3 me sort la classique erreur des Sockets &#8220;Error #2048: Security sandbox [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe avec sa mise à jour du player Flash en version 9.0.124.0 vient de me faire subir un coup de &#8220;Stress&#8221;, utilisant les Sockets pour des applis &#8220;Desktop&#8221; sous Flash, qu&#8217;elle fut ma surprise lorsque j&#8217;ai voulu porter celles-ci en version &#8220;Online&#8221;.</p>
<p>Mon débugueur AS3 me sort la classique erreur des Sockets &#8220;<em>Error #2048: Security sandbox violation</em>&#8220;, malgré la présence sur le serveur qui me fournit les infos, d&#8217;un fichier de régulation, le fameux crossdomain.xml, qui jusqu&#8217;aux versions précédentes du player Flash ne me posait aucun problème, à moins que j&#8217;ai &#8220;zappé&#8221; une étape, qu&#8217;elle est donc cette nouvelle &#8220;fantaisie&#8221; de la part d&#8217;Adobe ?..</p>
<p>Après consultation de la <a href="http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html#goal_control" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.adobe.com');" target="_blank">raison de cette mise à jour</a>, on apprends que c&#8217;est pour des raisons de sécurités, bon OK si c&#8217;est pour la sécurité &#8230; mais je fais quoi avec mes Sockets qui ne fonctionne plus ? (la prochaine fois je prendrais plus de temps pour lire les flux RSS d&#8217;Adobe, lol &#8230; )</p>
<p><span id="more-24"></span></p>
<p>On apprends donc que les fichiers crossdomain.xml ne suffisent plus pour autoriser les Sockets Flash à communiquer avec d&#8217;autres serveurs, les fameuses &#8220;Socket Policy file&#8221; ne sont plus accessible via des serveurs HTTP mais via des serveurs TCP (la nuance est subtil &#8230;), il nous faut donc implémenter un nouveau service TCP fournissant sur le port 843, <a href="http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.adobe.com');" target="_blank">un serveur de type &#8220;socket policy file server&#8221;</a>.</p>
<p>Ce type de service n&#8217;est pas des plus compliqué à développer dans des languages de type Java, Python, Perl ou PHP, le plus compliqué à mon sens c&#8217;est leur mise en place sur les gros serveurs à cause des audits de sécurité et validation des services d&#8221;hébergement, ceux qui ont la chance d&#8217;administrer leur propres serveurs ne devrait pas avoir de mal à déployer ce type de service.</p>
<p>J&#8217;ai donc rapidement implémenter ce service sur un serveur de développement grâce aux <a href="http://download.macromedia.com/pub/developer/flashpolicyd_v0.6.zip" onclick="javascript:pageTracker._trackPageview('/outbound/article/download.macromedia.com');">exemples de l&#8217;article pré-cité</a> et j&#8217;ai eu le plaisir de retrouver mes Sockets fonctionnels &#8230;</p>
<p>A savoir plusieurs choses, par défault le player Flash va chercher la &#8220;Socket Policy file&#8221; sur le port appellé et le port 843, par exemple si votre Socket se connecte sur le port 8080, le player va chercher par défaut sur le 8080 puis sur le 843, si au bout des 3 secondes de delay le player n&#8217;as pas la réponse souhaitée, il déclenche un événement de type &#8220;SecurityErrorEvent&#8221; qui provoque l&#8217;erreur :</p>
<p><code>#Error #2048: Security sandbox violation</code></p>
<p>On à toujours la possibilité de définir un port manuellement dans le code source pour définir un port spécifique ou pour des serveurs ayant un temps de réponse assez long, en utilisant l&#8217;instruction suivante avant l&#8217;appel du Socket :</p>
<p><code>loadPolicyFile("xmlsocket://monsiteamoi.com:8081");<br />
mySocket = new Socket();</code></p>
<p>Voilà si mon retour d&#8217;expérience peut servir à d&#8217;autres c&#8217;est avec plaisir &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.utopiaz.org/2008/08/actionscript3-socket-et-erreur-sandbox-violation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Typo3, une version 4.2 qui va bien</title>
		<link>http://blog.utopiaz.org/2008/06/typo3-une-version-42-qui-va-bien/</link>
		<comments>http://blog.utopiaz.org/2008/06/typo3-une-version-42-qui-va-bien/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 21:10:17 +0000</pubDate>
		<dc:creator>Thierry ROFFINI</dc:creator>
		
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.utopiaz.org/?p=23</guid>
		<description><![CDATA[Je viens de finir un projet sous Typo3, concours de circonstance ce projet à démarrer peu de temps après la sortie de la version 4.2 de celui-ci.
J&#8217;ai découvert Typo3 en 2004, à une époque ou je cherchais un outil me permettant de capitaliser mes développements et gérer un backoffice unique pour les sites de mes [...]]]></description>
			<content:encoded><![CDATA[<p>Je viens de finir un projet sous Typo3, concours de circonstance ce projet à démarrer peu de temps après la sortie de la version 4.2 de celui-ci.</p>
<p>J&#8217;ai découvert Typo3 en 2004, à une époque ou je cherchais un outil me permettant de capitaliser mes développements et gérer un backoffice unique pour les sites de mes clients. Ne trouvant pas la réponse adéquate à mes besoins fonctionnels, c&#8217;est à cette période que j&#8217;ai initié le projet <a href="http://www.teamzforge.org" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.teamzforge.org');" target="_blank">TeamZone</a>.</p>
<p>Début 2007 j&#8217;ai recroisé Typo3 dans un projet ne nécessitant pas de développement particulier, étant concentré sur le développement de TeamZone, je n&#8217;ai pas prêter attention à son évolution.</p>
<p>Mai 2008, nouveau projet sous Typo3, cette fois ci du développement spécifique en extensions fut requis, j&#8217;ai donc fait connaissance avec l&#8217;API de Typo3 en version 4.2 et son fameux Typo Script.</p>
<p><span id="more-23"></span></p>
<p>Rien à redire j&#8217;ai put rapidement déployer mon projet, grâce aux nombreuses extensions et les bons conseils de la communauté Fr, particulièrement <a href="http://forum.typo3.fr/" onclick="javascript:pageTracker._trackPageview('/outbound/article/forum.typo3.fr');" target="_blank">le forum typo3.fr</a> ainsi que les conseils avisés de Cédric alias <a href="http://forum.typo3.fr/index.php?showuser=966" onclick="javascript:pageTracker._trackPageview('/outbound/article/forum.typo3.fr');" target="_blank">supertempete</a>.</p>
<p>Typo3 est donc bel et bien un des leaders incontesté en termes de CMS Open Source, cela fait plaisir de voir un projet de logiciel libre qui à réussi à fédérer une réel communauté autour de lui et qui prouve la montée en puissance de l&#8217;Open Source dans les SSII et autres.</p>
<p>Après un début d&#8217;année sur eZ Publish, je peux constater pour l&#8217;instant que ces &#8220;gros&#8221; CMS restent &#8220;lourd&#8221; dans leurs déploiements et nécessitent pas mal de ressources pour leur bon fonctionnement, mais offre un environnement &#8220;avancé&#8221; pour le développement Web.</p>
<p>Dans notre métier de développeur Web, malgré tout nous n&#8217;avons pas que des sites aux fonctionnalités avancées à mettre en place, je me voit mal déployer un eZ Publish ou un Typo3 pour une site événementiel par exemple, qui nécessite peu de pages, peu de développement mais un besoin rapide d&#8217;intégrer une charte graphique et de déployer du contenu (articles, vidéos, etc).</p>
<p>C&#8217;est pour cela entre autres que des CMS léger tel que TeamZone existe aujourd&#8217;hui et que l&#8217;offre des CMS Open Source s&#8217;étoffe de jour en jour, il suffit de jetter un oeil sur <a href="http://www.cmsmatrix.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.cmsmatrix.org');" target="_blank">cmsmatrix.org</a> pour s&#8217;en rendre compte.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.utopiaz.org/2008/06/typo3-une-version-42-qui-va-bien/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Widget Flash, Action Script 3, Socket, HTTPS, Proxy</title>
		<link>http://blog.utopiaz.org/2008/05/flash-action-script-3-socket-https-proxy/</link>
		<comments>http://blog.utopiaz.org/2008/05/flash-action-script-3-socket-https-proxy/#comments</comments>
		<pubDate>Tue, 27 May 2008 21:20:41 +0000</pubDate>
		<dc:creator>Thierry ROFFINI</dc:creator>
		
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.utopiaz.org/?p=21</guid>
		<description><![CDATA[Travaillant actuellement sur des Widgets en Flash, j&#8217;utilise les sockets via la classe native en AS3 pour m&#8217;authentifier sur des services en lignes et diverses autres opérations.
J&#8217;ai été confronté récemment a devoir faire des requêtes sur couche HTTPS &#8230; Le seul problème c&#8217;est que Flash aujourd&#8217;hui, n&#8217;as pas de fonction native pour travailler en HTTPS [...]]]></description>
			<content:encoded><![CDATA[<p>Travaillant actuellement sur des Widgets en Flash, j&#8217;utilise les sockets via la classe native en AS3 pour m&#8217;authentifier sur des services en lignes et diverses autres opérations.</p>
<p>J&#8217;ai été confronté récemment a devoir faire des requêtes sur couche HTTPS &#8230; Le seul problème c&#8217;est que Flash aujourd&#8217;hui, n&#8217;as pas de fonction native pour travailler en HTTPS et pour des besoins fonctionnels spécifiques j&#8217;ai utilisé les sockets.</p>
<p>La seul librairie que nous avons trouvé pour répondre aux besoins, est celle-ci : <a class="postlink" href="http://code.google.com/p/as3httpclientlib/" onclick="javascript:pageTracker._trackPageview('/outbound/article/code.google.com');">as3httpclientlib</a>, un client HTTP/HTTPS pour ActionScript 3, après une bonne phase de R&amp;D sur le principe des échanges clients &lt;-&gt; serveurs (merci les RFC &#8230;), j&#8217;ai put mettre en place mes besoins à l&#8217;aide de cette librairie, donc si l&#8217;info peut servir à d&#8217;autre, c&#8217;est avec plaisir que je la transmet.</p>
<p>Nouveau défi à venir, faire passer mon socket HTTPS via un proxy et en plus avec gestion d&#8217;une authentification sur proxy en option &#8230;</p>
<p>Si quelqu&#8217;un à de l&#8217;expérience sur ce genre de chose, tous conseils et échange sera la bienvenue &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.utopiaz.org/2008/05/flash-action-script-3-socket-https-proxy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installation de Trac sur une Debian</title>
		<link>http://blog.utopiaz.org/2008/05/installation-de-trac-sur-une-debian/</link>
		<comments>http://blog.utopiaz.org/2008/05/installation-de-trac-sur-une-debian/#comments</comments>
		<pubDate>Sat, 24 May 2008 16:44:42 +0000</pubDate>
		<dc:creator>Thierry ROFFINI</dc:creator>
		
		<category><![CDATA[Plateforme LAMP]]></category>

		<guid isPermaLink="false">http://blog.utopiaz.org/?p=18</guid>
		<description><![CDATA[Pour faire suite à mon article sur l&#8217;installation de Subversion et un besoin rapide d&#8217;un gestionnaire de projets, voici un rapide descriptif de l&#8217;installation du logiciel Trac sur une plateforme Debian.
1. Installez les packages nécessaires.
Comme à notre habitude, on lance une console, on passe en root, on update nos sources et on télécharge les packages [...]]]></description>
			<content:encoded><![CDATA[<p>Pour faire suite à mon article sur <a href="http://blog.utopiaz.org/2008/04/mise-en-place-svn-et-virtual-hosts-apache/" >l&#8217;installation de Subversion</a> et un besoin rapide d&#8217;un gestionnaire de projets, voici un rapide descriptif de l&#8217;installation du logiciel <a href="http://fr.wikipedia.org/wiki/Trac_(logiciel)" onclick="javascript:pageTracker._trackPageview('/outbound/article/fr.wikipedia.org');" target="_blank">Trac</a> sur une plateforme Debian.</p>
<p><strong>1. Installez les packages nécessaires.</strong></p>
<p>Comme à notre habitude, on lance une console, on passe en root, on update nos sources et on télécharge les packages suivants :</p>
<pre>apt-get update
apt-get install enscript python-docutils python-pkg-resources \
python-pysqlite2 python-setuptools libapache2-mod-python</pre>
<p><strong>2. Installez le logiciel Trac.</strong></p>
<p>A la date de cette article, c&#8217;est la version 0.10.4.2 qui est proposée dans les dépôts Debian, la version sur le site de Trac est une 0.11rc1, cette version apportant pas mal de changements (<a href="http://trac.edgewall.org/wiki/TracDev/ReleaseNotes/0.11" onclick="javascript:pageTracker._trackPageview('/outbound/article/trac.edgewall.org');" target="_blank">voir les Release Notes</a>) il me semble évident d&#8217;installer cette version.</p>
<p>Nous allons donc installer Trac via le &#8220;easy_install&#8221; de Python :</p>
<pre>easy_install Trac==0.11rc1
</pre>
<p><span id="more-18"></span><strong>3. Créer un répertoire pour le virtual host dédié à Trac.</strong></p>
<p>Nous créons le répertoire dédié à l’hébergement de nos instances Trac et on règle les droits sur celui-ci de la manière suivante :</p>
<pre>mkdir /home/trac
chmod 2770 /home/trac</pre>
<p><strong>4. Mettre en place les instances Trac.</strong></p>
<p>Comme nous voulons une gestion multi-projets, il nous faut créer plusieurs instances pour l’exemple et affecter l’utilisateur et groupe Apache sur ceux-ci :</p>
<pre>trac-admin /home/trac/projet_1 initenv
trac-admin /home/trac/projet_2 initenv
chown -R www-data:www-data /home/trac</pre>
<p>trac-admin va vous demander une série de questions pour configurer son instance, parmi celles-ci on configure le nom du projet, par défaut on laisse SQLite comme gestionnaire de base de données, le path du repository SVN en rapport au projet et on valide le tout. Nous avons donc maintenant des instances de créé, il nous reste plus qu&#8217;à les configurer, pour cela il faut éditer le fichier :</p>
<pre>vim /home/trac/projet_1/conf/trac.ini</pre>
<p>Je vous laisse <a href="http://trac.edgewall.org/wiki/TracIni" onclick="javascript:pageTracker._trackPageview('/outbound/article/trac.edgewall.org');" target="_blank">consulter la doc</a>, pour configurer vos instances selon vos besoins.</p>
<p><strong>5. Créer un répertoire pour les logs.</strong></p>
<p>On crée un répertoire pour stocker les logs d’accès et d’erreurs de notre futur virtual host :</p>
<pre>mkdir /home/trac/logs</pre>
<p><strong>6. Configurer Apache pour gestion des instances Trac.<br />
</strong></p>
<pre>vim /etc/apache2/sites-available/trac.exemple.com</pre>
<p>Notre virtual host est en mode HTTPS mais vous êtes libre de le faire en port 80, à noter que nous mettons en place l’authentification Apache sur le même fichier d&#8217;autorisation que SVN.</p>
<pre>&lt;VirtualHost [IP address]:443&gt;
  ServerName trac.example.com

  &lt;Location /&gt;
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonInterpreter main_interpreter
    PythonOption TracEnvParentDir /home/trac
    PythonOption TracUriRoot /

    AuthType Basic
    AuthName “Dépots Trac"
    AuthUserFile /home/svn/.passwd
    Require valid-user
  &lt;/Location&gt;

  CustomLog /home/trac/logs/access.log combined
  ErrorLog /home/trac/logs/error.log

  SSLEngine on
  SSLCertificateFile /etc/ssl/server.pem
  SSLCertificateKeyFile /etc/ssl/server.key

&lt;/VirtualHost&gt;

&lt;VirtualHost [IP address]:80&gt;
  ServerName trac.example.com
  Redirect / https://trac.example.com/
&lt;/VirtualHost&gt;</pre>
<p><strong>7. On enclenche le virtual host pour Apache.</strong></p>
<pre>a2ensite trac.example.com</pre>
<p><strong>8. On relance notre serveur Apache.</strong></p>
<pre>/etc/init.d/apache2 restart</pre>
<p>Et voilà nous avons Trac en mode multi-projets prêt à recevoir nos développements. Il ne vous reste plus qu&#8217;à <a href="http://trac.edgewall.org/wiki/TracGuide" onclick="javascript:pageTracker._trackPageview('/outbound/article/trac.edgewall.org');" target="_blank">consulter la doc</a> pour aller plus loin dans votre installation.</p>
<p>Moi de mon côté je dispose d&#8217;un gestionnaire de projets tout neuf, parfait ça tombe bien, j&#8217;ai un projet en cours de réflexion qui commence à pointer le bout de son nez &#8230; muuummm</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.utopiaz.org/2008/05/installation-de-trac-sur-une-debian/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Faille de sécurité critique dans OpenSSL sur Debian</title>
		<link>http://blog.utopiaz.org/2008/05/faille-de-securite-critique-dans-openssl-sur-debian/</link>
		<comments>http://blog.utopiaz.org/2008/05/faille-de-securite-critique-dans-openssl-sur-debian/#comments</comments>
		<pubDate>Fri, 16 May 2008 20:32:58 +0000</pubDate>
		<dc:creator>Thierry ROFFINI</dc:creator>
		
		<category><![CDATA[Plateforme LAMP]]></category>

		<guid isPermaLink="false">http://blog.utopiaz.org/?p=17</guid>
		<description><![CDATA[L&#8217;information est sortie cette semaine, une faille de sécurité critique dans OpenSSL sur Debian à été découverte.

Extrait de linux.fr :
Le 13 mai, un message publié sur la liste de sécurité Debian identifiait une anomalie impactant le paquet openssl. Ce bug a été introduit par un mainteneur Debian, qui a eu la main lourde en voulant [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;information est sortie cette semaine, une faille de sécurité critique dans OpenSSL sur Debian à été découverte.<br />
<strong><br />
Extrait de linux.fr :</strong></p>
<blockquote><p>Le 13 mai, un message publié sur la liste de sécurité Debian identifiait une anomalie impactant le paquet openssl. Ce <em>bug</em> a été introduit par un mainteneur Debian, qui a eu la main lourde en voulant &#8220;<em>corriger</em>&#8221; des alertes remontées par Valgrind (un logiciel qui audite le code). Résultat des courses : le générateur de nombres aléatoires, composant critique de nombreux systèmes de chiffrements, n&#8217;est au final pas si aléatoire que ça, voire carrément prévisible.<br />
En conséquence, tous les certificats et clefs SSL/SSH générés sur une Debian (ou dérivée) depuis 2006 l&#8217;ont été à partir d&#8217;un univers des possibles très restreint (environ 250 000 clefs, à confirmer) et présentent donc un niveau de sécurité largement inférieur à celui estimé.</p>
<p>Cette vulnérabilité touche Debian ainsi que toutes les distributions utilisant des paquets Debian (Ubuntu, Xandros&#8230;).</p>
<p><a href="http://linuxfr.org/2008/05/15/24092.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/linuxfr.org');" target="_blank">la suite de l&#8217;article &#8230;</a></p></blockquote>
<p>Que cette faille impacte les Debians depuis 2006 à cause d&#8217;un &#8220;patch&#8221; sur un paquetage aussi sensible qu&#8217;OpenSSL, ca me laisse &#8230; comment dire &#8230; un gout amer aux premiers abords &#8230;</p>
<p><span id="more-17"></span></p>
<p>Puis travaillant dans le développement logiciel, l&#8217;erreur est humaine, c&#8217;est un fait &#8230; Mais pour ça, on met en place des cycles de validation &#8230;</p>
<p>Surtout sur le composant principal dans la cryptographie et donc OpenSSL, <strong>le générateur de nombres aléatoires</strong> !..<strong><br />
</strong></p>
<p>Le fait d&#8217;un développeur pas très consciencieux ?.. Pas de cycles de validation avant livraison ?.. Le &#8220;stress&#8221; d&#8217;un patch sous la pression du client ? lol je pense pas qu&#8217;on soit affecté par l&#8217;effet du &#8220;stress&#8221; dans la communauté Debian &#8230;</p>
<p>En tous cas la communauté réagi au mieux comme d&#8217;habitude, l&#8217;info et les mises à jour circulent vite &#8230; Au moment où j&#8217;écris cet article, je viens de recevoir un mail de mon hébergeur pour m&#8217;annoncer la faille !</p>
<h4>Au final, on se remontent les manches pour :</h4>
<p><strong>1) Mettre à jour OpenSSL, et regénérer l&#8217;intégralité de nos clefs SSH, certificats</strong> &#8230;<br />
Pour corriger la faille, la manipulation à effectuer est la suivante :</p>
<pre>apt-get update
apt-get upgrade openssh-client openssh-server openssl
rm -f /root/.ssh/authorized_keys /home/*/.ssh/authorized_keys</pre>
<p>Dans la mise à jour, il existe des commandes pour vérifier si vos clefs SSH et certificats serveurs sont impactés &#8230; hummmm moyen je trouve &#8230;</p>
<p>Du coup on efface tout ! Nos autorités de certification, nos clefs SSH, nos certificats serveurs et on régénèrent l&#8217;ensemble sur nos plateformes LAMP.</p>
<p><em>(Tout mes encouragements aux administrateurs Debian ou dérivés qui sont en charge de centaines de serveurs et de milliers de clefs SSH &#8230;)</em></p>
<p>Du boulot en perspective donc &#8230; j&#8217;avais prévue autre chose moi ce weekend ! Mais bon j&#8217;en profiterais pour commencer un article sur la procédure à suivre dans l&#8217;installation d&#8217;une petite <a href="http://fr.wikipedia.org/wiki/Public_Key_Infrastructure" onclick="javascript:pageTracker._trackPageview('/outbound/article/fr.wikipedia.org');" target="_blank">PKI</a> maison.</p>
<p><strong>2) Débattre le fait d&#8217;avoir choisi une Debian sur ses serveurs &#8230;</strong></p>
<p>J&#8217;en connais qui rigolent dans leurs coins &#8230;</p>
<p>Comme je viens de migrer mes serveurs sous Debian il y a peu de temps et j&#8217;ai quitter une distribution qui n&#8217;est pas impactée par cette faille, y&#8217;a du débat dans l&#8217;air !</p>
<p>Dès Lundi voir le Marketing, pour rassurer tout le monde &#8230; , lol.</p>
<p>Bonne fin de soirée.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.utopiaz.org/2008/05/faille-de-securite-critique-dans-openssl-sur-debian/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ouvrage libre “Pratique d’ActionScript 3″.</title>
		<link>http://blog.utopiaz.org/2008/05/ouvrage-libre-%e2%80%9cpratique-d%e2%80%99actionscript-3%e2%80%b3/</link>
		<comments>http://blog.utopiaz.org/2008/05/ouvrage-libre-%e2%80%9cpratique-d%e2%80%99actionscript-3%e2%80%b3/#comments</comments>
		<pubDate>Sat, 10 May 2008 22:48:30 +0000</pubDate>
		<dc:creator>Thierry ROFFINI</dc:creator>
		
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://blog.utopiaz.org/?p=16</guid>
		<description><![CDATA[Pour ceux qui n&#8217;ont pas encore eu l&#8217;information, O&#8217;Reilly France c&#8217;est fini . Un peu étonnante cette nouvelle, drôle de se dire qu&#8217;un éditeur de &#8220;bibles informatique&#8221; qui a forgé notre métier de développeur Web disparait de nos librairies &#8230;
Suite à cette situation le livre “Pratique d’ActionScript 3″ par Thibault Imbert ne pourra jamais sortir [...]]]></description>
			<content:encoded><![CDATA[<p>Pour ceux qui n&#8217;ont pas encore eu l&#8217;information, <a href="http://immateriel.wordpress.com/2008/05/09/oreilly_france_c_est_deja_du_passe/" onclick="javascript:pageTracker._trackPageview('/outbound/article/immateriel.wordpress.com');" target="_blank">O&#8217;Reilly France c&#8217;est fini</a> . Un peu étonnante cette nouvelle, drôle de se dire qu&#8217;un éditeur de &#8220;bibles informatique&#8221; qui a forgé notre métier de développeur Web disparait de nos librairies &#8230;</p>
<p>Suite à cette situation le livre <a href="http://pratiqueactionscript3.bytearray.org/?page_id=2" onclick="javascript:pageTracker._trackPageview('/outbound/article/pratiqueactionscript3.bytearray.org');" target="_blank">“Pratique d’ActionScript 3″</a> par Thibault Imbert ne pourra jamais sortir aux éditions O’Reilly, mais l&#8221;auteur à décidé de le laisser en libre téléchargement pour la communauté Flash.</p>
<p>Récemment dans ma profession j&#8217;ai été confronté au développement de Widgets en Flash, cela faisait bientôt 2 ans que je n&#8217;avais pas fait de projets sérieux en Action Script, le développement AS3 m&#8217;a vraiment surpris dans son évolution et on sent bien le potentiel à venir via les frameworks de type Flex et Air.</p>
<p>Bravo donc à Thibault pour son initiative, la communauté Flash ne peut que le remercier et le soutenir &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.utopiaz.org/2008/05/ouvrage-libre-%e2%80%9cpratique-d%e2%80%99actionscript-3%e2%80%b3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Compiler SSH2 pour PHP sous Debian</title>
		<link>http://blog.utopiaz.org/2008/05/compiler-ssh2-pour-php-sous-debian/</link>
		<comments>http://blog.utopiaz.org/2008/05/compiler-ssh2-pour-php-sous-debian/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 22:25:24 +0000</pubDate>
		<dc:creator>Thierry ROFFINI</dc:creator>
		
		<category><![CDATA[Plateforme LAMP]]></category>

		<guid isPermaLink="false">http://blog.utopiaz.org/?p=15</guid>
		<description><![CDATA[Suite à mon article précédent sur l&#8217;installation de SVN et poursuivant la mise en place de ma plateforme LAMP, j&#8217;ai pour habitude lors de mes commits SVN de déclencher des scripts hooks pour effectuer diverses opérations (envoi de mails, synchronisation de répertoires, etc).
Mon langage de prédilection étant le PHP, j&#8217;écris mes scripts console en mode [...]]]></description>
			<content:encoded><![CDATA[<p>Suite à mon article précédent sur l&#8217;installation de SVN et poursuivant la mise en place de ma plateforme LAMP, j&#8217;ai pour habitude lors de mes commits SVN de déclencher des scripts hooks pour effectuer diverses opérations (envoi de mails, synchronisation de répertoires, etc).</p>
<p>Mon langage de prédilection étant le PHP, j&#8217;écris mes scripts console en mode php-cli. Pour effectuer des manipulations au niveau du shell en tant que root ou me connecter sur d&#8217;autres machines, j&#8217;utilise l&#8217;extension SSH2 de php, hélas sous Debian point de package disponible, il faut donc compiler cette extension pour en profiter, voici donc un sujet pour un nouveau article.</p>
<p><span id="more-15"></span></p>
<p><strong>1. Installer les packages nécessaires.</strong></p>
<p>Si vous en êtes à compiler la libSSH2 pour PHP, on suppose que vous avez déjà PHP d&#8217;installé, on installe donc que les packages de développement et de compilation. On lance donc une console, on se logue en root, on update nos sources et on télécharge les packages suivants :</p>
<pre>apt-get update
apt-get install openssl php5-dev libssl-dev g++-3.4 make</pre>
<p><strong>2. Télécharger la libSSH2 et la compiler.</strong></p>
<p>On se déplace dans un répertoire dédié à la compilation de nos sources.</p>
<pre>cd compilation/
mkdir libssh2
cd libssh2/</pre>
<p>On télécharge la libSSH2 en version 0.14, à la date de cet article la dernière version est la 0.18 mais je n&#8217;ai jamais réussi à la compiler correctement pour php.</p>
<pre>wget http://kent.dl.sourceforge.net/\
sourceforge/libssh2/libssh2-0.14.tar.gz</pre>
<p>On décompresse l&#8217;archive et on se déplace dans le répertoire.</p>
<pre>tar -xzvf libssh2-0.14.tar.gz
cd libssh2-0.14</pre>
<p>On lance la compilation.</p>
<pre>./configure
make all install</pre>
<p><strong>3. Télécharger SSH2 de pecl et lancer la compilation.</strong></p>
<p>On remonte d&#8217;un niveau dans les répertoires et on télécharge SSH2.</p>
<pre>cd ../
wget http://pecl.php.net/get/ssh2-0.10.tgz</pre>
<p>On décompresse l&#8217;archive et on se déplace dans le répertoire.</p>
<pre>tar -xzvf ssh2-0.10.tgz
cd ssh2-0.10</pre>
<p>On lance la compilation.</p>
<pre>phpize
./configure
make</pre>
<p>Si tout s&#8217;est bien passé, logiquement vous devez avoir dans le répertoire &#8220;compilation/libssh2/ssh2-0.10/modules&#8221;, un fichier nommé ssh2.so.</p>
<p><strong>4. Installation de l&#8217;extension SSH2.</strong></p>
<p>On copie ssh2.so dans le répertoire des extensions PHP et on l&#8217;active dans les fichiers php.ini d&#8217;apache et de php-cli.</p>
<pre>cp modules/ssh2.so /usr/lib/php5/20060613+lfs
echo "extension=ssh2.so" &gt;&gt; /etc/php5/apache2/php.ini
echo "extension=ssh2.so" &gt;&gt; /etc/php5/cli/php.ini</pre>
<p>On relance Apache pour la prise en compte.</p>
<pre>/etc/init.d/apache2 restart</pre>
<p>Il ne vous reste plus qu&#8217;à vérifier la présence de SSH2 dans votre PHP, à l&#8217;aide de la fonction &#8220;phpinfo ();&#8221; via un script php Apache et pour php-cli lancer cette commande via une console :</p>
<pre>php -m</pre>
<p>Et voilà, quel plaisir de disposer de <a href="http://fr2.php.net/manual/fr/book.ssh2.php" onclick="javascript:pageTracker._trackPageview('/outbound/article/fr2.php.net');" target="_blank">SSH dans nos scripts PHP</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.utopiaz.org/2008/05/compiler-ssh2-pour-php-sous-debian/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mise en place SVN et virtual hosts Apache</title>
		<link>http://blog.utopiaz.org/2008/04/mise-en-place-svn-et-virtual-hosts-apache/</link>
		<comments>http://blog.utopiaz.org/2008/04/mise-en-place-svn-et-virtual-hosts-apache/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 22:17:15 +0000</pubDate>
		<dc:creator>Thierry ROFFINI</dc:creator>
		
		<category><![CDATA[Plateforme LAMP]]></category>

		<guid isPermaLink="false">http://blog.utopiaz.org/?p=14</guid>
		<description><![CDATA[Dans le cadre de mes projets personnels ou professionnels, l&#8217;utilisation d&#8217;un système de contrôle de version pour mes développements s&#8217;impose, voici donc un petit résumé de la manipulation à effectuer pour installer Subversion en mode multi-projets et les rendrent accessible via HTTPS sur une Debian.
1. Installez les packages nécessaires.
On lance une console, on passe en [...]]]></description>
			<content:encoded><![CDATA[<p>Dans le cadre de mes projets personnels ou professionnels, l&#8217;utilisation d&#8217;un système de contrôle de version pour mes développements s&#8217;impose, voici donc un petit résumé de la manipulation à effectuer pour installer <a href="http://fr.wikipedia.org/wiki/Subversion_%28logiciel%29" onclick="javascript:pageTracker._trackPageview('/outbound/article/fr.wikipedia.org');" target="_blank">Subversion</a> en mode multi-projets et les rendrent accessible via HTTPS sur une Debian.</p>
<p><strong>1. Installez les packages nécessaires.</strong></p>
<p>On lance une console, on passe en root, on update nos sources et on télécharge les packages suivants :</p>
<pre>apt-get update
apt-get install subversion subversion-tools libapache2-svn</pre>
<p><strong>2. Créer un répertoire pour le virtual host dédié à SVN.</strong></p>
<p>Nous créons le répertoire dédié à l&#8217;hébergement de nos projets SVN et on règle les droits sur celui-ci de la manière suivante :</p>
<pre>mkdir /home/svn
chmod 770 /home/svn</pre>
<p><span id="more-14"></span><strong>3. Mettre en place les référentiels.</strong></p>
<p>Comme nous voulons une gestion multi-projets, il nous faut créer plusieurs projets pour l&#8217;exemple et affecter l&#8217;utilisateur et groupe Apache sur ceux-ci :</p>
<pre>svnadmin create /home/svn/projet_1
svnadmin create /home/svn/projet_2
chown -R www-data:www-data /home/svn</pre>
<p><strong>4. Régler les autorisations d&#8217;accès aux référentiels.</strong></p>
<p>Il nous faut créer un fichier qui va définir les autorisations d&#8217;accès à nos référentiels en mode lecture et écriture, la manière de procéder est <a href="http://svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/svnbook.red-bean.com');" target="_blank">décrite ici</a>.</p>
<pre>vim /home/svn/.authz</pre>
<p><strong>5. Créer un répertoire pour les logs.</strong></p>
<p>On crée un répertoire pour stocker les logs d&#8217;accès et d&#8217;erreurs de notre virtual host :</p>
<pre>mkdir /home/svn/logs</pre>
<p><strong>6. Configuration du virtual host.</strong></p>
<pre>vim /etc/apache2/sites-available/svn.exemple.com</pre>
<p>Notre virtual host est en mode HTTPS mais vous êtes libre de le faire en port 80, à noter que nous mettons en place l&#8217;authentification Apache.</p>
<pre>&lt;VirtualHost [IP address]:443&gt;
  ServerName svn.example.com

  &lt;Location /&gt;
    DAV svn
    SVNParentPath /home/svn
    AuthzSVNAccessFile /home/svn/.authz

    AuthType Basic
    AuthName "Dépots Subversion"
    AuthUserFile /home/svn/.passwd
    Require valid-user
  &lt;/Location&gt;

  CustomLog /home/svn/logs/access.log combined
  ErrorLog /home/svn/logs/error.log

  SSLEngine on
  SSLCertificateFile /etc/ssl/server.pem
  SSLCertificateKeyFile /etc/ssl/server.key

&lt;/VirtualHost&gt;

&lt;VirtualHost [IP address]:80&gt;
  ServerName svn.example.com
  Redirect / https://svn.example.com/
&lt;/VirtualHost&gt;</pre>
<p><strong>7. On enclenche le virtual host pour Apache.</strong></p>
<pre>a2ensite svn.example.com</pre>
<p><strong>8. On crée notre couple user/login pour l&#8217;authenfication Apache.</strong></p>
<pre>touch /home/svn/.passwd
htpasswd -m /home/svn/.passwd username</pre>
<p><strong>9. On relance notre serveur Apache.</strong></p>
<pre>/etc/init.d/apache2 restart</pre>
<p>Et voilà nous avons un dépôt Subversion multi-projets prêt à recevoir nos développements, il nous reste à choisir un client SVN pour se connecter :</p>
<ul>
<li><a title="TortoiseSVN" href="http://tortoisesvn.tigris.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/tortoisesvn.tigris.org');" target="_blank">TortoiseSVN</a> (standalone windows)</li>
<li><a class="new" title="Subclipse" href="http://subclipse.tigris.org/" onclick="javascript:pageTracker._trackPageview('/outbound/article/subclipse.tigris.org');" target="_blank">Subclipse</a> (plugin eclipse donc multi-plateforme)</li>
<li><a class="new" title="ESvn" href="http://zoneit.free.fr/esvn/" onclick="javascript:pageTracker._trackPageview('/outbound/article/zoneit.free.fr');" target="_blank">eSvn</a> (standalone multi-plateforme)</li>
<li><a title="Metissian" href="http://metissian.com/projects/macosx/subversion/" onclick="javascript:pageTracker._trackPageview('/outbound/article/metissian.com');" target="_blank">Metissian</a> (standalone mac os X)</li>
</ul>
<p>Il ne me reste plus qu&#8217;à vous préparer un article sur l&#8217;installation de <a href="http://fr.wikipedia.org/wiki/Trac_(logiciel)" onclick="javascript:pageTracker._trackPageview('/outbound/article/fr.wikipedia.org');" target="_blank">trac</a>, une application web qui s&#8217;appuie sur SVN pour de la gestion de projets, en attendant je vais faire dodo &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.utopiaz.org/2008/04/mise-en-place-svn-et-virtual-hosts-apache/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Modification du DOC_ROOT de Suexec sous Debian</title>
		<link>http://blog.utopiaz.org/2008/04/modification-du-doc_root-de-suexec-sous-debian/</link>
		<comments>http://blog.utopiaz.org/2008/04/modification-du-doc_root-de-suexec-sous-debian/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 21:09:34 +0000</pubDate>
		<dc:creator>Thierry ROFFINI</dc:creator>
		
		<category><![CDATA[Plateforme LAMP]]></category>

		<guid isPermaLink="false">http://blog.utopiaz.org/?p=12</guid>
		<description><![CDATA[Lors de l&#8217;installation de ma plateforme LAMP, j&#8217;ai eu besoin de recompiler suexec pour pouvoir modifier son répertoire par défaut (option AP_DOC_ROOT) qui sous Debian se situe dans /var/www, voici une description rapide de la manipulation pour le définir dans /home/www par exemple.
On ouvre une console, on passe en root, on commence par updater nos [...]]]></description>
			<content:encoded><![CDATA[<p>Lors de l&#8217;installation de ma plateforme LAMP, j&#8217;ai eu besoin de recompiler suexec pour pouvoir modifier son répertoire par défaut (option AP_DOC_ROOT) qui sous Debian se situe dans /var/www, voici une description rapide de la manipulation pour le définir dans /home/www par exemple.</p>
<p>On ouvre une console, on passe en root, on commence par updater nos sources et on télécharge la version dev de dpkg :</p>
<pre>apt-get update
apt-get install dpkg-dev</pre>
<p>On passe dans un répertoire dédié à la compilation de nos sources et on télécharge les sources d&#8217;apache :</p>
<pre>cd compilation/
apt-get source apache2</pre>
<p><span id="more-12"></span>Puis selon la version de votre apache on se déplace dans le répertoire suivant :</p>
<pre>cd apache2-2.x.x/support/</pre>
<p>Ensuite on édite le fichier suexec.h pour modifier les options suivantes :<br />
On remplace :</p>
<pre>#define AP_HTTPD_USER "www"</pre>
<p>Par :</p>
<pre>#define AP_HTTPD_USER "www-data"</pre>
<p>On remplace :</p>
<pre>#define AP_LOG_EXEC DEFAULT_EXP_LOGFILEDIR "/suexec_log"</pre>
<p>Par :</p>
<pre>#define AP_LOG_EXEC "/var/log/apache2/suexec.log"</pre>
<p>On remplace :</p>
<pre>#define AP_DOC_ROOT DEFAULT_EXP_HTDOCSDIR</pre>
<p>Par :</p>
<pre>#define AP_DOC_ROOT "/home/www"</pre>
<p>Ensuite il nous faut lancer le &#8220;./configure&#8221; avant de compiler :</p>
<pre>~/apache2-2.x.x/support# cd ..
~/apache2-2.x.x# ./configure</pre>
<p>Il nous reste plus qu&#8217;a lancer le &#8220;make&#8221; pour compiler suexec :</p>
<pre>~/apache2-2.x.x# cd support/
~/apache2-2.x.x/support# make suexec</pre>
<p>Une fois compilé, il nous faut remplacer le suexec original :</p>
<pre>~/apache2-2.x.x/support# cp suexec /usr/lib/apache2/suexec</pre>
<p>Pour vérifier que notre modification à porter ses fruits, lancer cette commande :</p>
<pre>/usr/lib/apache2/suexec -V</pre>
<p>Le résultat devrait ressembler à celui-ci :</p>
<pre>-D AP_DOC_ROOT="/home/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="www-data"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"</pre>
<p>Il nous faut relancer apache pour prendre en compte notre nouveau suexec :</p>
<pre>/etc/init.d/apache2 restart</pre>
<p>J&#8217;ai eu ce besoin pour pouvoir faire une installation de PHP en mode &#8220;fastcgi&#8221;, je vous prépare un petit article sur le sujet pour très bientôt &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.utopiaz.org/2008/04/modification-du-doc_root-de-suexec-sous-debian/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
