Files
doc-fr/install/unix/nginx.xml
T
George Peter Banyard c5fae30d10 Sync with latest EN revision
Update revision number after typos in EN revision have been fixed,
Minor translations updated
Apply XML fixes from EN revision

git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@349979 c90b9560-bf6c-de11-be94-00142212c4b1
2020-05-25 18:17:11 +00:00

298 lines
7.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: dcd5448282973a659f62e4240fb6e50aae0eb78b Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<sect1 xml:id="install.unix.nginx" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Nginx 1.4.x sur les systèmes Unix</title>
<para>
Cette documentation couvre l'installation et la configuration de PHP avec
PHP-FPM pour le serveur HTTP Nginx 1.4.x.
</para>
<para>
Ce guide suppose que vous avez compilé Nginx à partir des sources et donc
tous les binaires et fichiers de configuration se trouvent dans
<literal>/usr/local/nginx</literal>. Si ce n'est pas le cas et que vous avez
obtenu Nginx par d'autres moyens, veuillez vous référer au
<link xlink:href="&url.nginx;">Wiki d'Nginx</link> pour adapter ce manuel
pour votre configuration.
</para>
<para>
Ce guide couvre les bases de la configuration du serveur Nginx afin de
parvenir à servir une application PHP sur le port 80. Il est recommandé
d'étudier les documentations d'Nginx et de PHP-FPM afin d'optimiser votre
installation.
</para>
<para>
Veuillez noter que tout au long de cette documentation, les numéros de version
ont été remplacé par un "x" pour assurer que cette dernière reste correcte
dans l'avenir. Pensez à les remplacer par votre numéro de version.
</para>
<orderedlist>
<listitem>
<para>
Il est recommandé de consulter la
<link xlink:href="&url.nginx.wiki.install;">documentation de Nginx</link>
afin de l'installer sur votre système.
</para>
</listitem>
<listitem>
<para>
Récupérer et décompresser les sources de PHP :
</para>
<informalexample xml:id="install.unix.nginx.extract.php">
<screen>
<![CDATA[
tar zxf php-x.x.x
]]>
</screen>
</informalexample>
</listitem>
<listitem>
<para>
Configurer et compiler PHP. Ce sera le moment où vous pourrez
personaliser PHP avec diverses options, comme les extensions
à activer. Exécuter ./configure --help pour obtenir une liste
des options disponibles. Dans notre exemple, vous effectuerons
une configuration simple avec le support PHP-FPM et MySQLi.
</para>
<informalexample xml:id="install.unix.nginx.build.php">
<screen>
<![CDATA[
cd ../php-x.x.x
./configure --enable-fpm --with-mysqli
make
sudo make install
]]>
</screen>
</informalexample>
</listitem>
<listitem>
<para>
Récupérer et déplacer les fichiers de configuration dans
les bons dossiers
</para>
<informalexample xml:id="install.unix.nginx.configure.php">
<screen>
<![CDATA[
cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
cp sapi/fpm/php-fpm /usr/local/bin
]]>
</screen>
</informalexample>
</listitem>
<listitem>
<para>
Il est important que vous empéchiez Nginx de passer les requêtes
au backend PHP-FPM si le fichier n'existe pas, évitant ainsi
les failles par injections arbitraires de scripts.
</para>
<para>
Nous pouvons réaliser cela en définissant la directive
de configuration <link linkend="ini.cgi.fix-pathinfo">cgi.fix_pathinfo</link>
à la valeur <literal>0</literal> dans votre php.ini.
</para>
<para>
Editer php.ini :
</para>
<informalexample xml:id="install.unix.nginx.configure.ini">
<screen>
<![CDATA[
vim /usr/local/php/php.ini
]]>
</screen>
</informalexample>
<para>
Trouver la directive <literal>cgi.fix_pathinfo=</literal>
et modifier là comme ceci :
</para>
<informalexample xml:id="install.unix.nginx.configure.pathinfo">
<screen>
<![CDATA[
cgi.fix_pathinfo=0
]]>
</screen>
</informalexample>
</listitem>
<listitem>
<para>
Le fichier php-fpm.conf doit être modifié pour spécifier que
php-fpm doit être exécuté avec l'utilisateur
www-data et le groupe www-data avant de démarrer le service :
</para>
<informalexample xml:id="install.unix.nginx.modify.phpfpm">
<screen>
<![CDATA[
vim /usr/local/etc/php-fpm.d/www.conf
]]>
</screen>
</informalexample>
<para>
Trouver et modifier ce qui suit :
</para>
<informalexample xml:id="install.unix.nginx.modify.phpfpm.usergroup">
<screen>
<![CDATA[
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
user = www-data
group = www-data
]]>
</screen>
</informalexample>
<para>
Le service php-fpm peut maintenant être démarré :
</para>
<informalexample xml:id="install.unix.nginx.start.phpfpm">
<screen>
<![CDATA[
/usr/local/bin/php-fpm
]]>
</screen>
</informalexample>
<para>
Ce guide ne va pas configurer php-fpm plus que cela ; si vous
êtes intéressé dans la configuration avancée de php-fpm, veuillez
consulter la documentation.
</para>
</listitem>
<listitem>
<para>
Nginx doit maintenant être configuré pour supporter l'analyse des
applications PHP :
</para>
<informalexample xml:id="install.unix.nginx.configure.nginx">
<programlisting>
<![CDATA[
vim /usr/local/nginx/conf/nginx.conf
]]>
</programlisting>
</informalexample>
<para>
Modifier le bloc par défaut afin qu'il puisse servir des fichiers
.php :
</para>
<informalexample xml:id="install.unix.nginx.configure.nginx.location">
<programlisting role="nginx-conf">
<![CDATA[
location / {
root html;
index index.php index.html index.htm;
}
]]>
</programlisting>
</informalexample>
<para>
La prochaine étape permet d'assurer que les fichiers .php soient passés
au backend PHP-FPM ; Sous le bloc commenté par défaut et entrez :
</para>
<informalexample xml:id="install.unix.nginx.configure.nginx.php">
<programlisting role="nginx-conf">
<![CDATA[
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
]]>
</programlisting>
</informalexample>
<para>
Redémarrer Nginx.
</para>
<informalexample xml:id="install.unix.nginx.restart.nginx">
<screen>
<![CDATA[
sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx
]]>
</screen>
</informalexample>
</listitem>
<listitem>
<para>
Créez un fichier de test
</para>
<informalexample xml:id="install.unix.nginx.test.nginx.php">
<screen>
<![CDATA[
rm /usr/local/nginx/html/index.html
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
]]>
</screen>
</informalexample>
<para>
Maintenant, naviguez vers http://localhost. Le phpinfo()
devrait maintenant être affiché.
</para>
</listitem>
</orderedlist>
<para>
En suivant ces différentes étapes, vous devriez exécuter un serveur
web Nginx avec le support de PHP comme module <literal>FPM</literal> <literal>SAPI</literal>.
Bien entendu, il y a beaucoup plus d'options de configuration de
disponible pour Nginx et PHP. Pour plus d'informations, tapez
<command>./configure --help</command> dans la source correspondante.
</para>
</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
-->