Date de publication: le mardi 22 mars 2011 à 12h58
Dernière modification: par Pascal BOYER le dimanche 27 mars 2011 à 19h28
Table des matières
versions 3.9, 3.10, 4.x
Mieux vaut perdre quelques combats dans la lutte que de perdre nos res, sans même avoir essayé de lutter.
This section explains the configuration model of eZ Publish. The default configuration files end with a ".ini" extension and are located in the "/settings" directory. Each file controls the behavior of a specific part of the system. For example, the "content.ini" file controls the behavior of the content engine, the "webdav.ini" file controls the behavior of the WebDAV subsystem, and so on. The main and most important configuration file is called "site.ini". Among other things, it tells eZ Publish which database, design, etc. that should be used. The default configuration files contain all the possible directives (with default settings) along with brief explanations. These files files should only be used for reference. In other words, they should never be modified. The Configuration files section of the reference chapter contains a comprehensive explanation of the different configuration files and their settings.
Ce chapitre explique le modèle de configuration de eZ Publish. Les noms des fichiers de configuration par défaut se terminent par l'extension .ini et sont placés dans le répertoire settings/. Chaque fichier contrôle le comportement d'une partie spécifique du système. Le fichier content.ini contrôle, par exemple, le comportement du moteur de contenu, le fichier webdav.ini celui du sous-système WebDav et ainsi de suite. Le principal et le plus important fichier de configuration est site.ini. Il indique entre autres à eZ Publish la base de données, le design, etc... à utiliser. Les fichiers de configuration par défaut contiennent tous les paramètres disponibles (affectés des valeurs par défaut) accompagnés de brèves explications. Ces fichiers ne doivent être utilisés qu'en tant que référence. En clair, ils ne doivent jamais être modifiés. Le chapitre
Configuration files
de la section Référence contient des explications complètes sur les différents fichiers de configuration et leur paramètres. (Ndt: en fait, peu de fichiers sont documentés).
File structure / Structure d'un fichier
An eZ Publish configuration file is divided into blocks, each block contains a collection of settings. The following example shows a part of the main (site.ini) configuration file.
Un fichier de configuration de eZ Publish est divisé en sections, chacune d'elles contenant un ensemble de paramètres. L'exemple qui suit montre une partie du principal fichier de configuration (site.ini):
... # Cette ligne est un commentaire [DatabaseSettings] Server=localhost User=allman Password=qwerty Socket=disabled SQLOutput=enabled # Cette ligne est un autre commentaire [ExtensionSettings] ActiveExtensions[]=ezdhtml ActiveExtensions[]=ezpaypal ...
The example above shows two blocks: "DatabaseSettings" and "ExtensionSettings". Each block has several settings which control the behavior of the system. A setting can usually be set to enabled/disabled, a string of text or an array of strings. If the name of a setting ends with a pair of square brackets, it means that the setting accepts an array of values. In the example above, the "ActiveExtensions" setting tells eZ Publish to use two different extensions: "ezdhtml" and "paypal". Lines starting with a hash are treated as comments.
L'exemple ci-dessus contient les deux sections [DatabaseSettings] et [ExtensionSettings]. Chacune d'elles est composée de plusieurs paramètres contrôlant le comportement du système. Un paramètre peut généralement être configuré avec les valeurs enabled/disabled (activé/désactivé) ou avec une chaîne de texte ou avec un tableau de chaînes de caractères. Si le nom du paramètre se termine par une paire de crochets ([]), cela indique que le paramètre accepte un tableau de valeurs. Dans l'exemple ci-dessus, le paramètre ActiveExtensions[] indique à eZ Publish d'utiliser deux extensions différentes: ezdhtml et paypal. Les lignes commençant par un # sont traitées comme des commentaires.
Configuration overrides / Surcharges de configuration
As pointed out earlier, the default configuration files should never be modified because they will most likely be overwritten by a new set of files during an upgrade. Making a backup will still not be sufficient because the configuration settings change over time. For example, a previous version of the files will not contain settings that were recently added. Because of these issues, custom configuration settings must be placed elsewhere. Global configuration overrides can be placed in the "/settings/override" directory . The settings of the configuration files located in this directory will override the default settings. The name of the configuration files in the override directory must end with one of the following extensions:
Comme indiqué précédemment, les fichiers de configuration par défaut ne doivent jamais être modifiés car ils seront très probablement écrasés par de nouveaux fichiers lors d'une mise à jour du système. Faire une sauvegarde ne sera pas suffisant car les paramètres de configuration peuvent évoluer au cours du temps. Une précédente version des fichiers de configuration ne contiendra pas, par exemple, les paramètres récemment ajoutés. Pour cette raison, les paramètres de configuration personnels doivent être placés ailleurs. Les surcharges de configuration globales peuvent être placées dans le répertoire settings/override/. Les paramètres des fichiers de configuration placés dans ce répertoire surchargeront (seront prépondérants) les paramètres par défaut. Les noms des fichiers du répertoire override/ doivent se terminer par l'une des extensions suivantes:
- .ini.append
- .ini.append.php
If an override configuration file exist with both ".ini.append" and ".ini.append.php" extensions, eZ Publish will process the one which ends with ".php". Because of possible security issues, the latter (.ini.append.php) should be used; specially if eZ Publish is running in a non virtual host environment. The ".php" extension will trick the web server into handling the configuration file as a PHP script. If someone attempts to read it using a browser, the server will not display the contents. Instead, it will attempt to process it as PHP, which again will not produce any output since the configuration settings are commented out (see below). This method makes it more difficult for a hacker to get access to the configuration settings (for example the database password) by attempting to access one of the configuration files from outside. In order for this to work, the contents of the configuration file must be encapsulated by a pair of PHP comment markers: /* and */. The following example shows how an override (for example "test.ini.append.php") should be set up:
Si un fichier de configuration de surcharge existe en deux exemplaires: un avec l'extension .ini.append et l'autre avec .ini.append.php, alors eZ Publish utilisera celui dont l'extension se termine par .php. En raison de problèmes de sécurité, c'est ce dernier (celui se terminant par .ini.append.php) qui doit être utilisé. A fortiori lorsque eZ Publish ne tourne pas dans un environnement d'hôte virtuel. L'extension .php indiquera (dupera) au serveur web de gérer le fichier de configuration comme s'il était un script PHP. Si quelqu'un essaie de lire ce fichier avec son navigateur, le serveur n'en affichera pas le contenu. Au contraire, le serveur traitera le fichier comme un fichier PHP, ce qui ne produira aucune sortie puisque les paramètres de configurations sont commentés (voir ci-dessous). Cette méthode rend plus difficile à un hacker la possibilité d'accéder aux paramètres de configuration (comme par exemple le mot de passe de la base de données) en essayant d'accéder, depuis l'extérieur, à l'un des fichiers de configuration. Afin que cette méthode fonctionne, le contenu des fichiers de configuration doit être placé entre les marqueurs PHP de commentaires: /* et */. L'exemple suivant montre comment une surcharge (par exemple test.ini.append.php) doit être écrite:
:
Pour eZ Publish 3.9 et 3.10
<?php /* #?ini charset="iso-8859-1"? # Voici mes paramètres d'exemple [ExampleSettings] ExampleSettingOne=enabled ExampleSettingTwo=disabled ... */ ?>
The "charset" directive reveals the character set that was used to construct the ini file (usually ISO-8859-1).
La directive charset (jeu de caractères) indique les caractères à utiliser pour construire le fichier ini (généralement le jeu de caractères ISO-8859-1).
:
Pour eZ Publish 4.x
<?php /* #?ini charset="utf-8"? # Voici mes paramètres d'exemple [ExampleSettings] ExampleSettingOne=enabled ExampleSettingTwo=disabled ... */ ?>
The "charset" directive reveals the character set that was used to construct the ini file (usually UTF-8).
La directive charset (jeu de caractères) indique les caractères à utiliser pour construire le fichier ini (généralement le jeu de caractères UTf-8).
Table des matières
Commentaires














