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




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

eZ Publish : Procédure d'installation

Table des matières

  1. Introduction : les différentes méthodes d'installation d'eZ Publish
  2. Virtual host setup -- Configuration du mode Hôte virtuel (eZ Publish 4.4-)
  3. Virtual host example -- Exemple d'hôte virtuel (eZ Publish 4.4-)
  4. Virtual host setup -- Configuration du mode Hôte virtuel (eZ Publish 4.5+)
  5. Virtual host example -- Exemple d'hôte virtuel (eZ Publish 4.5+)
  6. Prérequis à une installation normale (3.9)
  7. Prérequis à une installation normale (4.0)
  8. Prérequis à une installation normale (4.5+)
  9. Installer eZ Components
  10. Installer eZ Components : détails de l'installation sous Linux
  11. Installer eZ Publish sur un système Linux/UNIX
  12. Installer eZ Publish avec l'assistant graphique d'installation et de configuration
  13. Installer eZ Publish 4.0.0 : exemple d'installation sur un système Linux / Debian

eZ Publish 4 : installer la version 4.0.1

Date de publication: le vendredi 9 décembre 2011 à 12h23
Dernière modification: par Pascal BOYER le mardi 13 décembre 2011 à 14h40

eZ Publish 4.0

Si je suis fort c'est parce que je porte en moi au lieu de ma médiocre vie toutes les vies, un millier d'yeux me permettent d'aller sans faille de l'avant...

Pablo Neruda

Cet article, consacré à l'installation dans un environnement Linux / Debian de la version 4.0.0 d'eZ Publish, est avant une illustration très concrète des précédents articles de cette rubrique. Il s'agit donc d'une mise en application de la théorie dispensée par la documentation.
La version 4.0.0 est la dernière version stable à l'heure où j'écris cet article: 02 janvier 2008.

:
Depuis, la version 4.0.1 est sortie est doit obligatoirement être préférée à la version buguée 4.0.0 qui ne doit donc pas être utilisée.
Cependant, vous pouvez sans risque aucun suivre la présente documentation (qui décrit l'installation d'une version 4.0.0) pour vous aider dans l'installation de votre version 4.0.1.

Cet article s'adressant particulièrement aux personnes découvrant ce fabuleux CMS qu'est eZ Publish, je donne le plus de détails possible afin que chacun soit en mesure d'installer eZ Publish aussi bien sur un serveur dédié que sur un serveur mutualisé.

Dans cet article, vous trouverez de nombreuses remarques et explications personnelles (ainsi que les commandes en ligne nécessaires) vous permettant, je l'espère, de mieux comprendre la phase d'installation d'eZ Publish.

Certains passages du présent article ne sont rien d'autre que la traduction de la documentation officielle en ligne sur le site ez.no .

:
La version 4.0 corrige pas moins de 178 bugs présents dans la version 3.10.0 ( changelog 3.10.0 to 4.0.0 )

Attendre peut-être un peu ?

Cette version d'eZ Publish contient néanmoins un bug ( ID 11744 ) pouvant s'avérer rédhibitoire, particulièrement pour les français.

En effet, dans le menu Contenu de l'interface d'administration, le menu contextuel ne s'affiche pas lorsque le nom d'un objet contient des apostrophes. Voici la description du bug: 3.10.0 dynamic content structure menu quote

eZ Publish: prérequis à l'installation

:
Avant de vous lancer dans l'installation d'eZ Publish, vous devez lire Prérequis à une installation normale (eZ Publish 4.0) pour savoir comment configurer l'environnement logiciel d'eZ Publish.
Vous gagnerez du temps et apprendrez à mieux connaître le fonctionnement d'eZ Publish.

