29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / eZ Publish / Dossiers techniques / eZ publish : optimiser l'environnement / Configuring Apache and PHP -- Configurer Apache et PHP





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

Configuring Apache and PHP -- Configurer Apache et PHP

Date de publication: le vendredi 13 juillet 2007 à 03h08
Dernière modification: par Pascal BOYER le dimanche 26 septembre 2010 à 20h17
« Article précédent: Building and Installing PHP -- Compiler et installer PHP
» Article suivant: Alternative PHP Cache (APC) -- Cache PHP Alternatif

Apache and PHP are now installed in the system. Before you start using them you must make some configuration changes in the Apache and PHP configuration files.
Apache et PHP étant maintenant installés sur votre système, vous devez, avant de commencer à vous en servir, effectuer quelques modifications dans leur fichier de configuration respectif.

PHP configuration / Configuration de PHP

During the PHP installation we told PHP to look in the   /usr/local/apache/conf   directory for the   php.ini   configuration file. However, this file does not yet exist. Run the following command to create a new empty configuration file for PHP:
Lors de son installation, nous avons indiqué à PHP de rechercher son fichier de configuration php.ini dans le répertoire /usr/local/apache/conf . Cependant, comme ce fichier n'existe pas encore, exécutez la commande suivante pour en créer un nouveau vide:

Recommended PHP configuration (php.ini) for eZ publish / Configuration recommandée de PHP ( php.ini) pour l'utilisation de eZ publish

This section shows the recommended contents of the   php.ini   file located in the   /usr/local/apache/conf   directory.
Ce paragraphe présente les options de configuration qu'il est recommandé de mettre dans le fichier php.ini situé dans le répertoire /usr/local/apache/conf:

; Safe Mode
safe_mode = Off
 
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
 
register_globals = Off
allow_call_time_pass_reference = Off
 
; Maximum amount of memory a script may consume (xMB)
memory_limit = 64M
 
; Maximum execution time of each script, in seconds
max_execution_time = 90
 
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On
 
 
; Whether to allow HTTP file uploads.
file_uploads = On
 
; open_basedir, if set, limits all file operations to the defined directory
; and below. This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
;open_basedir =

The contents of this snippet are interpreted as follows:
Les paramètres de cet extrait du fichier php.ini sont interprétés de la manière suivante:

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

"Magic quotes" is a process that automatically escapes incoming data to the PHP script. It is preferred to code with magic quotes off and to instead escape the data as needed at runtime. eZ publish will work with this option enabled. However, it will slightly reduce performance because all input variables must be converted back to normal. Therefore we recommend that the option is turned off. 
"Magic quotes" est un processus qui échappe/protège automatiquement les données des scripts PHP. Il est préférable de coder avec ce paramètre positionné à off et d'échapper les données comme on le souhaite lors de l'exécution. eZ Publish fonctionnera tout de même si cette option est positionnée à on mais cela réduira légèrement ses performances car toutes les variables d'entrée devront être converties. Nous recommandons donc de positionner ce paramètre à off.

; Maximum amount of memory a script may consume (xMB)
memory_limit = 64M

The default maximum amount of memory a script may consume is 8 MB. This is too low for eZ publish to run. eZ publish needs at least 64 MB to run the Setup Wizard. Normal operation requires about 16 MB. However, we recommend that you keep the setting at 64 MB, as certain features (such as PDF export and search reindex) use more than 16 MB. Multilingual sites that store the content in Unicode (UTF-8) also require at least 64 MB.
Par défaut, la quantité maximum de mémoire allouée à l'exécution d'un script PHP est 8 Mo. Mais cela est trop peu pour le fonctionnement de l' interface graphique d'installation  de eZ Publish qui requière au moins 64 Mo. Les opérations courantes requièrent environ 16 Mo de mémoire. Cependant, nous préconisons de positionner ce paramètre à 64M car certaines fonctions comme l' export au format PDF  et la recherche indexée  (???) utilisent plus de 16 Mo. Les sites Multilingues  qui stockent leurs contenus en utilisant le jeux de caractères unicode UTF-8 requièrent également au moins 64Mo de mémoire.

; Maximum execution time of each script, in seconds
max_execution_time = 90

