<?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>Blog de Cédric &#187; Apache &#8211; PHP &#8211; MySQL</title>
	<atom:link href="https://blog.developpez.com/cchatelain/pcategory/informatique/apache-php-mysql/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/cchatelain</link>
	<description>All you need is LAMP</description>
	<lastBuildDate>Sun, 07 Apr 2013 18:02:03 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Pourquoi recompiler Apache sous Linux ?</title>
		<link>https://blog.developpez.com/cchatelain/p607/informatique/pourquoi_recompiler_apache_sous_linux</link>
		<comments>https://blog.developpez.com/cchatelain/p607/informatique/pourquoi_recompiler_apache_sous_linux#comments</comments>
		<pubDate>Thu, 31 Mar 2005 10:56:24 +0000</pubDate>
		<dc:creator><![CDATA[cchatelain]]></dc:creator>
				<category><![CDATA[Apache - PHP - MySQL]]></category>
		<category><![CDATA[Informatique]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[On peut installer Apache de plusieurs façons sous Linux : &#8211; installer un RPM &#8211; compiler à partir des sources. Bien sur, maintenant on trouve des binaires adaptées à la majorité des distribution. L&#8217;installation parait donc plus simple. Je dis parait car, une fois qu&#8217;on a testé, on se rend compte que la compilation n&#8217;est pas obligatoirement une étape compliquée. On peut donc se demander quels sont les avantages de chacune des méthodes. Les avantages [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>On peut installer Apache de plusieurs façons sous Linux :</p>
<p>&#8211; installer un RPM<br />
&#8211; compiler à partir des sources.</p>
<p>Bien sur, maintenant on trouve des binaires adaptées à la majorité des distribution. L&rsquo;installation parait donc plus simple. Je dis parait car, une fois qu&rsquo;on a testé, on se rend compte que la compilation n&rsquo;est pas obligatoirement une étape compliquée. On peut donc se demander quels sont les avantages de chacune des méthodes.<br />
<span id="more-23"></span><br />
Les avantages du RPM :<br />
&#8211; moins d&rsquo;étapes à passer<br />
&#8211; une gestion des services automatique avec démarrage du serveur au boot</p>
<p>Les avantages de la compilation<br />
&#8211; la possibilité d&rsquo;intégrer des modules comme le PHP qui ne sera pas appelé en mode CGI mais en direct<br />
&#8211; la possibilité d&rsquo;intégrer des modules comme DSO (voir : <a href="http://blog.developpez.com/index.php?blog=27&amp;title=installer_des_modules_apaches_avec_apxs&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1" target="_blank">Installer des modules Apaches avec APXS</a>)<br />
&#8211; pour les experts, la possibilité de customiser le code Apache</p>
<p>Donc, pour résumer, une compilation Apache pourra offrir des performances accrues (en particulier dans le cas d&rsquo;une utilisation intensive du PHP) et offrira plus de souplesse pour la gestion de modules Apache.</p>
<p>Les étapes que j&rsquo;ai suivi sur Fedora Core 3 :</p>
<p>&#8211; Installation de MySQL en RPM. Pour MySQL, je n&rsquo;ai pas trouvé d&rsquo;intéret à recompiler. Je dois ajouter, pour ceux qui ont une Fedora Core 3 que MySQL 4.0 est à préférer à MySQL 4.1 qui m&rsquo;a posé pas mal soucis. d&rsquo;autres parts, il semble que la gestion des mots de passe soit différente entre MySQL 4.0 et les versions suivantes (ce qui n&rsquo;est pas sans conséquences dans phpMyAdmin). La fonction old_password est alors à utiliser pour retrouver le même fonctionnement.</p>
<p>&#8211; Download et compilation d&rsquo;Apache (moi j&rsquo;ai choisi la version 1.3.33 et je l&rsquo;ai compilé dans /usr/local/apache/)</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;$ cd /usr/local/apache <br />
$ ./configure --prefix=/usr/local/apache <br />
$ make <br />
$ make install</div></div>
<p>&#8211; Download et compilation de PHP (mon choix a été PHP 4.3.10 compilé dans /usr/local/PHP)</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;$ cd /usr/local/php <br />
$ ./configure --with-mysql --with-config-file=/usr/local/apache/conf --with-apache=/usr/local/apache --enable-track-vars --enable-calendar --with-jpeg-dir --with-png-dir --enable-ftp --with-zlib-dir --with-xml --with-gd --enable-gd-native-ttf --with-freetype-dir --with-gettext --enable-trans-sid <br />
$ make <br />
$ make install</div></div>
<p>Notez qu&rsquo;on indique le chemin du serveur Apache</p>
<p>&#8211; Re compilation d&rsquo;Apache</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ ./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --enable-module=all <br />
$ make <br />
$ make install</div></div>
<p>Copie du fichier de configuration PHP</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;$ cd /usr/local/php <br />
$ cp php.ini-dist /usr/local/lib/php.ini</div></div>
<p>Il ne faut pas non plus oublier de préciser dans httpd.conf :<br />
<code class="codecolorer text default"><span class="text">AddType application/x-httpd-php .php</span></code><br />
et</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;IfModule mod_dir.c&gt; <br />
&nbsp; &nbsp; DirectoryIndex index.html index.php <br />
&lt;/IfModule&gt;</div></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quelle interface PHP pour gérer ses bases MySQL ?</title>
		<link>https://blog.developpez.com/cchatelain/p536/informatique/quelle_interface_php_pour_gerer_ses_base</link>
		<comments>https://blog.developpez.com/cchatelain/p536/informatique/quelle_interface_php_pour_gerer_ses_base#comments</comments>
		<pubDate>Wed, 09 Mar 2005 06:30:00 +0000</pubDate>
		<dc:creator><![CDATA[cchatelain]]></dc:creator>
				<category><![CDATA[Apache - PHP - MySQL]]></category>
		<category><![CDATA[Informatique]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Pour gérer mes bases MySQL j&#8217;ai fait je choix PHP. Pourquoi ce choix ? Parceque cela me permet d&#8217;avoir la même interface depuis les postes Linux et Windows, ce que j&#8217;apprécie fortement car je n&#8217;ai pas à me poser de questions, la présentation et le fonctionnels sont toujours les mêmes. phpMyAdmin : Très complet, il permet de gérer les utilisateurs, les mots de passe, les droits d&#8217;accès, et toutes les opérations courantes en base de [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Pour gérer mes bases MySQL j&rsquo;ai fait je choix PHP.</p>
<p>Pourquoi ce choix ? Parceque cela me permet d&rsquo;avoir la même interface depuis les postes Linux et Windows, ce que j&rsquo;apprécie fortement car je n&rsquo;ai pas à me poser de questions, la présentation et le fonctionnels sont toujours les mêmes.</p>
<p><a href="http://www.phpmyadmin.net/home_page/index.php" target = "_blank">phpMyAdmin</a> : </p>
<p>Très complet, il permet de gérer les utilisateurs, les mots de passe, les droits d&rsquo;accès, et toutes les opérations courantes en base de données comme les créations et modifications de tables, l&rsquo;insertion, la modification et la consultation de données.<br />
Toutefois je me suis apperçu il y a peu de temps qu&rsquo;il n&rsquo;affiche pas les champs blob.</p>
<p><a href="http://www.phptools4u.com/scripts/eskuel/" target="_blank">esKUel</a> :</p>
<p>Lui m&rsquo;a permis d&rsquo;afficher les champs blob qui me posaient problème, mais il ne gère pas les utilisateurs et les droits d&rsquo;accès comme le fait phpMyAdmin&#8230;. <img src="https://blog.developpez.com/cchatelain/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" /> Il a quand même une interface facile qui facilite les opérations sur les tables telles que le renommage, le déplacement, la copie, le dump d&rsquo;une table etc etc&#8230;</p>
<p><a href="http://www.global-dev.com/mysqlphp/" target="_blank">MySQL.php</a> : </p>
<p>Avec une interface trè simple ce script permet de faire les opérations de gestion de données dans une base. Au programe : Création de table et de bases, modification de structure et gestion des données (édition, insertion, suppression et dump). Malheureusement la zone de saisie des requêtes est trop petite et l&rsquo;interface demande de l&rsquo;habitude.</p>
<p>Ma conclusion : l&rsquo;ensemble phpMyAdmin &#8211; esKUel répond entièrement à mes besoins. Il est dommage que phpMyAdmin n&rsquo;affiche pas les champs blob, il ne lui manque pas grand chose pour répondre à 100 % de mes attentes. Mais je ne désespère pas d&rsquo;une évolution ou de trouver un produit qui offre tout ce que j&rsquo;attends&#8230; Si c&rsquo;est le cas je ne manquerai pas de le faire savoir.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>IBM investit sur PHP</title>
		<link>https://blog.developpez.com/cchatelain/p533/informatique/ibm_investit_sur_php</link>
		<comments>https://blog.developpez.com/cchatelain/p533/informatique/ibm_investit_sur_php#comments</comments>
		<pubDate>Mon, 07 Mar 2005 23:29:00 +0000</pubDate>
		<dc:creator><![CDATA[cchatelain]]></dc:creator>
				<category><![CDATA[Apache - PHP - MySQL]]></category>
		<category><![CDATA[Informatique]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Pour l&#8217;ouverture de mon blog je vous donne cette info sur un langage qui me plait beaucoup : le PHP. IBM a décidé d&#8217;apporter son soutien à PHP en ouvrant l&#8217;accès à ses serveurs via PHP. Dans un premier temps l&#8217;effort porte sur les main frames et en particulier à des accès comme DB2, mais la suite devrait concerner les serveurs iSeries comme AIX et les serveurs Linux. Une bonne nouvelle je trouve. Surtout étant [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Pour l&rsquo;ouverture de mon blog je vous donne cette info sur un langage qui me plait beaucoup : le PHP.</p>
<p>IBM a décidé d&rsquo;apporter son soutien à PHP en ouvrant l&rsquo;accès à ses serveurs via PHP. Dans un premier temps l&rsquo;effort porte sur les main frames et en particulier à des accès comme DB2, mais la suite devrait concerner les serveurs iSeries comme AIX et les serveurs Linux.</p>
<p>Une bonne nouvelle je trouve. Surtout étant un fervant admirateur de tout ce qui est open source <img src="https://blog.developpez.com/cchatelain/wp-includes/images/smilies/icon_smile.gif" alt=":-)" class="wp-smiley" /></p>
<p>Plus d&rsquo;informations <a href="http://www.zdnet.fr/actualites/informatique/0,39040745,39208712,00.htm" target="_blank">ici</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installer des modules Apaches avec APXS</title>
		<link>https://blog.developpez.com/cchatelain/p545/informatique/installer_des_modules_apaches_avec_apxs</link>
		<comments>https://blog.developpez.com/cchatelain/p545/informatique/installer_des_modules_apaches_avec_apxs#comments</comments>
		<pubDate>Thu, 10 Mar 2005 09:15:00 +0000</pubDate>
		<dc:creator><![CDATA[cchatelain]]></dc:creator>
				<category><![CDATA[Apache - PHP - MySQL]]></category>
		<category><![CDATA[Informatique]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[APXS (APache eXtenSion) est un utilitaire qui permet de compiler et d&#8217;installer des modules Apache. C&#8217;est un script PERL qui, contrairement à la commande configure, a la possibilité de traiter des modules composés de plusieurs fichiers sources / objets. Exceptés les modules comme OpenSSL, qui nécessitent la modification du code source d&#8217;Apache, la pluspart peuvent être compilés et installés par APXS. Pré requis : APXS construit un objet dynamique partagé (DSO : Dynamic Shared Object) [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><b>APXS (APache eXtenSion)</b> est un utilitaire qui permet de compiler et d&rsquo;installer des modules Apache. C&rsquo;est un script PERL qui, contrairement à la commande configure, a la possibilité de traiter des modules composés de plusieurs fichiers sources / objets.</p>
<p>Exceptés les modules comme OpenSSL, qui nécessitent la modification du code source d&rsquo;Apache, la pluspart peuvent être compilés et installés par APXS.<br />
<span id="more-22"></span><br />
<b>Pré requis</b> :</p>
<p>APXS construit un objet dynamique partagé (DSO : Dynamic Shared Object) et se base donc sur le module mod_so qui permettra ensuite de faire un &laquo;&nbsp;LoadModule&nbsp;&raquo;. La commande<br />
<code class="codecolorer text default"><span class="text">httpd -l</span></code></p>
<p>doit faire apparaitre mod_so dans la liste des modules chargés.</p>
<p><b>Options de compilation DSO</b> :</p>
<p><b>-c</b> : Compile et lie le module à partir d&rsquo;un ou plusieurs fichiers source dont on a fournit le nom. active les options suivantes :</p>
<p>    <i><b>-o fichier</b> : Précise le nom du module résultant<br />
    <b>-D nom=valeur</b> : Précise des directives à utiliser pour le module de compilation<br />
    <b>-I répertoire</b> : Ajoute un répertoire de fichiers en-têtes au processus de compilation<br />
    <b>-L répertoire</b> : Ajoute un répertoire de bibliothèques au processus de compilation<br />
    <b>-l bibliothèque</b> : Ajoute une bibliothèque au processus de compilation<br />
    <b>-Wc drapeaux</b> : Passe des &laquo;&nbsp;drapeaux&nbsp;&raquo; au compilateur<br />
    <b>-Wl drapeaux</b> : Passe des &laquo;&nbsp;drapeaux&nbsp;&raquo; au lieur</i></p>
<p><b>Options d&rsquo;installation des modules compilés</b> :</p>
<p><b>-i</b> : installe le module compilé.<br />
active les options suivantes :</p>
<p>    <i><b>-a</b> : Modifie le httpd.conf pour lui ajouter les commandes de loadmodule<br />
    <b>-A</b> : Modifie le httpd.conf pour lui ajouter les commandes de loadmodule sous forme de commentaires</i></p>
<p><b>-e</b> : Fonctionne comme -i mais avec seulement l&rsquo;édition du httpd.conf et sans installer le module compilé.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protéger une URL sous apache</title>
		<link>https://blog.developpez.com/cchatelain/p540/informatique/proteger_une_url_sous_apache</link>
		<comments>https://blog.developpez.com/cchatelain/p540/informatique/proteger_une_url_sous_apache#comments</comments>
		<pubDate>Wed, 09 Mar 2005 12:00:00 +0000</pubDate>
		<dc:creator><![CDATA[cchatelain]]></dc:creator>
				<category><![CDATA[Apache - PHP - MySQL]]></category>
		<category><![CDATA[Informatique]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Une question qui revient souvent sur les forums : comment protéger un dossier et contrôler son accès quand on a un serveur apache ? La première possibilité est de passer pas la déclaration de directory dans le fichier de configuration apache. A l&#8217;intérieur de ce conteneur on pourra utiliser les directives allow et deny qui vont permettre de restreindre les accès en fonctiond des adresses IP ou de noms de domaines. La directive allow donne [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Une question qui revient souvent sur les forums : comment protéger un dossier et contrôler son accès quand on a un serveur apache ?</p>
<p><b>La première possibilité</b> est de passer pas la déclaration de directory dans le fichier de configuration apache. A l&rsquo;intérieur de ce conteneur on pourra utiliser les directives allow et deny qui vont permettre de restreindre les accès en fonctiond des adresses IP ou de noms de domaines.<br />
<span id="more-21"></span><br />
La directive allow donne des autorisation et deny empèche les accès. la directive order indique l&rsquo;ordre d&rsquo;attribution et des interdictions.</p>
<p>Les directives allow et deny ont un fonctionnement similaire : on peut les utiliser avec un nom de domaine, même partiel :<br />
<code class="codecolorer text default"><span class="text">Deny from .domaine.net</span></code></p>
<p>avec des adresses ip<br />
<code class="codecolorer text default"><span class="text">Deny from 192.168.0.2</span></code></p>
<p>avec des masques d&rsquo;adresses ip</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Deny from192.168.1 <br />
Deny from 192.168.1.0/255.255.255.0</div></div>
<p>La directive order définit l&rsquo;ordre d&rsquo;application des règles. Par exemple dans</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Order Deny, Allow <br />
Allow from 192.168.0.2 <br />
Deny from all</div></div>
<p>on commence par bloquer tout le monde et on autorise l&rsquo;IP 192.168.0.2. La même chose avec une directive Order Allow, Deny aurait eu pour effet de bloquer tout le monde.</p>
<p><b>Deuxième possibilité :</b> passer par un fichier .htaccess.</p>
<p>Ce fichier permet d&rsquo;ajouter des directives de configuration qui vont concerner un repertoire donné et ses sous dossiers. Son principal avantage est de pouvoir être mis en place à n&rsquo;importe quel moment sans avoir à redémarrer le serveur Apache. Les directives contenues dans le fichier .htaccess viennent alors se substituer aux directives du fichier de configuration apache. Bien sur il faut définir dans ce dernier quelles sont les directives du .htaccess que l&rsquo;on autorise à se subsituer à la configuration du serveur.</p>
<p>On le fait par l&rsquo;option AllowOverrides. Elle peut prendre les valeurs :<br />
<u>None</u> pour interdire les effets d&rsquo;un fichier .htaccess<br />
<u>Authconfig</u> pour pouvoir gérer les droits d&rsquo;accès avec le .htaccess<br />
<u>FileInfo</u> pour autoriser les directives qui contrôlent le type des documents<br />
<u>Index</u> pour celles contrôlant l&rsquo;indexation des répertoires<br />
<u>Limit</u> pour contrôler l&rsquo;accès en fonction du nom de l&rsquo;hôte ou de son IP<br />
<u>Options</u> pour des directives spéciales</p>
<p>AllowOverrides devra être indiqué au niveau du conteneur directory si on veut qu&rsquo;il soit effectif pour un alias donné ou au niveau des options générales du serveur si on veut profiter ses effets au niveau du dossier &laquo;&nbsp;document root&nbsp;&raquo; et de ses sous dossiers.</p>
<p><b>Le contenu du fichier .htaccess :</b></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">AuthUserFile &quot;/xxx/xxx/.htpasswd&quot; <br />
AuthGroupFile &quot;/xxx/xxx&quot; <br />
AuthName Authentification <br />
AuthType Basic <br />
&lt;Limit GET POST&gt; <br />
require user Daniel <br />
require user Bernard <br />
&lt;/Limit&gt;</div></div>
<p>AuthName indique le domaine d&rsquo;identification. Ce nom sera affiché dans la fenêtre d&rsquo;authentification<br />
<img src="http://cchatelain.ftp-developpez.com/images/authentif.png" alt="" title=""/></p>
<p>AuthType indique le type d&rsquo;identification qui sera utilisé. Il est possible de choisir basic ou digest qui offre l&rsquo;avantage de ne pas transmettre le mot de passe en clair sur le réseau.<br />
AuthUserFile et AuthGroupFile indiquent respectivement l&rsquo;emplacement du fichiers des utilisateurs et des groupes. Pour ma part je me contente de définir des utilisateurs.<br />
require peut être suivi de valid-user pour n&rsquo;importe quel utilisateur défini dans le fichier passwd ou de user et du nom d&rsquo;un utilisateur.</p>
<p><b>Générer les mot de passe utilisateurs dans le fichier .htpasswd :</b></p>
<p>Sous Linux il suffit d&rsquo;utiliser htpasswd qui est fourni avec Apache.</p>
<p>htpasswd [option] Chemin-du-fichier-htpasswd nom-utilisateur<br />
l&rsquo;utilitaire demandera la saisie du mot de passe et sa confirmation.</p>
<p>les options :<br />
-c pour créer un nouveau fichier utilisateurs (attention à ne pas écraser un fichier existant)<br />
-b pour empécher le chiffrement du mot de passe dans le fichier<br />
-m -s et -p indique l&rsquo;algorithme de chiffrement à utiliser : MD5, SHA ou texte brut</p>
<p>Sous Windows il faut utiliser un utilitaire téléchargé sur le web, on en trouve beaucoup. Vous pouvez par exemple utiliser le htpasswd.exe fourni avec easyphp ou wamp server, les 2 solutions Apache MySQL PHP packagées pour Windows. Le principe d&rsquo;utilisation est le même que pour Linux.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