Dans la suite du document, nous supposerons:

  • que le serveur web Apache est en service,
  • que la racine du serveur web (c'est à dire la valeur de la directive DocumentRoot) est /usr/local/www/
  • que le répertoire d'installation de eZ Publish est /usr/local/www/monsite/
  • que l'URI http://www.linuxorable.fr permet d'accéder au contenu du répertoire /usr/local/www/monsite/ (configuration en VirtualHost )
  • que les droits sur le répertoire /usr/local/www/monsite/ sont:
drwxr-xr-x 16 www-data www-data 4096 2006-07-17 19:24 monsite

Pour créer ce répertoire puis en définir les droits et propriétaires, placez-vous dans le répertoire /usr/local/www/

cd /usr/local/www/

Puis en tant que root:

su

Password: entrer le mot de passe de root

...créez le répertoire monsite:

mkdir monsite

...et modifiez en les droits:

chmod 755 monsite

...et enfin les propriétaires:

chown www-data:www-data monsite

:
Je rappelle que le premier www-data correspond à la valeur par défaut de la directive User du fichier de configuration de Apache ( /etc/apache2/apache2.conf sous Debian) et que le deuxième www-data correspond à la valeur par défaut de la directive Group de ce même fichier.

Nous supposerons aussi:

  • que le serveur MySQL (version minimum: 4.1) est en service et que vous y avez accès en tant qu'administrateur,
  • que la version installée de PHP est supérieure ou égale à 5.1.6,
  • que vous disposez sur votre système de PHP CLI (Command Line Interface / Interface de Ligne de Commande).

Incompatibilités de eZ Publish

:
eZ Publish 4.0.0 n'est compatible ni avec PHP 4 ni avec une version de MySQL inférieure à 4.1 (voir Prérequis à une installation normale (eZ Publish 4.0) )

Configuration de PHP: le fichier php.ini

Lisez le document Prérequis à une installation normale (eZ Publish 4.0) pour savoir comment configurer certains paramètres du fichier php.ini

Dans le fichier php.ini, le paramètre max_execution_time vaut, par défaut, 30 (secondes). Cette valeur peut s'avérer insuffisante et entrainer une corruption de la base de données utilisée par eZ Publish si l'exécution d'un script PHP est interrompue en cours d'exécution. Je rappelle que ce paramètre indique le temps maximum alloué à l'exécution d'un script PHP. Il est donc souhaitable, à fortiori si vous avez un site important, d'augmenter la valeur de ce paramètre au minimum à plusieurs minutes (à exprimer obligatoirement en secondes !) pour éviter l'interruption inopinée et dommageable d'un script PHP.

:
Quand vous avez fini de paramétrer le fichier php.ini , pensez à relancer le serveur web Apache pour que soient prises en compte vos modifications:

su

Password: entrer le mot de passe de root

/etc/init.d/apache2 restart

Récapitulatif des packages installés sur mon serveur Debian Sid

Voici quelques uns des packages nécessaires aux fonctionnement de eZ Publish.

dpkg -l |grep apache

ii  apache2-mpm-prefork        2.2.6-2                Traditional model for Apache HTTPD
ii  apache2-utils              2.2.6-2                utility programs for webservers
ii  apache2.2-common           2.2.6-2                Next generation, scalable, extendable web se
ii  libapache2-mod-php5        5.2.4-2                server-side, HTML-embedded scripting languag

dpkg -l |grep mysql

ii  libdbd-mysql-perl          4.005-1                A Perl5 database interface to the MySQL data
ii  libmysqlclient15off        5.0.51-1               MySQL database client library
ii  mysql-client-5.0           5.0.51-1               MySQL database client binaries
ii  mysql-common               5.0.51-1               MySQL database common files
ii  mysql-server               5.0.51-1               MySQL database server (meta package dependin
ii  mysql-server-5.0           5.0.51-1               MySQL database server binaries
ii  php4-mysql                 6:4.4.4-8+etch4        MySQL module for php4
ii  php5-mysql                 5.2.4-2                MySQL module for php5

dpkg -l |grep php

ii  libapache2-mod-php5        5.2.4-2                server-side, HTML-embedded scripting languag
ii  libgv-php5                 2.12-5                 Php5 bindings for graphviz
ii  php-db                     1.7.6-2                PHP PEAR Database Abstraction Layer
ii  php-http                   1.3.6-2                PHP PEAR module for HTTP related stuff
ii  php-image-canvas           0.2.2-1                Image_Canvas module for PEAR
ii  php-image-graph            0.7.1-1                Image_Graph module for PEAR
ii  php-mail                   1.1.6-2                PHP PEAR module for sending email
ii  php-mail-mime              1.3.1-1.1              PHP PEAR module for creating and decoding MI
ii  php-net-smtp               1.2.6-2                PHP PEAR module implementing SMTP protocol
ii  php-net-socket             1.0.6-2                PHP PEAR Network Socket Interface module
ii  php-pear                   5.2.4-2                PEAR - PHP Extension and Application Reposit
ii  php-xml-parser             1.2.6-2                PHP PEAR module for parsing XML
ii  php5                       5.2.4-2                server-side, HTML-embedded scripting languag
ii  php5-cgi                   5.2.4-2                server-side, HTML-embedded scripting languag
ii  php5-cli                   5.2.4-2                command-line interpreter for the php5 script
ii  php5-common                5.2.4-2                Common files for packages built from the php
ii  php5-curl                  5.2.4-2                CURL module for php5
ii  php5-gd                    5.2.4-2                GD module for php5
ii  php5-gmp                   5.2.4-2                GMP module for php5
ii  php5-imagick               2.0.1-1                ImageMagick module for php5
ii  php5-mcrypt                5.2.4-2                MCrypt module for php5
ii  php5-memcache              3.0.0-1                memcache extension module for PHP5
ii  php5-mhash                 5.2.4-2                MHASH module for php5
ii  php5-mysql                 5.2.4-2                MySQL module for php5
ii  php5-sasl                  0.1.0-1                Cyrus SASL extension for PHP 5
ii  php5-xcache                1.2.1-3                Fast, stable PHP opcode cacher

dpkg -l |grep imagemagick

ii  imagemagick                7:6.2.4.5.dfsg1-2           Image manipulation programs

Télécharger eZ Publish

Vous trouverez l'archive de eZ Publish sur la page de téléchargement du site officiel ez.no.

Pour la suite de l'article nous supposerons que vous avez téléchargé l'archive ezpublish-4.0.0-gpl.tar.gz

:
Etant donnés les droits sur le répertoire d'installation monsite/ toutes les opérations dans ce dernier devront être faites en tant que root (symbolisé par ~#).

Après avoir téléchargé l'archive ezpublish-4.0.0-gpl.tar.gz, décompactez-la dans le répertoire /usr/local/www/  monsite/ :

su

Password: entrer le mot de passe de root

tar zxfv ezpublish-4.0.0-gpl.tar.gz -C /usr/local/www/monsite

Placez-vous ensuite dans le répertoire d'installation:

cd /usr/loca/www/monsite

...pour déplacez tous les fichiers et répertoires du répertoire ezpublish-4.0.0/ vers la racine de monsite/:

mv ezpublish-4.0.0/* .

mv ezpublish-4.0.0/.htaccess_root .

...et effacez le répertoire ezpublish-4.0.0/

rm -r ezpublish-4.0.0

Au final, voici ce qui a été installé dans le répertoire monsite/:

total 276
drwxr-xr-x 18 www-data www-data  4096 2008-01-03 01:03 .
drwxrws--- 29 www-data www-data  4096 2008-01-02 02:42 ..
-rw-r--r--  1 cathy    cathy    16583 2007-12-03 22:51 access.php
drwxr-xr-x  2 cathy    cathy     4096 2007-12-03 22:51 autoload
-rw-r--r--  1 cathy    cathy     1152 2007-12-03 22:51 autoload.php
drwxr-xr-x  5 cathy    cathy     4096 2007-12-03 22:49 bin
drwxr-xr-x  2 cathy    cathy     4096 2007-12-03 22:51 cronjobs
drwxr-xr-x  5 cathy    cathy     4096 2007-12-03 22:49 design
drwxr-xr-x  6 cathy    cathy     4096 2007-12-03 22:49 doc
drwxr-xr-x  4 cathy    cathy     4096 2007-12-03 22:51 extension
-rwxr-xr-x  1 cathy    cathy    39911 2007-12-03 22:51 ezpm.php
drwxr-xr-x 17 cathy    cathy     4096 2007-12-03 22:51 ezpublish-4.0.0
-rw-r--r--  1 cathy    cathy      630 2007-12-03 22:49 ezpublish.cron
-rw-r--r--  1 cathy    cathy     1021 2007-12-03 22:49 .htaccess_root
-rw-r--r--  1 cathy    cathy     3042 2007-12-03 22:51 index_image_mysql.php
-rw-r--r--  1 cathy    cathy      828 2007-12-03 22:51 index_image.php
-rw-r--r--  1 cathy    cathy    40501 2007-12-03 22:51 index.php
-rw-r--r--  1 cathy    cathy     5253 2007-12-03 22:51 index_treemenu.php
drwxr-xr-x 29 cathy    cathy     4096 2007-12-03 22:49 kernel
-rw-r--r--  1 cathy    cathy     6501 2007-12-03 22:49 kickstart.ini-dist
drwxr-xr-x 16 cathy    cathy     4096 2007-12-03 22:51 lib
-rw-r--r--  1 cathy    cathy    18007 2007-12-03 22:51 LICENSE
drwxr-xr-x  2 cathy    cathy     4096 2007-12-03 22:49 packages
-rw-r--r--  1 cathy    cathy     4381 2007-12-03 22:51 pre_check.php
-rw-r--r--  1 cathy    cathy     2558 2007-12-03 22:49 README.txt
-rwxr-xr-x  1 cathy    cathy    13612 2007-12-03 22:51 runcronjobs.php
drwxr-xr-x  3 cathy    cathy     4096 2007-12-03 22:49 schemas
drwxr-xr-x  4 cathy    cathy     4096 2007-12-03 22:49 settings
drwxr-xr-x  7 cathy    cathy     4096 2007-12-03 22:51 share
-rw-r--r--  1 cathy    cathy     4446 2007-12-03 22:51 soap.php
drwxr-xr-x  3 cathy    cathy     4096 2007-12-03 22:49 support
drwxr-xr-x  4 cathy    cathy     4096 2007-12-03 22:49 update
drwxr-xr-x  4 cathy    cathy     4096 2007-12-03 22:49 var
-rwxr-xr-x  1 cathy    cathy     8489 2007-12-03 22:51 webdav.php

Nous allons à présent redéfinir le propriétaire et groupe propriétaire de tous les (sous-)répertoires et fichiers:

:
Il n'est pas obligatoire de suivre cette procédure puisque si vous ne modifiez pas les droits tel que je l'indique ci-dessous, lors de la procédure d'installation un message vous informera de la marche à suivre pour paramétrer ces droits (voir figure 3).
Les droits que fixent la procédure à suivre proposée lors de l'installation d'eZ Publish (voir figure 4) diffèrent de ceux que je propose ici. A vous de choisir la méthode qui vous semble la mieux adaptée.

chown -R www-data:www-data *

chown www-data:www-data .*

Voilà ce que vous devez avoir à present dans le répertoire /usr/local/www/monsite/ :

total 272
drwxr-xr-x 17 www-data www-data  4096 2008-01-03 01:04 .
drwxrws--- 29 www-data www-data  4096 2008-01-02 02:42 ..
-rw-r--r--  1 www-data www-data 16583 2007-12-03 22:51 access.php
drwxr-xr-x  2 www-data www-data  4096 2007-12-03 22:51 autoload
-rw-r--r--  1 www-data www-data  1152 2007-12-03 22:51 autoload.php
drwxr-xr-x  5 www-data www-data  4096 2007-12-03 22:49 bin
drwxr-xr-x  2 www-data www-data  4096 2007-12-03 22:51 cronjobs
drwxr-xr-x  5 www-data www-data  4096 2007-12-03 22:49 design
drwxr-xr-x  6 www-data www-data  4096 2007-12-03 22:49 doc
drwxr-xr-x  4 www-data www-data  4096 2007-12-03 22:51 extension
-rwxr-xr-x  1 www-data www-data 39911 2007-12-03 22:51 ezpm.php
-rw-r--r--  1 www-data www-data   630 2007-12-03 22:49 ezpublish.cron
-rw-r--r--  1 www-data www-data  1021 2007-12-03 22:49 .htaccess_root
-rw-r--r--  1 www-data www-data  3042 2007-12-03 22:51 index_image_mysql.php
-rw-r--r--  1 www-data www-data   828 2007-12-03 22:51 index_image.php
-rw-r--r--  1 www-data www-data 40501 2007-12-03 22:51 index.php
-rw-r--r--  1 www-data www-data  5253 2007-12-03 22:51 index_treemenu.php
drwxr-xr-x 29 www-data www-data  4096 2007-12-03 22:49 kernel
-rw-r--r--  1 www-data www-data  6501 2007-12-03 22:49 kickstart.ini-dist
drwxr-xr-x 16 www-data www-data  4096 2007-12-03 22:51 lib
-rw-r--r--  1 www-data www-data 18007 2007-12-03 22:51 LICENSE
drwxr-xr-x  2 www-data www-data  4096 2007-12-03 22:49 packages
-rw-r--r--  1 www-data www-data  4381 2007-12-03 22:51 pre_check.php
-rw-r--r--  1 www-data www-data  2558 2007-12-03 22:49 README.txt
-rwxr-xr-x  1 www-data www-data 13612 2007-12-03 22:51 runcronjobs.php
drwxr-xr-x  3 www-data www-data  4096 2007-12-03 22:49 schemas
drwxr-xr-x  4 www-data www-data  4096 2007-12-03 22:49 settings
drwxr-xr-x  7 www-data www-data  4096 2007-12-03 22:51 share
-rw-r--r--  1 www-data www-data  4446 2007-12-03 22:51 soap.php
drwxr-xr-x  3 www-data www-data  4096 2007-12-03 22:49 support
drwxr-xr-x  4 www-data www-data  4096 2007-12-03 22:49 update
drwxr-xr-x  4 www-data www-data  4096 2007-12-03 22:49 var
-rwxr-xr-x  1 www-data www-data  8489 2007-12-03 22:51 webdav.php

Francisation d'eZ Publish

Lors de l'installation vous devrez choisir la langue principale qui sera utilisée, entre autres, pour traduire l'interface d'administration de eZ Publish.
Par ailleurs, l'interface d'installation est proposée, par défaut, en plusieurs langues. Mais pas en français.

Cependant, un fichier de traduction est disponible sur cette page: French translation - eZ Publish 4.0

Après avoir téléchargé l'archive translation.zip , décompactez-la ainsi:

unzip /home/perso/translation.zip -d share/translations/

Archive:  /home/perso/translation.zip
creating: /usr/local/www/monsite/share/translations/fre-FR/
inflating: /usr/local/www/monsite/share/translations/fre-FR/translation.ts

...afin que le fichier de traduction soit placé dans le répertoire

/usr/local/www/monsite/share/translations/fre-FR/

Modifiez éventuellement les propriétaires:

chown -R www-data:www-data share/translations/fre-FR/

Configuration de Firefox

Pour afficher la page d'accueil du Wizard d'installation en français, activez l'onglet Avancé des Préférences de Firefox puis sélectionnez comme Choix de la langue préférée pour l'affichage des pages, l'option suivante:

 Fig. 1: Configurer Firefox pour afficher la page d'accueil du Wizard en français

Installer les anciens types de site lors de l'installation de eZ Publish 4.0.0

:
Les explications de ce paragraphe ne concernent que les personnes ayant déjà une bonne connaissance de eZ Publish.

A l'heure où j'écris ces lignes, il n'est pas possible d'installer, sur la version 4.0.0, les anciens types de sites (voir la figure 11 de l'article eZ Publish : installer la version 3.9.1 ) car les packages ne sont pas disponibles.
Contrôlez tout de même leur présence dans le répertoire http://packages.ez.no/ezpublish/ qui devra, le cas échéant, contenir un sous-répertoire nommé 4.0legacypackages

Que les choses soient claires: il ne s'agit en aucun cas de "vieux" types de sites, ou de types de site obsolètes. Il s'agit simplement de types de site dont le design est plus traditionnel. Surtout, il s'agit de types de site dont l'intégration au système est totalement différente de celle proposée par Website Interface (voir figure 11 ci-dessous) qui est entièrement construit et intégré au système en tant qu'extension.

Lorsque le répertoire 4.0legacypackages sera présent et pour être en mesure de choisir l'un des types de site qu'il contiendra, vous devrez créer le fichier de configuration suivant:

touch settings/override/package.ini.append.php

pour y ajouter ceci:

[RepositorySettings]
RemotePackagesIndexURL=http://packages.ez.no/ezpublish/4.0legacypackages

La deuxième ligne indique au système le serveur distant sur lequel il devra télécharger les packages additionnels dépendant du type de site que vous aurez préalablement sélectionnés depuis l'interface d'installation (voir figure 11).
Retenez que si vous procédez à cette configuration alors vous ne serez plus en mesure de choisir les types Website et eZ Flow (voir figure 11).

Pensez à modifier les propriétaires de ce nouveau fichier.

Lancer l'installation de eZ Publish 4.0

Pour afficher la page d'accueil du Wizard d'installation, utilisez l'URI permettant d'accéder au contenu du répertoire /usr/local/www/monsite/

Mais il est possible que vous n'obteniez, en guise de page d'accueil, qu'une page blanche. Dans ce cas, éditez votre fichier php.ini et modifier la valeur du paramètre magic_quotes_runtime comme ceci:

magic_quotes_runtime = Off

En revanche, si vous obtenez ces messages d'erreur:

 Fig. 2: Message d'erreur engendré par le paramètre magic_quotes_gpc

...alors c'est la valeur du paramètre magic_quotes_gpc du fichier php.ini que vous devez modifier ainsi:

magic_quotes_gpc = Off

:
Si après avoir modifié votre fichier php.ini et redémarré votre serveur Apache vous obtenez toujours le même affichage, procédez alors à la suppression des caches. Cette opération consiste, quelque soit la méthode employée, à supprimer tous les répertoires et fichiers présents dans le répertoire var/cache/

:
Si vous n'avez pas accès au fichier de configuration de Apache, ajoutez les trois lignes suivantes au fichier .htaccess

  • php_value register_globals 0
  • php_value magic_quotes_gpc 0
  • php_value magic_quotes_runtime 0

Le fichier .htaccess

A la racine du répertoire d'installation de eZ Publish vous trouverez un fichier .htaccess_root dont il vous suffit de faire une copie nommée .htaccess puis d'y copier les trois lignes ci-dessus.

Lorsque votre fichier php.ini est correctement configuré, s'affiche enfin la page d'accueil de la procédure d'installation:

Fig. 3: URI d'accès à la page d'accueil du Wizard d'installation de eZ Publish 4.0.0

Cliquez à présent sur Paramétrage fin afin de vous assurer que votre système est correctement adapté au bon fonctionnement d'eZ Publish. Le système va en effet effectuer un certain nombre de tests et proposer des solutions aux différents problèmes éventuellement rencontrés.

Par exemple, des droits insuffisants sur les fichiers et répertoires produiront l'affichage suivant (cliquez sur l'image pour afficher la taille réelle):

 

Fig. 4: Problèmes de droits d'accès et solutions proposées par le système

Les commandes permettant de résoudre les problèmes sont affichées dans les cadre bleu clair de la figure 4.

:
Commandes Shell alternatives (figure 4) présente les commandes à taper ou à exécuter lorsque vous n'avez pas les droits nécessaires pour modifier les propriétaires des répertoires et fichiers. C'est à dire lorsque vous n'avez pas accès à la commande chown, ce qui peut être le cas avec un site hébergé par un serveur mutualisé.
Si vous êtes dans ce cas, pensez à modifier également les droits sur les fichiers de configuration des répertoire settings/ et settings/siteaccess/admin/. Notez d'ailleurs que la commande chmod proposée est assortie de l'option de récursivité -R.

Le cadre bleu clair (sous Oubli de quelques répertoires) présente la commande à lancer pour créer les répertoires manquant. Il est évident que si le système a échoué à créer ces répertoires c'est en raison des droits insuffisants qu'il a rencontrés. Donc, le seul fait de rétablir les bons droits sur les fichiers et répertoires permettra au système de créer les répertoires manquant et si vous cliquez à nouveau sur Paramétrage fin une fois les droits correctement définis vous obtenez ceci:

 

Fig. 5: Messages concernant la prise en charge des bases de données PostgreSQL

Sur la figure 5, le message concerne le contrôle des bases de données PostgreSQL. Comme nous utilisons MySQL, nous ne tenons pas compte du message d'avertissement.

:
Vous remarquerez que l'outil de manipulation d'image dont se servira eZ Publish est déjà indiqué, dans la colonne droite, sous la rubrique Récapitulatif.

Poursuivez l'installation en cliquant sur Suivant>

Fig. 6: Configuration du système d'envoi de mails

Si vous avez installé un serveur de mail ou si vous avez un FAI, choisissez alors l'option SMTP et renseignez le nom du serveur SMTP. De même, la plupart des hébergeurs vous proposent dans leurs offres au moins une adresse mail. Vous devez donc indiquer ici le nom de leur serveur SMTP.

Les deux champs:

  • Nom d'utilisateur (optionnel):
  • Mot de passe (optionnel):

...ne doivent être renseignés que si vous devez vous authentifier auprès du serveur SMTP.

Si vous choisissez l'option Sendmail/MTA: pensez à contrôler, avec la commande ci-dessous, que sendmail est bien installé sur votre système:

dpkg -l '*sendmail*' |grep ^ii

Poursuivez l'installation en cliquant sur Suivant>

Fig. 7: Choisir le type de bases de données

Sur la figure 7 sont affichés les types de bases de données automatiquement détectés par le système.

Si l'option MySQL Improved est présente cela signifie que l' extension MySQLi est activée dans PHP. Il est alors recommandé de choisir cette option.

Poursuivez avec Suivant>

Fig. 8: Configuration de l'accès à la base de données

La page présentée par la figure 8 permet de configurer l'accès à la base de données dont se servira eZ Publish pour stocker, entre autres, les contenus de votre site.

:
Le nom de la base de données sera sélectionnée ultérieurement dans le processus d'installation.

Créer la base de données MySQL pour eZ Publish

Si vous n'avez pas encore créé la base de données spécifique à l'usage d'eZ Publish, voici comment en créer une manuellement, c'est à dire en ligne de commande.

Commencez par vous connecter au serveur MySQL en tant que root:

mysql -u root -p

Enter password: <mot_de_passe_root_de_mysql>
mysql>;

:
Toutes les commandes d'administration de MySQL doivent se terminer par un point virgule collé (sans espace) au dernier "mot" de la commande.

Puis créez une base de données:

mysql> CREATE DATABASE 'nom_de_la_base_de_données';

Query OK, 1 row affected (0.02 sec)

Jeu de caractères UTF-8

La version 4.0.0 de eZ Publish impose l'emploi d'une base de données utilisant l'encodage UTF-8 et donc une version 4.1 ou supérieure de MySQL

:
Pour ceux qui veulent en savoir plus sur les jeux de caractères, voici un très bon article d' OpenWeb .

Voici la commande à utiliser pour créer une telle base de données:

mysql> CREATE DATABASE 'nom_de_la_base_de_données' DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Query OK, 1 row affected (0.02 sec)

Le suffixe _ci signifie case insensitive c'est à dire insensible à la casse.

Enfin, créez un utilisateur ( nom_utllisateur) et son mot de passe ( mot_de_passe) et affectez-lui les privilèges d'administrateur ( GRANT ALL) pour cette nouvelle base de données ( nom_de_la_base_de_données.*):

mysql> GRANT ALL ON nom_de_la_base_de_données.* TO nom_utilisateur@localhost IDENTIFIED BY 'mot_de_passe';

Fermez la connexion:

mysql> QUIT;

Bye

Maintenant, vous pouvez renseigner les deux champs Nom d'utilisateur et Mot de passe avec les valeurs de nom_utilisateur et mot_de_passe employées dans la commande ci-dessus.

:
Vous pouvez renseigner le champ Socket (optionnel): en indiquant le chemin vers le fichier de socket de MySQL. L'emplacement de ce fichier est défini dans le fichier de configuration de MySQL ( /etc/mysql/  my.cnf sous Debian).

Cette commande permet de rechercher rapidement le chemin de ce fichier de socket:

grep -R "socket" /etc/my* |cut -d= -f2

Poursuivez l'installation en cliquant sur Suivant>

Si eZ Publish ne peut pas se connecter au serveur MySQL, il vous le signale:

Fig. 9: Message d'erreur lorsque la connexion à la base de données échoue

...et la procédure d'installation reste bloquée à l'étape 9 tant que la connexion reste impossible.

En cas de succés de la connexion, vous accédez à l'étape de configuration de la langue:

Fig. 10: Configuration de la langue principale ( French) et des langages de traduction

...où vous devez choisir la langue Par défaut en cochant le bouton radio correspondant et éventuellement une ou plusieurs langues Additionnelles grâce aux cases à cocher.

La différence entre la langue Par défaut et les langues Additionnelles est que la première détermine la langue du système, c'est à dire de l'interface d'administration, ainsi que les paramètres locaux, c'est à dire le système d'unités afférent au pays de la langue (monnaie, heures, dates, etc...).

Le choix des langues pourra être modifié ultérieurement même sur un site en production.

Les langues Additionnelles font référence aux langues qui seront disponibles pour la traduction des contenus.

Depuis la version 3.8 de eZ Publish il est possible de créer des objets dans n'importe laquelle des langues disponibles.

:
Le système de gestion des langues étant très riche, je vous recommande vivement la lecture de sa documentation: Multi-language -- Système multilingue

Choix des types de site sous eZ Publish

Cette étape suit celle de la sélection des langues:

Fig. 11: Choix du type de site que devra installé le système

Votre choix devra se porter sur l'un des trois types de site proposés:

  • Plain site: c'est de très loin le type de site le plus dépouillé des trois (voir figure 22 ). Bien que frustrant de par son aspect très frustre, ce type a, à mon sens, l'indéniable avantage d'être très didactique. Je m'explique: ce type de site, parce que très dépouillé, vous oblige, en partant de presque rien, à vous poser de nombreuses questions sur le B.A-BA du fonctionnement de eZ Publish. Et je pense qu'il est préférable de commencer à apprendre les choses en partant du commencement plutôt que par la fin ou le milieu. Or le type Website, très beau et très complet en ce qu'il donne, dès la fin de l'installation de eZ Publish, un aperçu relativement complet des possibilités offertes par ce dernier, vous met de plein pied face à des questionnement techniques ardus sitôt que vous voulez modifier le comportement et le design proposés. C'est à dire 15 minutes après avoir fini votre installation !
    Avec le type plain, tout est à construire en partant de quasiment rien. Je trouve que cela permet d'apprendre plus simplement, en respectant le rythme de chacun et en fixant plus clairement les idées.

    Si vous choisissez ce type et cliquez sur Suivant> voici ce qui s'affiche:

Fig. 12: Confirmation du téléchargement du package relatif au type de site Plain

  • Website: comme je l'évoque ci-dessus, ce choix vous amène tout droit, à la fin de l'installation, à un site web d'apparence professionnelle et présentant bon nombre des fonctionnalités avancées de eZ Publish (voir figure 24 ).
    Pour vous aider à découvrir dans le détail le fonctionnement de cette interface, une documentation complète est à votre disposition: doc Website Interface 1.3 Malheureusement, il n'en existe, à ce jour, pas de traduction française.
    Ce type de site contient des contenus de démonstration en langue anglais et française.

    Si vous choisissez ce type et cliquez sur Suivant> voici ce qui s'affiche:

Fig. 13: Confirmation du téléchargement du package relatif au type de site Website

Comme vous le constatez sur la figure 13, toutes les dépendances sont automatiquement téléchargées par le système afin que tout soit prêt à fonctionner dès la fin de l'installation de eZ Publish 4.

  • eZ Flow: ce choix vous permettra d'obtenir un site essentiellement dédié à la gestion de contenus multimédia (vidéo, images, streaming, etc...voir figure 25 ). En voici la présentation en français .
    La documentation est disponible ici: doc eZ Flow 1.0 (le document Guide d'installation et de configuration est traduit en français ).

    Une vidéo de présentation, il faut l'avouer, assez bluffante, est diffusée ici: vidéo de eZ Flow

    Si vous choisissez ce type et cliquez sur Suivant> voici ce qui s'affiche:

Fig. 14: Confirmation du téléchargement du package relatif au type de site eZ Flow

Comme pour le type Website, toutes les dépendances sont automatiquement téléchargées par le système afin que tout soit prêt à fonctionner dès la fin de l'installation de eZ Publish 4.

A propos des types de site

Comme vous le constatez, vous ne pouvez sélectionner qu'un seul type de site. Ce qui signifie que vous ne pouvez installer qu'un seul type de site. De ce fait, une question semble revenir assez fréquemment chez les personnes qui découvrent eZ Publish: comment faire pour bénéficier de fonctionnalités présentes, par exemple, uniquement dans le type Website tout en installant le type eZ Flow ou Plain ?
Voici la réponse que j'ai apportée à cette question que je me suis également posée: comme je démarre toujours un site avec le type Plain, je réalise, dans un répertoire temporaire ou sur une autre machine, une deuxième installation basée, par exemple, sur le type Website. Je fais le tour des fonctionnalités mises en oeuvre et chaque fois que l'une d'entre elles m'intéresse, je la reproduis sur mon site de type Plain. Dans la mesure où les types Website et eZ Flow ne sont en fait rien d'autre qu'un ensemble de templates, de classes d'objets, de feuilles de style, etc... exploitant les fonctionnalités générales d'eZ Publish, il devient relativement aisé de reproduire ou d'adapter les solutions prêtes à l'emploi proposées par les développeurs d'eZ Systems dans ces deux types de site.

Ce qu'il faut retenir de ceci, c'est que quel que soit votre choix, il sera possible, une fois l'installation terminée, de modifier tout ou partie de votre site. Il vous sera possible de le modifier exactement comme bon vous semble, sans limite !

:
Vous pouvez contôler que les packages ont bien été installés en regardant dans le répertoire:

var/storage/packages/ez_systems/

qui doit contenir, dans le cas du choix du type plain:

ls -la var/storage/packages/eZ-systems/plain_site/

total 24
drwxrwxrwx 5 www-data www-data 4096 2008-01-03 05:25 .
drwxrwxrwx 3 www-data www-data 4096 2008-01-03 05:25 ..
drwxrwxrwx 2 www-data www-data 4096 2008-01-03 05:25 .cache
drwxr-xr-x 3 www-data www-data 4096 2008-01-03 05:25 files
-rw-r--r-- 1 www-data www-data 1796 2006-08-15 14:36 package.xml
drwxr-xr-x 2 www-data www-data 4096 2008-01-03 05:25 settings

L'étape suivante concerne les options du package de langue:

Fig. 15: Langue du package et langue du système

Cette étape est optionnelle et son affichage dépend des langues que vous avez choisies à l'étape Support de langue (voir figure 10 ). Si vous avez sélectionné le français et l'anglais, alors cette étape n'existe pas.

N'ayant pas testé toutes les options possibles, je ne peux vous en expliquer leur fonctionnement.
Il semblerait cependant que si vous n'avez choisi que le français comme langue Par défaut et aucune langue Additionnelle ET sélectionné le type Website alors l'option Faire correspondre avec French (France) soit celle qui permette d'obtenir, au final, un site présentant le contenu en français.

La page suivante permet la configuration du type d'accès au futur site:

Fig. 16: Choix de la méthode d'accès

L'option URL (recommandé) doit être considérée comme l'option à choisir dans la plupart des cas et particulièrement lors d'une première installation (ce qui est présentement notre cas).

Les deux autres options requièrent des configurations additionnelles du serveur web, du firewall (s'il existe) et du DNS.

Pour plus de détails je vous renvoie à la documentation traduite relative à ces trois méthodes d'accès .

Etape suivante:

Fig. 17: Choix de la base de données et des siteaccess

...vous devez définir:

  • Titre: le titre du site (sera affiché sous forme de logo sur les pages publiques et renverra à l'accueil du site en cliquant dessus)
  • URL du site: l'adresse web du site (celle associée au titre du site pour que le logo renvoie à la page d'accueil -- Garder la valeur par défaut)
  • Chemin d'accès utilisateur: le chemin d'accès au site pour les visiteurs ( mettez ce que vous voulez dans ce champ)
  • Chemin d'accès administrateur: le chemin d'accès à l'interface d'administration ( mettez ce que vous voulez dans ce champ)
  • Base de données: la base de donnée affectée à eZ Publish (celle créée à l'étape de la figure 8)

Les siteaccess sous eZ Publish

Voici une très courte introduction à la notion fondamentale des siteaccess au sujet desquels vous trouverez de plus amples informations dans cette documentation: eZ Publish: les siteaccess

Supposons que dans les champs:

  • Chemin d'accès utilisateur : on mette premier_site (à la place de linuxorable comme sur la figure 17 ou à la place de la valeur par défaut site_public)
  • Chemin d'accès administrateur : on mette premier_site_admin (à la place de linuxorable_admin comme sur la figure 17 ou à la place de la valeur par défaut interface_admin)

...alors cela implique obligatoirement que dans le répertoire settings/siteaccess/ seront créés les deux sous-répertoires premier_site et premier_site_admin. Ces deux répertoires premier_site et premier_site_admin sont aussi appelés siteaccess !

Donc, si on reprend le contenu de ces deux champs tel que l'indique la figure 17, vous en concluez que seront créés les deux sous-répertoires suivants:

settings/siteaccess/linuxorable/
settings/siteaccess/linuxorable_admin/

:
Un siteaccess est un répertoire dans lequel se trouve l'ensemble des fichiers de configuration devant être utilisés par le système lorsque les requêtes HTTP font référence à ce siteaccess. Par exemple, l'adresse http de cet article fait référence au siteaccess luxpopuli
Par défaut, le siteaccess est présent dans tous les URI du site qui sont du type http://www.luxpopuli.fr/index.php/luxpopuli/... (le site luxpopuli.fr utilise une option de configuration pour supprimer le siteaccess des URI)

Dans le jargon de eZ Publish, le sous-répertoire /linuxorable_admin/ porte un nom générique: admin siteaccess c'est à dire sitaccess d'administration. Et le sous-répertoire /linuxorable/ le nom générique: public siteaccess c'est à dire siteaccess public.

:
Bien que cela soit parfaitement possible, évitez, puisque ces deux valeurs seront des noms de répertoires, les espaces et les apostrophes dans les noms renseignés dans les deux champs Chemin d'accès utilisateur et Chemin d'accès administrateur

Validez en cliquant sur Suivant>

Fig. 18: Configuration de l'administrateur

...pour configurer l'administrateur du site.

:
L'identifiant de l'administrateur de eZ Publish n'est pas celui défini dans les champs Prénom ou Nom mais admin comme l'indique la ligne Connexion juste au-dessus du champ Prénom.

Par contre le mot de passe associé à admin sera celui que vous définissez dans le champ Mot de passe:

:
Il faut bien distinguer l'utilisateur dont il est question à l'étape de la figure 8 et qui permet de se connecter à la base de données (il en est l'administrateur) de l'administrateur nommé admin dont on définit le mot de passe figure 18 qui, lui, est administrateur du site web !

Le premier sera utilisé par le système pour se connecter à la base de données pour y écrire et/ou modifier les valeurs qu'elle contient. Par exemple, chaque fois que vous modifiez des valeurs dans l'interface d'administration en cliquant sur un bouton OK, le système enregistre ces modifications dans des tables de la base de données.
Il serait insupportable que le système vous demande à chaque fois de fournir le login et le mot de passe de l'administrateur de la base de données. C'est pourquoi ce login et ce mot de passe sont enregistrés en clair au tout debut des fichiers:

settings/siteaccess/<public siteaccess>/<b>site.ini.append.php</b>
settings/siteaccess/<admin siteaccess>/<b>site.ini.append.php</b>

Le deuxième administrateur sert uniquement au système eZ Publish à contrôler que le login et le mot de passe fournis pour accéder à l'interface d'administration sont bien ceux de l'administrateur du site web.
Le mot de passe de cet administrateur n'est pas enregistré dans un fichier mais dans la base de données.
Pour plus d'informations, voir l'article Retrouver login et password

La validation des informations provoquera l'affichage de cette page:

Fig. 19: Configuration de mode Hôte Virtuel

...vous indiquant que votre site, ne tournant pas en mode virtualHost, ceci constitue un mode non sécurisé. Le reste du message vous incite, dans la mesure où vous ne pouvez/voulez pas configurer d'hôte virtuel, de faire une copie du fichier .htaccess_root que vous nommerez .htaccess et que vous placerez à la racine du site, c'est à dire à la racine du répertoire  monsite/ Il s'agit du même fichier .htaccess que celui dont il est question sous la figure 2 .

:
Vous n'êtes absolument pas obligé de configurer le mode VirtualHost pour que votre site fonctionne tout à fait correctement. Ni même obligé de mettre en place le fichier .htaccess. Auquel cas, passez à l'étape suivante en cliquant sur Suivant> sans rien modifier ni à votre fichier .htaccess ni au fichier de configuration de Apache.

Vous pouvez donc soit modifier le fichier de configuration du serveur Apache soit, plus simplement et comme préconisé sur la figure 19, faire une copie du fichier .htaccess_root:

cd /usr/local/www/mon_site/

cp .htaccess_root .htaccess

Si vous optez pour la solution du mode en VirtualHost, voici un lien qui vous aidera: configurer un VirtualHost

Validez avec le bouton Suivant> et sur la nouvelle page:

Fig. 20: Enregistrement final de votre site

...vous pouvez, avant de passez à l'enregistrement définitif du site, vérifier certaines informations (contenues dans le champ Le message d'inscription:) dont je vous propose un exemple tiré de mon installation:

Comments:
 
 
Site info:
 
  Site package  - plain_site
  Title         - Linuxorable
  URL           - http://linuxorable.fr/index.php/linuxorable       <======= URI DU SITE PUBLIC
  Admin URL     - http://linuxorable.fr/index.php/linuxorable_admin <======= URI D'ACCES A L'INTERFACE D'ADMINISTRATION
  Access type   - url
  Access value  - linuxorable
 
 
Web server info:
Version - Apache/2.2.6 (Debian) PHP/5.2.4-2 with Suhosin-Patch
 
PHP info:
Version - 5.2.4-2
 
OS info
Name - Linux euphorie 2.6.23.9 #2 PREEMPT Sun Dec 9 15:28:30 CET 2007 i686
CPU Type - Intel(R) Core(TM)2 Duo CPU     E6750  @ 2.66GHz
CPU Speed - 2671.702 MHz
Memory Size - 4249739264 (3,96 GB)
 
Database info:
Type - MySQL Improved
Driver - ezmysqli
 
 
Email info:
Transport - SMTP
 
Image conversion:
ImageMagick was found and used.
Path - /usr/bin
Executable - convert
ImageGD extension was found and used.
 
Regional info:
Primary - fre-FR
Additional - fre-FR
 
Critical tests
 
directory_permissions - Success
phpversion - Success
database_extensions - Success
image_conversion - Success
open_basedir - Success
safe_mode - Success
memory_limit - Success
execution_time - Success
magic_quotes_runtime - Success
allow_url_fopen - Success
accept_path_info - Success
php_session - Success
file_upload - Success
zlib_extension - Success
 
Other tests:
 
php_magicquotes - Success
mbstring_extension - Success
imagegd_extension - Success
imagemagick_program - Success
database_all_extensions - Failure
php_register_globals - Success
texttoimage_functions - Success
autoload_permission - Success

:
database_all_extensions - Failure (4ème ligne avant la fin) est dû au fait que nous n'avons pas défini la prise en charge de PostgreSQL.

Vous pouvez, en cochant en bas à droite l'option Envoyer l'enregistrement (encadré en vert figure 20), envoyer à l'équipe des développeurs de eZ Publish les informations suivantes:

  • Détails sur votre système: (OS type, etc),
  • les résulats des tests,
  • le type de base de données,
  • le nom du site,
  • l'adresse web du site,
  • le choix des langues.

Ces informations, que les développeurs s'engagent à ne fournir à quiconque sous aucun prétexte, serviront à améliorer les fonctionnalités de eZ Publish. Lors d'une première installation, c'est la contribution minimum à laquelle, me semble t-il, nous devons répondre. Donc, on coche l'option ;-)

Si vous cochez l'option, soyez patient: il peut s'écouler quelques minutes avant de passer à la prochaine étape.

Validez une dernière fois pour finir l'installation de eZ Publish

Fig. 21: FIn de l'installation de eZ Publish

Sur la figure ci-dessus vous remarquez les deux liens permettant d'accéder respectivement au site public et à la page de connexion de l'interface d'administration:

  • Site utilisateur renvoie au siteaccess linuxorable c'est à dire au site public.
  • Site administrateur renvoie au siteaccess linuxorable _admin c'est à dire à l'interface d'administration.

:
Je rappelle que linuxorable et linuxorable _admin représentent les valeurs renseignées dans les champs Chemin d'accès utilisateur et Chemin d'accès administration figure 17 et que ces deux valeurs représentent à la fois des noms de répertoires et les deux siteaccess de votre système.

Il est important de retenir ces deux liens car ils pemettent respectivement d'accéder à la page d'accueil du site:

Fig 22: Comme promis, la page d'accueil du site Plain est très dépouillée !

...ou à la page de login pour l'administrateur (dont le login est admin):

Fig 23: La page d'identification de l'administrateur du site

ATTENTION !

Depuis la version 3.8.0, le fonctionnement du menu dans l'onglet Contenus a changé.

Il faut à présent indiquer dans le fichier settings/siteaccess/<admin_siteaccess>/contentstructuremenu.ini.append.php

les classes d'objets que le menu doit afficher.

Vous trouverez, par défaut, dans ce fichier les lignes suivantes:

<?php /* #?ini charset="iso-8859-1"? 
 
[TreeMenu]
ShowClasses[]
ShowClasses[]=folder
ShowClasses[]=user_group
*/ ?>

Autant dire que par défaut, pas grand chose ne peut être afficher par le menu !

Le type Website

Si à l'étape 11 ( figure 11 ) vous avez choisi le type Website alors voici ce que vous devez obtenir comme site public:

 

Fig. 24: Le type Website. Ca a une autre gueule non ?!

Le type eZ Flow

Si à l'étape 11 ( figure 11 ) vous avez choisi le type eZ Flow alors voici ce que vous devez obtenir comme site public:

 

Fig. 25: Le type eZ Flow est dédié à la gestion d'un site multimédia



Table des matières

  1. Introduction : les différentes méthodes d'installation d'eZ Publish
  2. Virtual host setup -- Configuration du mode Hôte virtuel (eZ Publish 4.4-)
  3. Virtual host example -- Exemple d'hôte virtuel (eZ Publish 4.4-)
  4. Virtual host setup -- Configuration du mode Hôte virtuel (eZ Publish 4.5+)
  5. Virtual host example -- Exemple d'hôte virtuel (eZ Publish 4.5+)
  6. Prérequis à une installation normale (3.9)
  7. Prérequis à une installation normale (4.0)
  8. Prérequis à une installation normale (4.5+)
  9. Installer eZ Components
  10. Installer eZ Components : détails de l'installation sous Linux
  11. Installer eZ Publish sur un système Linux/UNIX
  12. Installer eZ Publish avec l'assistant graphique d'installation et de configuration
  13. Installer eZ Publish 4.0.0 : exemple d'installation sur un système Linux / Debian

Commentaires

  • Oui, merci

    ezpublish n'est pas vraiment intuitif, merci donc pour tes explications :)

    Félicitations

    Excellent.
    Bon esprit de partage aussi.
    Bon que dire.. Continuez peut-être..

    Un grand grand merci

    Clair, limpide, transparent… si tous les tutoriaux étaient de cette qualité celà faciliterait grandement la tâche des autodidactes dont je suis.
    Encore merci donc

    Longue vie