Depending on your hardware configuration, the execution time of some operations (like template compilation or parsing translation files) might take more than the default 30 seconds. We recommend that you increase the maximum execution time to at least 90 seconds. If you get output similar to the following , your   max_execution_time   setting is too low:
En fonction de votre configuration matérielle, le temps d'exécution de certaines opérations (telles que la compilation de templates ou l'analyse des fichiers de traductions) peut excéder la valeur par défaut du paramètre max_execution_time à savoir 30 secondes. Nous vous recommandons donc d'augmenter la valeur du temps maximum alloué à l'exécution des scripts PHP à au moins 90 secondes. Si vous obtenez des messages d'erreur similaires à l'exemple donné ci-dessous, alors la valeur de votre paramètre max_execution_time est trop faible:

Fatal error: Maximum execution time of 30 seconds exceeded in ...
 
Fatal error: eZ publish did not finish its request
 
The execution of eZ publish was abruptly ended, the debug output is presented below. 

Apache configuration / Configuration d'Apache

Once the PHP settings are configured, you must configure the Apache web server. Edit the   httpd.conf   file to load the PHP module. The Apache configuration file is located by default in the   conf/   directory of the Apache installation (/  usr/local/apache/conf  ).
Une fois la configuration de PHP terminée, vous devez configurer le serveur web Apache. Pour cela, éditez le fichier htpd.conf afin d'indiquer à Apache de charger le module PHP. Par défaut, le fichier de configuration d'Apache est situé dans le sous-répertoire conf/ du répertoire d'installation ( usr/local/apache/conf).

The   LoadModule   statement must point to the path of the PHP module on your system, usually   libexec/libphp4.so   under the Apache installation directory. The   make install   routine may have already added  LoadModule   for you in the   httpd.conf  , but check just in case.
La directive LoadModule doit indiquer le chemin vers le module PHP présent sur votre système. Normalement, ce module se trouve dans le sous-répertoire libexec/ du répertoire d'installation d'Apache et ce nomme libphp4.so. La routine make install devrait déjà avoir installé cette directive dans le fichier httpd.conf, mais vérifiez tout de même qu'il contient bien cette ligne:

LoadModule php4_module libexec/libphp4.so

Next we need to tell Apache to parse specific extensions as PHP scripts. The most common configuration is to tell Apache to parse the   .php   extension as PHP. You can assign any extension to PHP by simply adding more extensions to the list, with each extension separated by a space.
Nous devons à présent indiquer à Apache de considérer certaines extensions spécifiques de fichier comme des scripts PHP. La configuration la plus courante consiste à dire à Apache de traiter les fichiers dont l'extension est .php comme du PHP. Vous pouvez lier n'importe quelle extension à PHP en ajoutant simplement d'autres extensions à la liste, chaque extension étant séparée par un espace:

AddType application/x-httpd-php .php

It is also common to configure the   .phps   extension to show highlighted PHP source. This can be done as follows:
Il est également courant de configurer l'extension .phps afin qu'Apache affiche le code source PHP surligné. Ceci peut être fait de la manière suivante:

AddType application/x-httpd-php-source .phps

Virtual host configuration / Configuration d'un hôte virtuel

By making use of virtual hosts, it is possible to have several sites running on the same server. The sites are usually differentiated by the domain name by which they are accessed. Apache will look for a specified set of domains and use different configuration settings based on the domain that is requested. 
En utilisant un hôte virtuel , il est possible d'avoir plusieurs sites hébergés par un même serveur web. Il est courant de différencier les sites par les noms de domaine avec lesquels on accède à ces sites. Apache recherchera l'ensemble des domaines spécifiés et utilisera des paramètres de configuration différents en fonction du domaine indiqué dans la requête.

