<?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>php-experts.org - développement php et internet &#187; apache</title>
	<atom:link href="http://www.php-experts.org/tag/apache/feed" rel="self" type="application/rss+xml" />
	<link>http://www.php-experts.org</link>
	<description>Ressources sur le développement internet, PHP/MySQL, Ajax, marketing online, référencement...</description>
	<lastBuildDate>Sun, 27 Jun 2010 23:09:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Apache, VirtualHost et ServerAlias</title>
		<link>http://www.php-experts.org/developpement-web/admin-serveur/apache-virtualhost-et-serveralias-26</link>
		<comments>http://www.php-experts.org/developpement-web/admin-serveur/apache-virtualhost-et-serveralias-26#comments</comments>
		<pubDate>Mon, 20 Oct 2008 21:26:17 +0000</pubDate>
		<dc:creator>Didier</dc:creator>
				<category><![CDATA[Admin serveur]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[vhost]]></category>
		<category><![CDATA[virtual host]]></category>

		<guid isPermaLink="false">http://www.php-experts.org/?p=26</guid>
		<description><![CDATA[Lorsqu&#8217;on adapte la configuration d&#8217;un serveur Apache pour gérer un nouveau domaine, il faut théoriquement créer autant de VirtualHosts que ce qu&#8217;on aura de sous-domaines. Et si chaque utilisateur enregistré devait avoir son propre sous-domaine (comme sur une plate-forme de blogs, par exemple) ?

Rien de plus simple, en fait&#8230; La directive ServerAlias permet d&#8217;utiliser des [...]]]></description>
			<content:encoded><![CDATA[<p>Lorsqu&#8217;on adapte la configuration d&#8217;un serveur Apache pour gérer un nouveau domaine, il faut théoriquement créer autant de VirtualHosts que ce qu&#8217;on aura de sous-domaines. Et si chaque utilisateur enregistré devait avoir son propre sous-domaine (comme sur une plate-forme de blogs, par exemple) ?<br />
<span id="more-26"></span><br />
Rien de plus simple, en fait&#8230; La directive ServerAlias permet d&#8217;utiliser des wildcards, pour désigner &#8220;tous les sous-domaines&#8221;. L&#8217;étoile (*) fonctionne alors comme une parenthèse capturante dans une expression régulière. La directive VirtualDocumentRoot, elle, accepte des paramètres en %N (où N est un nombre entier), avec N correspondant à la place de l&#8217;étoile dans la chaîne. %1 est la première chaîne qui a matché une étoile. </p>
<p>Pas clair ? Ok, un exemple :</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;VirtualHost *&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; ServerName domain.tld</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; ServerAlias *.domain.tld</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; VirtualDocumentRoot /var/www/domain.tld/%<span class="nu0">1</span>/</div>
</li>
<li class="li2">
<div class="de2">&lt;/VirtualHost&gt;</div>
</li>
</ol>
</div>
<p>Pas plus compliqué&#8230; Le * va capturer le sous-domaine et le passer au VirtualDocumentRoot. Donc pour test.domain.tld, on tombera dans /var/www/domain.tld/test/.</p>
<p>Dans le &lt;VirtualHost&gt;, après un VirtualDocumentRoot, on peut utiliser des directives <Directory> comme d&#8217;habitude. (Je n&#8217;ai pas essayé d&#8217;y reprendre le %1, pour modifier les options de configuration de l&#8217;ensemble des dossiers &#8220;virtuels&#8221;&#8230;  quelqu&#8217;un sait si ça marche ?)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.php-experts.org/developpement-web/admin-serveur/apache-virtualhost-et-serveralias-26/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Coder un système d&#8217;authentification : Apache ET bases de données</title>
		<link>http://www.php-experts.org/developpement-web/php-developpement-web/coder-un-systeme-dauthentification-apache-et-bases-de-donnees-11</link>
		<comments>http://www.php-experts.org/developpement-web/php-developpement-web/coder-un-systeme-dauthentification-apache-et-bases-de-donnees-11#comments</comments>
		<pubDate>Wed, 09 Jul 2008 09:00:15 +0000</pubDate>
		<dc:creator>Didier</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[droits d'accès]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.php-experts.org/?p=11</guid>
		<description><![CDATA[Quand on veut gérer un système d&#8217;authentification en PHP pour un intranet (qui demande plus de rigueur et de sécurité qu&#8217;un site internet), on se retrouve à priori avec deux solutions valables: soit un formulaire relié à une base de données, le classique du Web/frontoffice, soit un fichier htpasswd, le classique du Backoffice, plus sûr [...]]]></description>
			<content:encoded><![CDATA[<p>Quand on veut gérer un système d&#8217;authentification en PHP pour un intranet (qui demande plus de rigueur et de sécurité qu&#8217;un site internet), on se retrouve à priori avec deux solutions valables: soit un formulaire relié à une base de données, le classique du Web/frontoffice, soit un fichier htpasswd, le classique du Backoffice, plus sûr mais moins flexible (notamment au niveau de l&#8217;ajout d&#8217;utilisateur ou de la gestion des droits d&#8217;accès). J&#8217;ai mis longtemps à me rendre compte qu&#8217;on pouvait mixer les deux pour avoir quelque chose de souple et de fiable.<br />
<span id="more-11"></span></p>
<p>En manipulant les headers Apache en <strong>PHP</strong>, on peut forcer le serveur à demander une authentification au visiteur, comme avec un .htaccess/htpasswd. Il suffit pour cela d&#8217;ajouter : </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;WWW-Authenticate: Basic realm=&quot;Administration &#8211; Accès restreint&quot;&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/header"><span class="kw3">header</span></a><span class="br0">&#40;</span><span class="st0">&#8216;HTTP/1.0 401 Unauthorized&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.php.net/exit"><span class="kw3">exit</span></a>;</div>
</li>
</ol>
</div>
<p>Quand on arrive sur la page, une &#8220;jolie&#8221; boite apparaît :<br />
<img src="http://www.php-experts.org/wp-content/uploads/2008/07/auth.png" alt="Exemple de boite de dialogue d\&#039;authentification" title="Authentification 401" width="500" height="150" class="alignnone size-full wp-image-12" /><br />
C&#8217;est en faisant un var_dump($_SERVER) sur l&#8217;index du dossier qu&#8217;on remarque les deux variables qui vont nous servir : PHP_AUTH_USER et PHP_AUTH_PW. Celles-ci contiennent les valeurs des deux champs de la boîte de dialogue qu&#8217;Apache a fait remplir à votre visiteur. En y pluggant un système de login &#8220;classique&#8221;, qui va chercher une correspondance entre ces données et celles contenues dans une <strong>base de données</strong>, on se retrouve avec un module de login par headers http, envoyés par php, et couplé à une base de données dans laquelle on peut, notamment, stocker un niveau d&#8217;accès pour chaque utilisateur (et utiliser le <a href="http://www.php-experts.org/developpement-web/gerer-ses-droits-et-acces-utilisateurs-en-php-le-bit-bashing-10">Bit Bashing</a>&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.php-experts.org/developpement-web/php-developpement-web/coder-un-systeme-dauthentification-apache-et-bases-de-donnees-11/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
