<?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>CoolCoyote.net &#187; apache</title>
	<atom:link href="http://www.coolcoyote.net/tag/apache/feed" rel="self" type="application/rss+xml" />
	<link>http://www.coolcoyote.net</link>
	<description>Coding - Linux</description>
	<lastBuildDate>Sun, 07 Nov 2010 15:27:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rediriger le traffic HTTP d&#8217;un serveur à un autre avec Apache</title>
		<link>http://www.coolcoyote.net/linux-debian/rediriger-le-traffic-http-dun-serveur-a-un-autre-avec-apache</link>
		<comments>http://www.coolcoyote.net/linux-debian/rediriger-le-traffic-http-dun-serveur-a-un-autre-avec-apache#comments</comments>
		<pubDate>Tue, 04 Aug 2009 20:13:07 +0000</pubDate>
		<dc:creator>Denis S.</dc:creator>
				<category><![CDATA[Linux Debian]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[proxy]]></category>

		<guid isPermaLink="false">http://www.coolcoyote.net/?p=170</guid>
		<description><![CDATA[Un site  est sur un serveur dédié A. Vous voulez le migrer sur un serveur dédié B. La migration des fichiers et de la base de données éventuelle ne pose pas spécialement de problème. Ce qui est plus délicat, c&#8217;est lorsque vous allez modifier les pointages DNS du nom de domaine : en effet, [...]]]></description>
			<content:encoded><![CDATA[<p>Un site  est sur un serveur dédié A. Vous voulez le migrer sur un serveur dédié B. La migration des fichiers et de la base de données éventuelle ne pose pas spécialement de problème. Ce qui est plus délicat, c&#8217;est lorsque vous allez modifier les pointages DNS du nom de domaine : en effet, le temps de la propagation, certains visiteurs vont rapidement arriver sur le serveur dédié B alors que d&#8217;autres vont rester bloqués sur le serveur A pendant 24 à 48h. Si dans le cadre d&#8217;un site statique cela ne pose aucun souci, c&#8217;est plus problématique dans le cas d&#8217;un site dynamique car cela peut engendrer une désynchronisation de la base de données entre les deux serveurs et conduire à des pertes de données.</p>
<p>L&#8217;idéal serait que le serveur A puisse rediriger les visiteurs sur le serveur B le temps de la propagation des DNS. Apache va nous y aider.</p>
<p><span id="more-170"></span></p>
<p>Pour cela il faut dans un premier temps activer le module proxy dans Apache. Nous allons ici nous contenter de rediriger le traffic HTTP uniquement.</p>
<pre class="code">&gt; cd /etc/apache2/mods-enabled
&gt; ln -s ../mods-available/proxy.conf proxy.conf
&gt; ln -s ../mods-available/proxy.load proxy.load
&gt; ln -s ../mods-available/proxy_http.load proxy_http.load</pre>
<p>Ensuite on va modifier le virtualhost du domaine en question:</p>
<pre class="code">&lt;VirtualHost *&gt;
    ServerName mondomaine.com
    ServerAlias mondomaine.com www.mondomaine.com

    &lt;Proxy *&gt;
        Order deny,allow
        Allow from all
    &lt;/Proxy&gt;

    ProxyRequests Off
    ProxyPass / http://mon_ip_de_domaine/~user/
    ProxyPassReverse / http://mon_ip_de_domaine/~user/
&lt;/VirtualHost&gt;</pre>
<p>Dans ce schéma, nous voyons que sur le serveur de destination nous avons activé le <strong>mod_userdir</strong> afin de pouvoir accéder au site par une adresse temporaire.</p>
<p>Un petit</p>
<pre class="code">&gt; /etc/init.d/apache2 reload</pre>
<p>et votre traffic devrait être redirigé.</p>
<p>Attention cependant pour tous les sites dynamiques utilisant PHP : avec cette méthode,  les variables <strong>$_SERVER['PHP_SELF']</strong> et <strong>$_SERVER['REQUEST_URI']</strong> auront les informations du serveur de destination&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coolcoyote.net/linux-debian/rediriger-le-traffic-http-dun-serveur-a-un-autre-avec-apache/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuration d&#8217;un serveur dédié chez OVH</title>
		<link>http://www.coolcoyote.net/linux-debian/configuration-dun-serveur-dedie-chez-ovh</link>
		<comments>http://www.coolcoyote.net/linux-debian/configuration-dun-serveur-dedie-chez-ovh#comments</comments>
		<pubDate>Wed, 15 Jul 2009 15:57:35 +0000</pubDate>
		<dc:creator>Denis S.</dc:creator>
				<category><![CDATA[Linux Debian]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[Exim4]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ovh]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpMyAdmin]]></category>
		<category><![CDATA[ProFTPD]]></category>
		<category><![CDATA[serveur dédié]]></category>

		<guid isPermaLink="false">http://www.coolcoyote.net/?p=64</guid>
		<description><![CDATA[Ça faisait un moment que je n&#8217;avais pas eu à configurer un serveur dédié pour de la production. L&#8217;occasion d&#8217;en faire un petit article, le but étant de faire un serveur très basique, sans gestion de boîte mails, sans LDAP, sans chroot, etc. Juste une base LAMP.
Ce serveur dédié a été choisi chez OVH. J&#8217;ai [...]]]></description>
			<content:encoded><![CDATA[<p>Ça faisait un moment que je n&#8217;avais pas eu à configurer un serveur dédié pour de la production. L&#8217;occasion d&#8217;en faire un petit article, le but étant de faire un serveur très basique, sans gestion de boîte mails, sans LDAP, sans chroot, etc. Juste une base LAMP.</p>
<p>Ce serveur dédié a été choisi chez OVH. J&#8217;ai bien sûr demandé une Debian nue mais ça n&#8217;a pas vraiment été le cas. En fait, OVH livre une distribution Debian avec un noyau personnalisé et plusieurs outils installés par défaut. Suite à une mésaventure lors du passage de <strong>Etch</strong> à <strong>Lenny</strong> sur un de mes dédiés, j&#8217;ai décidé de ne plus laisser le noyau d&#8217;OVH mais d&#8217;installer un noyau standard. Si cette manipulation vous intéresse, <a href="http://www.coolcoyote.net/linux-debian/changer-le-noyau-dune-debian-ovh">voyez ce billet</a>. Sinon ce qui suit fonctionne quand même parfaitement.</p>
<p><span id="more-64"></span></p>
<h3>Les outils</h3>
<p>La première chose que je fais en arrivant sur une installation neuve, c&#8217;est de configurer le raccourcit <strong>ll</strong> afin d&#8217;avoir un <strong>ls</strong> détaillé et en couleur. J&#8217;ai déjà fais un billet là-dessus que vous pourrez trouver <a href="http://www.coolcoyote.net/linux-debian/raccourcis-et-couleurs-sous-la-console">à cette adresse</a>.</p>
<p>La deuxième chose est de configurer un accès par clé privée <strong>ssh</strong>. L&#8217;article est <a href="http://www.coolcoyote.net/linux-debian/ssh-cle-publiqueprivee">à cet endroit</a>.</p>
<p>Ceci fait, nous allons faire une première mise à jour du système:</p>
<pre class="code">&gt; apt-get update
&gt; apt-get -u dist-upgrade</pre>
<p>Vient ensuite l&#8217;installation de quelques outils. Chez moi ils étaient déjà pré-installés mais s&#8217;ils ne le sont pas, faites-le:</p>
<ul>
<li><strong>aptitude</strong> (permet de gérer les packages dans un mode semi-graphique)</li>
<li><strong>vim</strong> (qui est une version un peu plus évoluée de vi et qui permet notamment la coloration synthaxique)</li>
<li><strong>screen</strong> (permet de créer des consoles virtuelles supplémentaires, voir <a href="http://www.coolcoyote.net/linux-debian/les-screens-sous-debian">ce billet</a>)</li>
</ul>
<p>Pour activer la coloration syntaxique dans <strong>vim</strong> il faut taper la commande</p>
<pre class="code">:syn on</pre>
<p>Si vous voulez qu&#8217;elle soit permanente, créez le fichier <strong>.vimrc </strong>dans votre répertoire utilisateur et insérez la ligne de commande:</p>
<pre class="code">syn on</pre>
<h3>Déplacer le dossier /var</h3>
<p>Je pense que la première chose à faire, avant de se retrouver avec des daemons qui tournent de tous les côtés, c&#8217;est de déplacer le dossier <strong>/var</strong>. En effet les partitions système ne sont pas très grosses chez OVH et il arrivera un moment où les logs et les bases de données vont saturer cette partition et amener à un plantage du serveur. Etant donné qu&#8217;on a de la place dans <strong>/home</strong>, on va y déplacer le dossier <strong>/var</strong></p>
<pre class="code">&gt; cp -Rp var/ /home/
&gt; mv /var/ /var.old/
&gt; ln -s /home/var/ var</pre>
<h3>Installation de MySQL</h3>
<p>rien de plus simple:</p>
<pre class="code">&gt; apt-get install mysql-server</pre>
<p>Dans la dernière version que j&#8217;ai installé, MySQL me propose désormais de paramétrer le mot de passe <strong>root </strong>du serveur. Je vous encourage fortement à le faire dès maintenant. Si vous ne le faites pas, vous pourrez le faire plus tard mais le plus tôt est le mieux car à ce niveau, ce n&#8217;est plus un trou de sécu, c&#8217;est la porte ouverte à toutes les fenêtres  <img src='http://www.coolcoyote.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Installation d&#8217;Apache 2.2</h3>
<p>Pareil, trop dur Debian:</p>
<pre class="code">&gt; apt-get install apache2-mpm-prefork</pre>
<p>Notez que l&#8217;on installe ce paquet là d&#8217;Apache car le module PHP5 en dépend. Il ne fonctionne pas avec le paquet classique d&#8217;Apache 2.2.</p>
<h3>Installation de PHP 5</h3>
<pre class="code">&gt; apt-get install libapache2-mod-php5</pre>
<p>On va devoir également installer quelques modules supplémentaires pour PHP:</p>
<pre class="code">&gt; apt-get install php5-cli
&gt; apt-get install php5-gd
&gt; apt-get install php5-mcrypt
&gt; apt-get install php5-mysql</pre>
<p>sont un minimum je pense. On peut facilement voir la liste des modules dispos en faisant un petit:</p>
<pre class="code">&gt; dpkg -l *php5*</pre>
<p>A ce niveau on peut déjà faire quelques petits tests. Déjà il faut redémarrer Apache:</p>
<pre class="code">&gt; /etc/init.d/apache2 restart</pre>
<p>Puis les tests : taper l&#8217;adresse du serveur dans votre navigateur web. Vous devriez avoir le fameux &laquo;&nbsp;It Works!&nbsp;&raquo; d&#8217;Apache.</p>
<p>Dans le répertoire <strong>/var/www </strong>créez un fichier <strong>info.php</strong> dans lequel vous allez mettre le code suivant:</p>

<div class="cc_syntax-container"><table><tr><td class="line-numbers"><pre>1
2
3
</pre></td><td class="cc_syntax"><pre class="php"><span class="kw2">&lt;?php</span>
<span class="kw3">phpinfo</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="sy1">?&gt;</span></pre></td></tr></table></div>

<p>Pareil, dans votre navigateur tapez : <strong>http://monserver/info.php</strong>. Normalement la config de PHP apparaît.</p>
<h3>Configuration</h3>
<p>maintenant que l&#8217;environnement LAMP est installé, on va faire un peu de configuration.</p>
<p>Tout d&#8217;abord pour MySQL, de base il n&#8217;y a rien de spécial à toucher. Cependant si vous désirez personnaliser votre installation, vous pouvez le faire en rajoutant un fichier dans <strong>/etc/mysql/conf.d</strong>. Toutes les options que vous y insèrerez seront prises en compte automatiquement.</p>
<p>Pour PHP, il faut faire la configuration classique de <strong>php.ini</strong> qui se trouve dans <strong>/etc/php5/apache2/php.ini</strong></p>
<p>Ce fichier est configuré de façon très basique. Tel quel il fonctionne, il y a cependant moyen de l&#8217;améliorer un petit peu:</p>
<p>Si vous n&#8217;avez pas de scripts PHP balisés par <strong>&lt;?</strong> et<strong> ?&gt;</strong>, mettez l&#8217;option <strong>short_open_tag</strong> à <strong>Off</strong>. Cela obligera les scripts PHP à être balisés par <strong>&lt;?php</strong> et <strong>?&gt;</strong>. Pourquoi? A partir de PHP6, le balisage court n&#8217;existera plus. Autant se mettre à la norme dès maintenant.</p>
<p>Si vous voulez désactiver certaines fonctions par mesure de sécurité (exec par exemple), vous pouvez les rajouter à l&#8217;option disable_functions en les séparant par des virgules.</p>
<p>En production, on conseille de passer l&#8217;option <strong>display_errors</strong> à <strong>Off</strong> car cela peu donner des indications importantes à une personne mal intentionnée. Par contre on passera le paramètre <strong>log_errors</strong> à <strong>On</strong> pour que les messages d&#8217;erreur soient enregistrés dans un fichier.</p>
<p>Si vous avez de vieux sites codés en PHP, peut-être aurez vous besoin de passer le paramètre <strong>register_globals</strong> à <strong>On</strong>. Si vous pouvez vous en passer ce n&#8217;est que mieux, question de sécurité.</p>
<p>Vous pouvez également décommenter la ligne:</p>
<pre class="code">;include_path = ".:/usr/share/php"</pre>
<p>Cela vous permettra de protéger certains fichiers d&#8217;inclusion en les déportant de l&#8217;espace accessible par le web.</p>
<p>Passons maintenant à la configuration d&#8217;Apache. Tout se passe dans le répertoire <strong>/etc/apache2/</strong></p>
<p>La première chose que nous allons faire c&#8217;est activer les modules dont nous avons besoin. La gestion des modules Apache à la sauce Debian est plutôt bien foutue: Dans le répertoire <strong>mods-available</strong> se trouvent tous les modules disponibles pour Apache. Le répertoire <strong>mods-enabled</strong> contient les modules activés. Si on veut activer un module, on ne va pas copier le module en question du répertoire <strong>mods-available</strong> au répertoire <strong>mods-enabled</strong>, mais plutôt faire un lien symbolique dans le répertoire <strong>mods-enabled</strong> vers les modules que l&#8217;on veut activer. Par exemple, pour activer le <strong>mod_rewrite</strong>, se placer dans le répertoire <strong>mods-enabled</strong> et taper la commande:</p>
<pre class="code">&gt; ln -s ../mods-available/rewrite.load rewrite.load</pre>
<p>Faire cela pour tous les modules que vous voulez activer. Si par exemple vous voulez activer le module <strong>userdir</strong>, n&#8217;oubliez pas qu&#8217;il y a deux liens à faire: un pour le <strong>.load</strong> et un pour le <strong>.conf</strong></p>
<p>Les autres éléments de configuration se trouvent dans le répertoire <strong>/etc/apache2/conf.d</strong>. A l&#8217;image de ce qui se fait pour MySQL, tout fichier créé dans ce répertoire et contenant des directives sera pris en compte et écrasera la configuration d&#8217;origine. De base il y a un fichier charset qui contient une directive</p>
<pre class="code">AddDefaultCharset UTF-8</pre>
<p>Qui active le jeu de caractère UTF-8 par défaut. Si vous préférez activer l&#8217;ISO-8859-1 par défaut, remplacez par:</p>
<pre class="code">AddDefaultCharset on</pre>
<p>On va également créer un fichier <strong>directoryindex</strong> contenant la directive suivante:</p>
<pre class="code">DirectoryIndex index.html index.htm index.cgi index.pl index.php index.xhtml</pre>
<p>Qui permet d&#8217;accepter une page <strong>index.php</strong> ou <strong>index.cgi</strong> comme page d&#8217;accueil pour un site</p>
<p>Si vous voulez accepter les CGI, il faut egalement créer un fichier <strong>cgi.conf</strong> dans lequel on va mettre:</p>
<pre class="code">AddHandler cgi-script .pl
AddHandler cgi-script .cgi</pre>
<p>Ce qui va permettre d&#8217;accepeter les fichier <strong>.pl</strong> et <strong>.cgi</strong> comme CGI</p>
<p>Vous pouvez bien sûr continuer comme ça à paramétrer tout ce que vous voulez.</p>
<h3>Installation de ProFTPD</h3>
<p>On est presque prêt à accueillir nos premiers sites. Mais pour cela il faut les uploader sur le serveur et pour ça il nous faut un serveur FTP. En voici un : <strong>ProFTPD</strong></p>
<pre class="code">&gt; apt-get install proftpd</pre>
<p>On vous demandera si vous voulez le lancer sous <strong>inetd</strong> ou indépendamment, choisissez la deuxième option.</p>
<p>Après installation, le serveur est déjà prêt à l&#8217;utilisation. Si vous voulez changer la configuration, vous pouvez le faire en modifiant le fichier <strong>/etc/proftpd/proftpd.conf</strong>, mais on peut déjà exploiter le serveur tel quel.</p>
<p>Il n&#8217;y a juste qu&#8217;une chose à modifier dans la configuration du serveur. Il faut rajouter les lignes suivantes:</p>
<pre class="code">DefaultRoot ~
IdentLookups off
UseReverseDNS off</pre>
<p>La première instruction permet de bloquer chaque utilisateur dans son répertoire et évite qu&#8217;il se balade sur tout le serveur. Les deuxièmes et troisièmes instructions désactivent des traitements DNS de proftpd et permettent une connexion rapide au serveur (essayez les deux et voyez la différence).</p>
<p>Maintenant, il ne nous reste plus que 2 choses à faire: créer un utilisateur FTP avec son espace, et configurer le domaine associé sous Apache pour qu&#8217;il pointe à cet endroit.</p>
<p>Pour créer un utilisateur FTP, rien de plus simple, on va créer un utilisateur système:</p>
<pre class="code">&gt; addgroup nom_user
&gt; adduser --ingroup nom_user nom_user</pre>
<p>Cela va créer le répertoire personnel de l&#8217;utilisateur dans le répertoire <strong>/home</strong></p>
<p>Lors de la création de cet utilisateur, vous devrez saisir des renseignements. Le plus important est bien sûr le mot de passe, le reste n&#8217;est pas important.</p>
<p>On peut désormais configurer notre client FTP pour se connecter:</p>
<p>host: IP_serveur<br />
login: nom_user<br />
mot de passe : pass_user</p>
<p>Une fois connecté, on crée un répertoire <strong>www</strong> qui contiendra le site et on peu mettre une page d&#8217;accueil quelconque pour faire nos tests.</p>
<p>Tester avec le module <strong>userdir</strong></p>
<p>Le module <strong>userdir </strong>permet de se connecter à l&#8217;espace web d&#8217;un utilisateur du système sans le nom de domaine. L&#8217;url sera de la forme:</p>
<pre>http://ip_serveur/~nom_utilisateur/</pre>
<p>Pour pouvoir faire cela, il faut dans un premier temps activer le module <strong>userdir </strong>dans Apache (voir plus haut). Puis dans le répertoire <strong>/etc/apache2/conf.d</strong> créer un fichier <strong>userdir </strong>contenant les commandes suivantes:</p>
<pre class="code">&lt;IfModule mod_userdir.c&gt;
    UserDir www
    UserDir disabled root

    &lt;Directory /home/*/www&gt;
        AllowOverride FileInfo AuthConfig Limit
        Options Indexes SymLinksIfOwnerMatch IncludesNoExec
    &lt;/Directory&gt;
&lt;/IfModule&gt;</pre>
<p>On relance Apache et normalement si vous faites l&#8217;adresse indiquée plus haut, vous devriez voir votre page uploadée tout à l&#8217;heure.</p>
<p>Note: Si vous utilisez le module <strong>rewrite</strong>, je vous déconseille fortement d&#8217;utiliser l&#8217;option <strong>MultiViews </strong>de la commande <strong>Options </strong>car personnellement j&#8217;ai eu des interférences entre les deux.</p>
<h3>Configuration d&#8217;un domaine:</h3>
<p>Maintenant, on va configurer Apache pour que mondomaine.com pointe sur <strong>/home/nom_user/www</strong>.</p>
<p>Dans le répertoire <strong>/etc/apache2/sites-available</strong> créer le fichier <strong>mondomaine.com</strong>. Y mettre les instructions suivantes:</p>
<pre class="code">&lt;VirtualHost *&gt;
    ServerName www.mondomaine.com
    ServerAlias mondomaine.com www.mondomaine.com
    ServerAdmin webmaster@mondomaine.com

    DocumentRoot /home/nom_utilisateur/www
    ScriptAlias /cgi/ "/home/nom_utilisateur/cgi-bin/"

    &lt;Directory /home/nom_utilisateur/www&gt;
         Options -Indexes
    &lt;/Directory&gt;

    php_admin_value open_basedir "/tmp:/var/lib/php5:/home/nom_utilisateur/www"
&lt;/VirtualHost&gt;</pre>
<p>Vous devez bien sûr encore une fois remplacer les paramètres <strong>mondomaine.com</strong> et <strong>nom_utilisateur</strong> par vos valeurs.</p>
<p>Enregistrez, rechargez Apache et le tour est joué.</p>
<p>Note: il est important de ne pas oublier le paramètre <strong>open_basedir</strong> de PHP, cela empêche les scripts PHP de pouvoir lire n&#8217;importe quel fichier du serveur en le cloisonnant dans le répertoire <strong>www/</strong></p>
<h3>Installation de phpMyAdmin</h3>
<p>Forcément, si vous avez installé <strong>MySQL</strong>, il vous faut <strong>phpMyAdmin</strong>. Il y a deux écoles:</p>
<ul>
<li>Rester à la sauce Debian et installer le package <strong>phpMyAdmin</strong></li>
<li>L&#8217;installer à la main</li>
</ul>
<p>Les deux solutions ont leurs avantages et inconvénients:</p>
<p>Installer le package est simple et la maintenance aussi puisqu&#8217;un simple <strong>apt-get</strong> permet une mise à jour. Par contre les versions ne sont pas à jour. Au moment de la rédaction de ce billet, la version actuelle est en 2.11.9 alors que le package est en 2.9.1. Pour cette raison je préfère une installation manuelle. Par contre cela m&#8217;oblige à me tenir au courant des mises à jour et à les faire manuellement.</p>
<p>Généralement j&#8217;installe phpMyAdmin dans le répertoire <strong>/var/www</strong>. Ainsi on peut accéder à phpMyAdmin par l&#8217;adresse: <strong>http://ip_serveur/phpMyAdmin</strong></p>
<p>L&#8217;avantage de cette méthode est qu&#8217;il est facile de créer des alias ou des redirections de tous les noms de domaine qui seront installés sur le serveur afin qu&#8217;ils aient une url de phpMyAdmin simple. Par exemple une directive:</p>
<pre class="code">Alias /phpMyAdmin /var/www/phpMyAdmin/</pre>
<p>permet une redirection transparente.</p>
<p>une fois phpMyAdmin installé, la première chose à faire est de s&#8217;y logguer afin de paramétrer le mot de passe <strong>root </strong>de MySQL. Si vous ne l&#8217;avez pas fait lors de l&#8217;installation c&#8217;est le moment où jamais !!</p>
<h3>Envoyer des mails avec PHP</h3>
<p>C&#8217;est la dernière chose qui nous manque avant d&#8217;avoir un serveur de production minimal potable. Pour cela on va installer <strong>exim4</strong>:</p>
<pre class="code">&gt; apt-get install exim4</pre>
<p>puis pour la configuration:</p>
<pre class="code">&gt; dpkg-reconfigure exim4-config</pre>
<p>les options:</p>
<ul>
<li>séparer la configuration dans plusieurs fichiers -&gt; Non</li>
<li>Type de configuration -&gt; Distribution directe par SMTP</li>
<li>Nom de courriel du système -&gt; Mettez le nom de domaine principal du serveur ou laissez par défaut</li>
<li>Liste d&#8217;adresses IP -&gt; laissez 127.0.0.1 pour le moment</li>
<li>Autres destinations -&gt; Vide</li>
<li>Domaines à relayer -&gt; Vide</li>
<li>Machines à relayer -&gt; Vide</li>
<li>Faut-il minimiser les requêtes DNS -&gt; Non</li>
<li>Méthode de distribution du courrier local -&gt; laissez &laquo;&nbsp;mbox&nbsp;&raquo;</li>
</ul>
<p>Théoriquement, les emails envoyés de PHP fonctionnent désormais.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coolcoyote.net/linux-debian/configuration-dun-serveur-dedie-chez-ovh/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installation PHP5/Apache2.2/MySQL5 sous Windows</title>
		<link>http://www.coolcoyote.net/php-mysql/installation-php5apache22mysql5-sous-windows</link>
		<comments>http://www.coolcoyote.net/php-mysql/installation-php5apache22mysql5-sous-windows#comments</comments>
		<pubDate>Sat, 16 Aug 2008 13:38:54 +0000</pubDate>
		<dc:creator>Denis S.</dc:creator>
				<category><![CDATA[PHP - MySQL]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://192.168.0.1/wordpress/?p=42</guid>
		<description><![CDATA[Cette installation est effectuée sous Windows XP Pro SP2, mais devrait fonctionner sous Vista sans problème. Elle est destinée à une installation en tant que plateforme de développement, pas à une installation de production.
Installation de PHP
Télécharger la dernière version de PHP sur php.net (la dernière version est la 5.2.6 au moment de cet article). Prenez [...]]]></description>
			<content:encoded><![CDATA[<p>Cette installation est effectuée sous Windows XP Pro SP2, mais devrait fonctionner sous Vista sans problème. Elle est destinée à une installation en tant que plateforme de développement, pas à une installation de production.</p>
<h3>Installation de PHP</h3>
<p>Télécharger la dernière version de PHP sur <a href="http://www.php.net" target="_blank">php.net</a> (la dernière version est la 5.2.6 au moment de cet article). Prenez la version <strong>zip package</strong>.</p>
<p>A la racine de votre disque dur <strong>c:</strong> créeez un répertoire <strong>php </strong>et dézippez-y l&#8217;archive PHP.</p>
<p><span id="more-42"></span></p>
<p>Le répertoire <strong>c:\php</strong> contient un certain nombre de fichier <strong>dll </strong>que nous allons maintenant copier dans le répertoire <strong>c:\windows\system32\</strong>. En voici la liste:</p>
<ul>
<li>fdftk.dll</li>
<li>gds32.dll</li>
<li>libeay32.dll</li>
<li>libmcrypt.dll</li>
<li>libmhash.dll</li>
<li>libmysql.dll</li>
<li>msql.dll</li>
<li>ntwdblib.dll</li>
<li>php5ts.dll</li>
<li>ssleay32.dll</li>
</ul>
<p>Puis copiez le fichier <strong>c:\php\php.ini-dist</strong> dans le répertoire <strong>c:\windows</strong>. Renommez le fichier <strong>c:\windows\php.ini-dist</strong> en <strong>c:\windows\php.ini</strong>.</p>
<p>Editez ensuite ce fichier avec votre bloc note.</p>
<p>Remplacez les lignes:</p>
<pre class="code">; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"</pre>
<p>par:</p>
<pre class="code">; Windows: "\path1;\path2"
include_path = ".;c:\php\includes"</pre>
<p>puis les lignes:</p>
<pre class="code">; Directory in which the loadable extensions (modules) reside.
extension_dir = "./"</pre>
<p>par:</p>
<pre class="code">; Directory in which the loadable extensions (modules) reside.
extension_dir = "c:\php\ext"</pre>
<p>Plus loin il y a les extensions dynamiques. Il faut activer celles que l&#8217;on veut utiliser en décommentant la ligne (supprimer le &#8216;;&#8217; devant la ligne). Nous allons activerles extensions suivantes:</p>
<pre class="code">extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_xsl.dll
extension=php_zip.dll</pre>
<p>Ce sera ensuite à ajuster selon vos besoins</p>
<p>Enfin plus loin on a un bloc:</p>
<pre class="code">[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25</pre>
<p>remplacez la ligne:</p>
<pre class="code">SMTP = localhost</pre>
<p>par le smtp de votre FAI. Pour orange par exemple:</p>
<pre class="code">SMTP = smtp.orange.fr</pre>
<p>Cela vous permettra d&#8217;envoyer des emails avec PHP</p>
<p>Sauvegardez votre fichier php.ini.</p>
<p>PHP est prêt, nous allons maintenant installer MySQL</p>
<h3>Installation de MySQL</h3>
<p>Rendez-vous sur la page <a href="http://dev.mysql.com/downloads/mysql/5.0.html#win32" target="_blank">http://dev.mysql.com/downloads/mysql/5.0.html#win32</a> pour télécharger la dernière version stable de MySQL. Prenez la version &laquo;&nbsp;Windows ZIP/Setup.EXE (x86)&nbsp;&raquo;</p>
<p>Décompressez l&#8217;archive et lancez l&#8217;exécutable. Personnellement je choisis la version &laquo;&nbsp;Custom&nbsp;&raquo; à installer. Ainsi à l&#8217;écran suivant je peux choisir le répertoire d&#8217;installation: <strong>c:\mysql</strong>. Je laisse les autres options telles quelles (tout est installé sauf les <strong>Developer Components</strong>).</p>
<p>A la fin de l&#8217;installation, vérifiez que la case &laquo;&nbsp;<strong>Configure the MySQL server now</strong>&nbsp;&raquo; est cochée et cliquez sur &laquo;&nbsp;<strong>Finish</strong>&laquo;&nbsp;.</p>
<p>Choisissez l&#8217;option &laquo;&nbsp;<strong>Reconfigure instance</strong>&nbsp;&raquo; puis &laquo;&nbsp;<strong>Detailed configuration</strong>&laquo;&nbsp;. Nous allons maintenant devoir configurer plusieurs options.</p>
<p>Selon votre machine, vous pouvez choisir soit &laquo;&nbsp;<strong>Developer Machine</strong>&laquo;&nbsp;, soit &laquo;&nbsp;<strong>Server Machine</strong>&laquo;&nbsp;. Si votre Windows vous sert à tout faire, choisissez &laquo;&nbsp;<strong>Developer Machine</strong>&nbsp;&raquo; ce qui limitera la mémoire utilisée par le service.</p>
<p>A l&#8217;écran suivant, choisissez &laquo;&nbsp;<strong>Multifunctionnal Database</strong>&laquo;&nbsp;.</p>
<p>Plus loin sélectionnez &laquo;&nbsp;<strong>Decision Support(DSS)/OLAP</strong>&laquo;&nbsp;.</p>
<p>Sur l&#8217;écran suivant laissez cochées les cases &laquo;&nbsp;<strong>Enable TCP/IP Networking</strong>&nbsp;&raquo; et &laquo;&nbsp;<strong>Enable Strict Mode</strong>&laquo;&nbsp;.</p>
<p>On nous demande ensuite de choisir le type de support de caractères que l&#8217;on veut. Choisissez &laquo;&nbsp;<strong>Best support For Multilingualism</strong>&laquo;&nbsp;.</p>
<p>Cochez ensuite la case &laquo;&nbsp;<strong>Include Bin directory in Windows PATH</strong>&laquo;&nbsp;.</p>
<p>On nous propose ensuite de configurer le compte root. Dans &laquo;&nbsp;<strong>Current root password</strong>&nbsp;&raquo; laissez vide. Puis dans les deux autres cases, choisissez votre mot de passe root. En dessous on nous propose d&#8217;accepter les connexions root à partir d&#8217;autres machines. Si vous n&#8217;accédez pas à votre serveur MySQL à partir d&#8217;une autre machine, ce qui sera probablement le cas, ne cochez pas cette case.</p>
<p>En dessous encore on nous propose de créer un compte anonyme. Personnellement je ne le fais pas, je préfère gérer ensuite avec phpMyAdmin. Il suffit ensuite de cliquer sur le bouton &laquo;&nbsp;<strong>Execute</strong>&nbsp;&raquo; de l&#8217;écran suivant.</p>
<h3>Installation d&#8217;Apache</h3>
<p>Téléchargez la dernière version 2.2.x d&#8217;Apache à cette adresse: <a href="http://httpd.apache.org/download.cgi " target="_blank">http://httpd.apache.org/download.cgi </a>(prenez la version Windows MSI sans le mod_ssl)</p>
<p>Lancez l&#8217;installation. On vous demandera d&#8217;entrer certaines informations:</p>
<ul>
<li>Network Domain: laissez <strong>example.org</strong></li>
<li>Server Name: mettez &laquo;&nbsp;<strong>localhost</strong>&laquo;&nbsp;</li>
<li>Administrator&#8217;s Email Address: laissez <strong>admin@example.org</strong></li>
<li>Sélectionnez également &laquo;&nbsp;<strong>for All Users, on Port 80&#8230;</strong>&laquo;&nbsp;</li>
</ul>
<p>Choisissez ensuite l&#8217;installation &laquo;&nbsp;<strong>Custom</strong>&nbsp;&raquo;</p>
<p>Vous pourrez alors choisir le répertoire d&#8217;installation du serveur. Mettez le répertoire <strong>c:\apache</strong></p>
<p>rendez-vous ensuite dans le répertoire <strong>c:\apache\conf</strong> et éditez le fichier <strong>httpd.conf</strong> avec votre bloc notes.</p>
<p>Après la ligne</p>
<pre class="code">#LoadModule vhost_alias_module modules/mod_vhost_alias.so</pre>
<p>Rajoutez la ligne suivante:</p>
<pre class="code">LoadModule php5_module "c:/php/php5apache2_2.dll"</pre>
<p>Modifiez la ligne</p>
<pre class="code">DocumentRoot "C:/Apache/htdocs"</pre>
<p>afin d&#8217;y mettre votre répertoire contenant tous vos sites web. Par exemple:</p>
<pre class="code">DocumentRoot "C:/sitesweb"</pre>
<p>Sachant que ce répertoire sera la racine de vos sites (si ce répertoire n&#8217;existe pas encore, créez le maintenant).</p>
<p>Remplacez ensuite la ligne:</p>
<pre class="code">&lt;Directory "C:/Apache/htdocs"&gt;</pre>
<p>En y mettant  à nouveau votre répertoire racine</p>
<pre class="code">&lt;Directory "C:/sitesweb"&gt;</pre>
<p>Modifiez la ligne:</p>
<pre class="code">DirectoryIndex index.html</pre>
<p>par</p>
<pre class="code">DirectoryIndex index.html index.php</pre>
<p>Sous la ligne:</p>
<pre class="code">AddType application/x-gzip .gz .tgz</pre>
<p>Rajoutez la ligne</p>
<pre class="code">AddType application/x-httpd-php .php</pre>
<p>Sauvegardez votre fichier de configuration. Dans la systray de Windows vous avez l&#8217;icône d&#8217;Apache. Double cliquez dessus et faites &laquo;&nbsp;<strong>Restart</strong>&laquo;&nbsp;. Si tout a été fait correctement, il ne devrait pas y avoir de problème.</p>
<p>Pour tester, on peut se rendre dans le répertoire <strong>c:\sitesweb</strong> (ou votre répertoire racine) et créez le fichier <strong>index.php</strong> avec le bloc-notes et placez-y le code suivant:</p>

<div class="cc_syntax-container"><table><tr><td class="line-numbers"><pre>1
2
3
</pre></td><td class="cc_syntax"><pre class="php"><span class="kw2">&lt;?php</span>
<span class="kw3">phpinfo</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="sy1">?&gt;</span></pre></td></tr></table></div>

<p>Sauvegardez. Ouvrez maintenant votre navigateur internet et dans la barre d&#8217;adresse tapez <strong>http://localhost</strong></p>
<p>Si tout se passe bien vous devriez avoir une page de présentation PHP</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coolcoyote.net/php-mysql/installation-php5apache22mysql5-sous-windows/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