Virtual hosts are usually defined at the end of the   httpd.conf   configuration file, which is the main configuration file for Apache. To add a virtual host for eZ publish, copy the following lines and replace the text encapsulated by the square brackets with actual values. The next section has a real-life example of using virtual hosts. 
Les hôtes virtuels sont souvent définis à la fin du fichier de configuration httpd.conf (qui est le fichier de configuration principal d'Apache). Pour ajouter un hôte virtuel pour eZ publish, copiez les lignes ci-dessous en remplaçant le texte placé entre crochets par de vraies valeurs.

Virtual hosts configuration example for eZ publish: 
Exemple de configuration d'hôte virtuel pour eZ publish:

NameVirtualHost [IP_ADDRESS]
 
 
<VirtualHost [IP_ADDRESS]:[PORT]>
&nbsp;<Directory [PATH_TO_EZPUBLISH]>
Options FollowSymLinks
AllowOverride None
&nbsp;</Directory>
 
&nbsp;<IfModule mod_php4.c>
php_admin_flag safe_mode Off
php_admin_value register_globals 0
php_value magic_quotes_gpc 0
php_value magic_quotes_runtime 0
php_value allow_call_time_pass_reference 0
</IfModule>
 
DirectoryIndex index.php
 
 
<IfModule mod_rewrite.c>
RewriteEngine On
Rewriterule ^/var/storage/.* - [L]
Rewriterule ^/var/[^/]+/storage/.* - [L]
RewriteRule ^/var/cache/texttoimage/.* - [L]
RewriteRule ^/var/[^/]+/cache/texttoimage/.* - [L]
Rewriterule ^/design/[^/]+/(stylesheets|images|javascript)/.* - [L]
Rewriterule ^/share/icons/.* - [L]
Rewriterule ^/extension/[^/]+/design/[^/]+/(stylesheets|images|javascripts?)/.* - [L]
Rewriterule ^/packages/styles/.+/(stylesheets|images|javascript)/[^/]+/.* - [L]
RewriteRule ^/packages/styles/.+/thumbnail/.* - [L]
RewriteRule ^/favicon\.ico - [L]
RewriteRule ^/robots\.txt - [L]
# Uncomment the following lines when using popup style debug.
# RewriteRule ^/var/cache/debug\.html.* - [L]
# RewriteRule ^/var/[^/]+/cache/debug\.html.* - [L]
RewriteRule .* /index.php
</IfModule>
 
DocumentRoot [PATH_TO_EZPUBLISH
ServerName [SERVER_NAME]
ServerAlias [SERVER_ALIAS]
</VirtualHost>

The pertinent settings are interpreted as follows:
Les paramètres sont interprétés de la façon suivante:

[IP_ADDRESS] The IP address of the virtual host, for example "128.39.140.28". Apache allows the use of wildcards here ("*"). 
L'adresse IP de l'hôte virtuel, par exemple 128.39.140.28
Apache autorise ici l'emploi des caractères spéciaux ("*")
[PORT] The port on which the web server listens for incoming requests. This is an optional setting; the default port is 80. The combination of an IP address and a port is often referred to as a "socket". Apache allows the use of wildcards here ("*"). 
Le numéro du port sur lequel le serveur web écoute les réquêtes entrantes. Ceci est un paramètre optionnel. Le port par défaut est le port 80. L'association d'une adresse IP et d'un numéro de port constitue un "socket".
Apache autorise ici l'emploi des caractères spéciaux ("*")
[PATH_TO_EZPUBLISH] The path to the directory that contains eZ publish. This must be the absolute path, for example "   /var/www/ezpublish  ". 
Le chemin vers le répertoire contenant eZ Publish. Ce doit être un chemin absolu, par exemple: /var/www/ezpublish 
[SERVER_NAME] The host or IP address that Apache should look for. If a match is found, the virtual host settings will be used. 
L'hôte ou l'adresse IP qu'Apache doit chercher. Si une concordance est trouvée, les paramètres de l'hôte virtuel afférent seront utilisés.
[SERVER_ALIAS] Additional hosts / IP addresses that Apache should look for. If a match is found, the virtual host settings will be used. 
Hôtes ou adresses IP supplémentaires qu'Apache devra rechercher. Si une concordance est trouvée, les paramètres de l'hôte virtuel afférent seront utilisés.

Note that the   mod_rewrite   module must be enabled in   httpd.conf   in order to use the Rewrite Rules. 
Notez que dans le fichier httpd.conf le module mod_rewrite doit être activé afin de pouvoir utiliser les règles de réécriture des URI.

Friday 04 August 2006 10:41:00

Commentaires