mirror of
https://github.com/macintoshplus/doc-fr.git
synced 2026-03-26 01:42:09 +01:00
383 lines
11 KiB
XML
383 lines
11 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 4eeb07225f615fcde68cbefb84df2fc9bf278f1f Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
|
|
<sect1 xml:id="install.unix.apache2" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>Apache 2.x sur les systèmes Unix</title>
|
|
<para>
|
|
Cette section contient les notes et conseils d'installation de PHP avec le serveur
|
|
Apache 2.x sur les systèmes Unix.
|
|
</para>
|
|
|
|
&warn.apache2.compat;
|
|
|
|
<para>
|
|
La <link xlink:href="&url.apache2.docs;">Documentation Apache</link>
|
|
est la meilleure source d'informations sur le serveur Apache 2.x.
|
|
La plupart des informations sur les options d'installation d'Apache
|
|
peut y être trouvée.
|
|
</para>
|
|
|
|
<para>
|
|
La version la plus récente du serveur HTTP Apache peut être obtenue
|
|
depuis la <link xlink:href="&url.apache;">page de téléchargement d'Apache</link>,
|
|
et une version adaptée de PHP depuis les liens ci-dessus.
|
|
Ce guide couvre uniquement les bases de fonctionnement d'Apache 2.x avec PHP.
|
|
Pour plus d'informations, lire la
|
|
<link xlink:href="&url.apache2.docs;">documentation Apache</link>.
|
|
Les numéros de version sont omis ici, pour s'assurer que les instructions ne soient
|
|
pas incorrectes. Dans les exemples ci-dessous, 'NN' devra être remplacé
|
|
par la version spécifique d'Apache à utiliser.
|
|
</para>
|
|
|
|
<para>
|
|
Il y a actuellement 2 versions d'Apache 2.x - 2.4 et 2.2.
|
|
Il y a plusieurs raisons de choisir l'une plutôt que l'autre ; néanmoins, la version
|
|
2.4 est actuellement la dernière version disponible et c'est aussi celle
|
|
que nous vous recommandons. Cependant, les instructions contenues
|
|
dans ce guide devraient fonctionner pour la version 2.4 comme pour la version 2.2. Note: Apache hhtpd 2.2 est officiellement en Fin de Vie, il n'y aura plus de développement ni de patch pour cette version.
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>
|
|
Téléchargez le serveur HTTP Apache depuis le site ci-dessus et décompressez-le :
|
|
</para>
|
|
|
|
<informalexample>
|
|
<screen>
|
|
<![CDATA[
|
|
tar -xzf httpd-2.x.NN.tar.gz
|
|
]]>
|
|
</screen>
|
|
</informalexample>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
De la même façon, téléchargez et décompressez les sources de PHP :
|
|
</para>
|
|
|
|
<informalexample>
|
|
<screen>
|
|
<![CDATA[
|
|
tar -xzf php-NN.tar.gz
|
|
]]>
|
|
</screen>
|
|
</informalexample>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Compilez et installez Apache. Consultez la documentation sur l'installation
|
|
d'Apache pour plus de détails quant à la compilation de ce logiciel.
|
|
</para>
|
|
|
|
<informalexample>
|
|
<screen>
|
|
<![CDATA[
|
|
cd httpd-2_x_NN
|
|
./configure --enable-so
|
|
make
|
|
make install
|
|
]]>
|
|
</screen>
|
|
</informalexample>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Maintenant que vous avez Apache 2.x.NN de disponible sous /usr/local/apache2,
|
|
configurez-le avec le support pour le chargement de modules, ainsi que le
|
|
MPM prefork standard. Pour tester votre installation, utilisez la procédure
|
|
normale pour démarrer le serveur Apache, i.e. :
|
|
|
|
<informalexample>
|
|
<screen>
|
|
<![CDATA[
|
|
/usr/local/apache2/bin/apachectl start
|
|
]]>
|
|
</screen>
|
|
</informalexample>
|
|
et arrêtez-le pour continuer dans la configuration de PHP :
|
|
|
|
<informalexample>
|
|
<screen>
|
|
<![CDATA[
|
|
/usr/local/apache2/bin/apachectl stop
|
|
]]>
|
|
</screen>
|
|
</informalexample>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
Maintenant, configurez et compilez PHP. Ce sera à ce moment-là
|
|
où vous pourrez personnaliser PHP avec les diverses options disponibles,
|
|
comme la liste des extensions à activer. Dans notre exemple, nous effectuerons
|
|
une configuration simple, avec Apache 2 et le support MySQL.
|
|
</para>
|
|
|
|
<para>
|
|
Si vous avez construis Apache depuis les sources, tel que décrit ci-dessus,
|
|
l'exemple suivant devrait être correct concernant les chemins vers les apxs, mais si
|
|
vous avez installé Apache d'une autre façon, vous devrez prendre en compte vos
|
|
spécificités et ajustez les chemins apxs en conséquent. Notez que suivants
|
|
les distributions, vous pourriez être amené à renommer apxs en apxs2.
|
|
</para>
|
|
<informalexample>
|
|
<screen>
|
|
<![CDATA[
|
|
cd ../php-NN
|
|
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pdo-mysql
|
|
make
|
|
make install
|
|
]]>
|
|
</screen>
|
|
</informalexample>
|
|
|
|
<para>
|
|
Si vous décidez de modifier les options de configuration après l'installation,
|
|
vous devrez exécuter de nouveau les étapes "configure", "make" et "make install".
|
|
Vous n'aurez alors qu'à redémarrer Apache pour que le nouveau module prenne effet.
|
|
Une re-compilation d'Apache n'est pas nécessaire.
|
|
</para>
|
|
|
|
<para>
|
|
Notez que, sauf indications contraires, l'étape "make install" installera
|
|
également PEAR, mais aussi divers outils PHP comme phpsize, PHP CLI et
|
|
bien plus encore.
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Setup your php.ini
|
|
</para>
|
|
|
|
<informalexample>
|
|
<screen>
|
|
<![CDATA[
|
|
cp php.ini-development /usr/local/lib/php.ini
|
|
]]>
|
|
</screen>
|
|
</informalexample>
|
|
|
|
<para>
|
|
Vous devez éditer le fichier .ini pour définir les options PHP.
|
|
Si vous préférez placer ce fichier dans un autre répertoire, utilisez
|
|
l'option <literal>--with-config-file-path=/some/path</literal> à l'étape 5.
|
|
</para>
|
|
|
|
<para>
|
|
Si vous choisissez le fichier php.ini-production, assurez-vous de lire la liste
|
|
des modifications correspondante car il peut affecter considérablement la façon
|
|
dont PHP fonctionnera.
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
Éditez le fichier httpd.conf pour charger le module PHP. Le chemin spécifié
|
|
à droite de la chaîne LoadModule, doit correspondre au chemin système du module
|
|
PHP. L'étape "make install" ci-dessus devrait avoir réalisé cette opération
|
|
à votre place, mais une simple vérification permettra de s'en assurer.
|
|
</para>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Pour PHP 8:
|
|
</para>
|
|
<programlisting role="apache-conf">
|
|
<![CDATA[
|
|
LoadModule php_module modules/libphp.so
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Pour PHP 7:
|
|
</para>
|
|
<programlisting role="apache-conf">
|
|
<![CDATA[
|
|
LoadModule php7_module modules/libphp5.so
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
Dites à Apache d'analyser certaines extensions comme étant des scripts PHP.
|
|
Par exemple, laissez Apache passer à PHP les fichiers dont l'extension est
|
|
.php. Au lieu d'utiliser seulement la directive AddType d'Apache,
|
|
nous souhaitons éviter tout risque potentiellement dangereux, lors
|
|
d'un téléchargement de de la création de fichier comme exploit.php.jpg,
|
|
d'exécution PHP. En utilisant cette exemple, vous pouvez avoir n'importe
|
|
quelle extension d'analyser par PHP. Nous avons ajouté .php pour l'exemple.
|
|
</para>
|
|
|
|
|
|
<informalexample>
|
|
<programlisting role="apache-conf">
|
|
<![CDATA[
|
|
<FilesMatch \.php$>
|
|
SetHandler application/x-httpd-php
|
|
</FilesMatch>
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
|
|
<para>
|
|
Ou, si vous voulez autoriser les fichiers .php, .php2, .php3, .php4, .php5, .php6, et
|
|
.phtml à être analysés par PHP, mais rien d'autre, nous utiliserons ceci :
|
|
</para>
|
|
|
|
<informalexample>
|
|
<programlisting role="apache-conf">
|
|
<![CDATA[
|
|
<FilesMatch "\.ph(p[2-6]?|tml)$">
|
|
SetHandler application/x-httpd-php
|
|
</FilesMatch>
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
|
|
<para>
|
|
Et pour autoriser les fichiers .phps à être gérés par le filtre du code
|
|
source de PHP, et ainsi, être affichés comme code source avec la coloration
|
|
syntaxique, utilisez ceci :
|
|
</para>
|
|
|
|
<informalexample>
|
|
<programlisting role="apache-conf">
|
|
<![CDATA[
|
|
<FilesMatch "\.phps$">
|
|
SetHandler application/x-httpd-php-source
|
|
</FilesMatch>
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
|
|
<para>
|
|
mod_rewrite peut être utilisé pour permettre à n'importe quel fichier .php
|
|
d'être affiché comme code source avec coloration syntaxique, sans pour autant
|
|
avoir besoin de le renommer ou de le copier avec une extension .phps. :
|
|
</para>
|
|
|
|
<informalexample>
|
|
<programlisting role="apache-conf">
|
|
<![CDATA[
|
|
RewriteEngine On
|
|
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
|
|
<para>
|
|
Le filtre de code source PHP ne devrait pas être actif sur des systèmes de
|
|
production, car il peut exposer du code confidentiel ou des informations
|
|
sensibles contenues dans le code source.
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>
|
|
Utilisez la procédure normale pour démarrer le serveur Apache, i.e. :
|
|
</para>
|
|
|
|
<informalexample>
|
|
<screen>
|
|
<![CDATA[
|
|
/usr/local/apache2/bin/apachectl start
|
|
]]>
|
|
</screen>
|
|
</informalexample>
|
|
|
|
<para>Ou</para>
|
|
|
|
<informalexample>
|
|
<screen>
|
|
<![CDATA[
|
|
service httpd restart
|
|
]]>
|
|
</screen>
|
|
</informalexample>
|
|
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Si vous avez suivi les étapes précédentes, vous avez maintenant un serveur web
|
|
Apache2 fonctionnel avec le support PHP comme module <literal>SAPI</literal>.
|
|
Bien-sûr, il y a une multitude d'autres options de configuration de disponibles
|
|
avec Apache et PHP. Pour plus d'informations, entrez la commande
|
|
<command>./configure --help</command> dans l'arbre source correspondant.
|
|
</para>
|
|
<para>
|
|
Apache peut être compilé en mode multithreadé, en sélectionnant
|
|
le MPM <filename>worker</filename>, plutôt que le standard
|
|
MPM <filename>prefork</filename>. Ceci est fait en ajoutant l'option
|
|
suivante à l'argument de la commande "./configure", à l'étape 3 ci-dessus :
|
|
</para>
|
|
<informalexample>
|
|
<screen>
|
|
<![CDATA[
|
|
--with-mpm=worker
|
|
]]>
|
|
</screen>
|
|
</informalexample>
|
|
<para>
|
|
Cela ne devrait pas être entrepris sans être conscients des conséquences,
|
|
et ayant au moins une juste compréhension de ce que cela implique.
|
|
La documentation Apache concernant
|
|
<link xlink:href="&url.apache2.mpm;">MPM-Modules</link>
|
|
vous apportera d'importantes informations qui vous permettra de prendre
|
|
votre décision.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
La <link linkend="faq.installation.apache.multiviews">FAQ Apache
|
|
MultiViews</link> traite de l'utilisation MultiViews avec PHP.
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
Pour compiler une version multithreadée d'Apache, le système cible
|
|
doit supporter les threads. Dans ce cas, PHP doit également être construit
|
|
avec l'expérimental Zend Thread Safety (ZTS). Sous cette configuration,
|
|
toutes les extensions ne seront pas disponibles. Nous vous recommandons
|
|
de compiler Apache avec le <filename>prefork</filename> MPM-Module.
|
|
</para>
|
|
</note>
|
|
</sect1>
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|