Date de publication: le vendredi 3 avril 2009 Ã 09h55
Dernière modification: par Pascal BOYER le mercredi 1 septembre 2010 à 15h00
« Article précédent: eZ Publish 4.0 : installer eZ Components
» Article suivant: eZ Publish 4.1.1 : installer la version 4.1.1
Cet article reprend dans le détail l'installation, décrite dans cet article , de eZ Component sur une plate-forme Linux/Debian.
I - Liste des packages PHP
Voici tout d'abord la liste des packages PHP installés sur mon serveur:
dpkg -l |grep php
ii libapache2-mod-php5 5.2.9.dfsg.1-1 server-side, HTML-embedded scripting languag ii libgv-php5 2.20.2-3 Php5 bindings for graphviz ii php-http 1.4.1-1 PHP PEAR module for HTTP related stuff ii php-mail 1.1.14-1 PHP PEAR module for sending email ii php-mail-mime 1.5.2-0.1 PHP PEAR module for creating MIME messages ii php-mail-mimedecode 1.5.0-3 PHP PEAR module to decode MIME messages ii php-net-smtp 1.3.1-1 PHP PEAR module implementing SMTP protocol ii php-net-socket 1.0.9-2 PHP PEAR Network Socket Interface module ii php-pear 5.2.9.dfsg.1-1 PEAR - PHP Extension and Application Reposit ii php-xml-parser 1.3.0-1 PHP PEAR module for parsing XML ii php5 5.2.9.dfsg.1-1 server-side, HTML-embedded scripting languag ii php5-cgi 5.2.9.dfsg.1-1 server-side, HTML-embedded scripting languag ii php5-cli 5.2.9.dfsg.1-1 command-line interpreter for the php5 script ii php5-common 5.2.9.dfsg.1-1 Common files for packages built from the php ii php5-curl 5.2.9.dfsg.1-1 CURL module for php5 ii php5-dev 5.2.9.dfsg.1-1 Files for PHP5 module development ii php5-ffmpeg 0.6.0-1 audio and video support via ffmpeg for php5 ii php5-gd 5.2.9.dfsg.1-1 GD module for php5 ii php5-gmp 5.2.9.dfsg.1-1 GMP module for php5 ii php5-imagick 2.1.1RC1-1 ImageMagick module for php5 ii php5-imap 5.2.9.dfsg.1-1 IMAP module for php5 ii php5-ldap 5.2.9.dfsg.1-1 LDAP module for php5 ii php5-mcrypt 5.2.9.dfsg.1-1 MCrypt module for php5 ii php5-memcache 3.0.1-1 memcache extension module for PHP5 ii php5-mhash 5.2.9.dfsg.1-1 MHASH module for php5 ii php5-mysql 5.2.9.dfsg.1-1 MySQL module for php5 ii php5-sasl 0.1.0-1 Cyrus SASL extension for PHP 5 ii php5-xcache 1.2.2-3 Fast, stable PHP opcode cacher
II - Configuration du fichier php.ini
La première chose à faire, préalablement à l'installation de eZ Components , consiste à paramétrer le fichier de configuration de PHP5, à savoir le fichier php.ini . Ce paramétrage permet d'indiquer à PHP une liste de répertoires dans lesquels certaines de ses fonctions devront rechercher des fichiers.
Il existe plusieurs fichiers php.ini :
ls -laR /etc/php5/*/php.ini
-rw-r--r-- 1 root root 44817 avr 3 10:18 /etc/php5/apache2/php.ini -rw-r--r-- 1 root root 44873 avr 3 10:14 /etc/php5/cgi/php.ini -rw-r--r-- 1 root root 44871 avr 3 10:14 /etc/php5/cli/php.ini
Le premier est utilisé par le serveur web Apache 2, le second par PHP en mode CGI et le dernier par PHP en mode CLI .
La directive à renseigner est include_path :
- voir ce lien: ini.core.php
- voir ce lien: ini.include-path.php
Personnellement, je renseigne, comme indiqué ci-dessous, la directive include_path de chacun des trois fichiers php.ini pour ne pas avoir de mauvaise surprise.
;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories ; ;;;;;;;;;;;;;;;;;;;;;;;;; include_path = ".:/usr/share/php:/usr/share/php/ezc"
Le chemin /usr/share/php est celui du répertoire par défaut de PEAR.
Le package php-pear installe un fichier de configuration:
/etc/pear/pear.conf
...contenant l'ensemble des différents répertoires utilisés par PEAR. On y trouve en particulier:
- "cache_dir";s:15:"/tmp/pear/cache"
- "php_dir";s:14:"/usr/share/php"
- "temp_dir";s:14:"/tmp/pear/temp"
Le chemin /usr/share/php/ezc correspond quant à lui au répertoire dans lequel on souhaite que soient installés, par la méthode PEAR Installer , les composants eZ .
Pensez à redémarrer votre serveur web Apache après avoir modifié le fichier php.ini .
III - Configuration du fichier config.php
La configuration du fichier config.php (qui n'existe pas par défaut) n'est à envisager que si vous n'avez pas accès à l'administration du serveur, dans le cas d'un hébergement mutualisé par exemple, et qu'il vous est donc impossible d'installer les composants eZ par la méthode décrite par les paragraphes suivants. En clair, sautez ce paragraphe III si vous avez accès à l'administration de votre serveur.
Vous devez tout d'abord télécharger l'archive des composants à cette adresse: http://ezcomponents.org/download
Vous devez ensuite extraire son contenu dans un nouveau répertoire situé, par exemple, à la racine du répertoire d'installation de eZ Publish .
Si ce nouveau répertoire se nomme ezc/ , son contenu sera alors semblable à ceci (pour la version 2008.2.2):
Archive Authentication AuthenticationDatabaseTiein autoload Base Cache Configuration ConsoleTools Database DatabaseSchema Debug Document EventLog EventLogDatabaseTiein Execution Feed File Graph GraphDatabaseTiein ImageAnalysis ImageConversion Mail MvcMailTiein MvcTemplateTiein MvcTools PersistentObject PersistentObjectDatabaseSchemaTiein PhpGenerator Search SignalSlot SystemInformation Template TemplateTranslationTiein Translation TranslationCacheTiein Tree TreeDatabaseTiein TreePersistentObjectTiein Url UserInput Webdav Workflow WorkflowDatabaseTiein WorkflowEventLogTiein WorkflowSignalSlotTiein
Il ne vous reste plus qu'à créer, à la racine du répertoire d'installation de eZ Publish , le fichier config.php puis d'y ajouter ces lignes:
<?php
set_include_path("/chemin/obsolu/vers/repertoire/ezc" . PATH_SEPARATOR . get_include_path());
?>Je vous propose de lire ce post dont sont issues les informations ci-dessus: re_installing_new_extensions_not_available__2
IV - Installer eZ Components
Pour s'assurer de partir de zéro, il est important de supprimer les fichiers et répertoires suivants (s'ils sont présents sur votre système):
- /usr/share/php/.channels/components.ez.no.reg
- /usr/share/php/.channels/.alias/components.ez.no.txt
- /usr/share/php/.channels/.alias/ezc.txt
- /usr/share/php/.registry/.channel.components.ez.no/
-
/usr/share/php/doc (il s'agit, dans certains cas, d'un lien vers /usr/share/doc/php-pear/)
- /usr/share/php/ezc
- /tmp/pear/
Puis les commandes à lancer sont les suivantes (voir l'article eZ Publish 4.0 : installer eZ Components ):
pear channel-discover components.ez.no
Adding Channel "components.ez.no" succeeded Discovery of channel "components.ez.no" succeeded
La commande ci-dessus installe les fichiers suivants:
- /usr/share/php/.channels/components.ez.no.reg
- /usr/share/php/.channels/.alias/components.ez.no.txt
- /usr/share/php/.registry/.channel.components.ez.no/ (vide)
- /tmp/pear/temp/channel.xml
On poursuit avec l'installation des composants eZ :
pear install -a ezc/eZComponents
... ... ...done: 7,712 bytes downloading WorkflowSignalSlotTiein-1.0.tgz ... Starting to download WorkflowSignalSlotTiein-1.0.tgz (82,849 bytes) ...done: 82,849 bytes install ok: channel://components.ez.no/Base-1.6.1 install ok: channel://components.ez.no/Archive-1.3.3 install ok: channel://components.ez.no/Authentication-1.2.3 install ok: channel://components.ez.no/Cache-1.4 install ok: channel://components.ez.no/Configuration-1.3.2 install ok: channel://components.ez.no/ConsoleTools-1.5 install ok: channel://components.ez.no/Database-1.4.4 install ok: channel://components.ez.no/DatabaseSchema-1.4.2 install ok: channel://components.ez.no/Debug-1.2 install ok: channel://components.ez.no/Document-1.1.2 install ok: channel://components.ez.no/EventLog-1.3 install ok: channel://components.ez.no/Execution-1.1.1 install ok: channel://components.ez.no/Feed-1.2.1 install ok: channel://components.ez.no/File-1.2 install ok: channel://components.ez.no/Graph-1.4.2 install ok: channel://components.ez.no/ImageAnalysis-1.1.3 install ok: channel://components.ez.no/Mail-1.6.1 install ok: channel://components.ez.no/MvcTools-1.0 install ok: channel://components.ez.no/PhpGenerator-1.0.4 install ok: channel://components.ez.no/Search-1.0.4 install ok: channel://components.ez.no/SignalSlot-1.1.1 install ok: channel://components.ez.no/SystemInformation-1.0.7 install ok: channel://components.ez.no/Template-1.3.2 install ok: channel://components.ez.no/Translation-1.2 install ok: channel://components.ez.no/Tree-1.1.2 install ok: channel://components.ez.no/Url-1.2.2 install ok: channel://components.ez.no/UserInput-1.4 install ok: channel://components.ez.no/Webdav-1.1 install ok: channel://components.ez.no/Workflow-1.3.2 install ok: channel://components.ez.no/AuthenticationDatabaseTiein-1.1 install ok: channel://components.ez.no/EventLogDatabaseTiein-1.0.2 install ok: channel://components.ez.no/GraphDatabaseTiein-1.0.1 install ok: channel://components.ez.no/ImageConversion-1.3.5 install ok: channel://components.ez.no/MvcMailTiein-1.0 install ok: channel://components.ez.no/MvcTemplateTiein-1.0 install ok: channel://components.ez.no/PersistentObject-1.5.1 install ok: channel://components.ez.no/TemplateTranslationTiein-1.0 install ok: channel://components.ez.no/TranslationCacheTiein-1.1.2 install ok: channel://components.ez.no/TreeDatabaseTiein-1.1.1 install ok: channel://components.ez.no/WorkflowDatabaseTiein-1.3.1 install ok: channel://components.ez.no/WorkflowEventLogTiein-1.1 install ok: channel://components.ez.no/WorkflowSignalSlotTiein-1.0 install ok: channel://components.ez.no/PersistentObjectDatabaseSchemaTiein-1.2.1 install ok: channel://components.ez.no/TreePersistentObjectTiein-1.0 install ok: channel://components.ez.no/eZComponents-2008.2.2
Cette commande installe les fichiers et répertoires suivants:
- /tmp/pear/cache/ : ce répertoire contient environ 360 fichiers xxx.cachefile et xxx.cacheid .
- /tmp/pear/download/ : ce répertoire contient environ 45 archives aaa.tgz et les 45 sous-répertoires dans lesquels ont été extraits le contenu de chacune des archives.
- /usr/share/php/.registry/.channel.components.ez.no/ : ce répertoire contient environ 45 fichiers aaa.reg
- /usr/share/php/ezc/ : ce répertoire, automatiquement créé, contient environ 45 sous-répertoires contenant les divers composants eZ .
Les composants eZ sont à présents disponibles et prêts à l'emploi.
V - eZ Components : les messages d'erreur d'installation
Il peut arriver que la commande d'installlation des composants eZ renvoie un message d'erreur ressemblant à ceci:
pear install -a ezc/eZComponents
Duplicate package channel://components.ez.no/ConsoleTools-1.5.1 found Duplicate package channel://components.ez.no/ConsoleTools-1.5.2 found install failed
L'installation étant interrompue ( install failed ) en raison de la présence de deux versions d'un même package, vous devez procéder manuellement à l'installation du package par le biais de la commande suivante:
pear install components.ez.no/ConsoleTools-1.5.2
downloading ConsoleTools-1.5.2.tgz ... Starting to download ConsoleTools-1.5.2.tgz (907,174 bytes) ....................................................................................................done: 907,174 bytes install ok: channel://components.ez.no/ConsoleTools-1.5.2
Vous choisirez de préférence le N° de version le plus élévé correspondant au package le plus récent.
Ceci fait, relancez la commande d'installation générale:
pear install -a ezc/eZComponents
Si vous obtenez un nouveau message d'erreur de type:
Duplicate package channel://components.ez.no/Mail-1.6.2 found Duplicate package channel://components.ez.no/Mail-1.6.3 found install failed
...vous devez alors recommencer la procédure d'installation manuelle pour ce nouveau package. La commande à lancer sera cette fois-ci:
pear install components.ez.no/Mail-1.6.3
downloading Mail-1.6.3.tgz ... Starting to download Mail-1.6.3.tgz (1,139,469 bytes) ................................................................................done: 1,139,469 bytes install ok: channel://components.ez.no/Mail-1.6.3
Poursuivez à nouveau avec la procédure d'installation générale:
pear install -a ezc/eZComponents
Il est possible que vous deviez installer plusieurs packages individuellement avant que la commande d'installation globale se termine sans message d'erreur.
Commentaires













