Installer eZ Publish (Gandi AI ou Ubuntu)

Temps d'installation: 1h

eZ Publish est un système de gestion de contenu (Content Management System - CMS) conçu pour un usage plus professionnel que SPIP, Drupal ou Joomla.


Pré-requis à cette installation

En plus des pré-requis habituels (installation des modules nécessaires sur votre serveur, avoir un client FTP, etc…), l'installation d'eZ Publish nécessitera

Client SSH

Pas d'inquiétude si vous ne vous êtes jamais servis d'un client SSH, ce tutoriel vous guidera pas à pas. :) Si vous êtes sous Linux ou Mac, vous aurez Konsole et Terminale installé par défaut sur vos systèmes respectifs.

Les utilisateurs de Windows pourront, eux, télécharger un logiciel appelé PuTTY.

Un serveur Mail

Si vous êtes expérimenté en la matière, vous pourrez installer PostFix sur votre serveur à partir de la liste des modules installables sur l'interface Gandi AI.

Sinon, le plus simple reste encore de se créer un compte Gandi Mail, dans “Vos domaines” sur l'interface d'administration Gandi.

Une fois que vous aurez créé un compte Gandi Mail sur le domaine qui acceuillera eZ Publish, prenez note du nom d'utilisateur et du mot de passe que vous avez défini, ils vous seront demandés lors de l'installation d'eZ Publish.

Editeur Plain Text

Théoriquement, le Bloc-Notes ou WordPad pourraient suffire, mais vous risquerez de peiner un peu. :) Vous êtes plutôt avisés de télécharger un éditeur Plain Text conçu pour écrire ou modifier du code, comme l'excellent Notepad++.


Prévoir un espace dédié à eZ Publish

Ici, deux choix s'offrent à vous. Par souci de “propreté”, une application est généralement placée dans un répertoire au sein du sous-domaine www (www.example.com/ezpublish), ou dans un sous-domaine spécifique (ezpublish.example.com).

Si vous préférez simplement placer eZ Publish dans un répértoire :

Facile! Créez un répertoire dédié dans l'emplacement souhaité (dans htdocs par exemple, pour obtenir www.example.com/ezpublish)

Si vous voulez attribuer un sous-domaine spécifique à eZ Publish du type ezpublish.example.com :

Deux opérations à faire:

  • Configurer votre serveur pour ce sous-domaine, comme vous l'explique ce tutorial
  • Configurer votre sous-domaine pour pointer vers le serveur que vous venez de configurer, comme vous l'explique ce tutorial


Télécharger eZ Publish

Pour commencer, nous allons le télécharger.

Rien ne vaut le site officiel pour trouver le fichier compressé initial. Je conseille donc ce lien.

Choisissez ensuite le fichier au format de compression que vous préférez, .tar.gz ou .zip.

Maintenant que le fichier est sur votre disque dur préféré, décompressez-le. Vous voici avec un répertoire (renommons le ezpublish) contenant tout les fichiers.

Lancez votre client FTP préféré (Ah, vous aussi c'est FileZilla?), connectez-vous en temps qu'admin sur votre serveur, et rendez-vous sur le repertoire correspondant au virtual host que vous aviez défini initialement.

Dans l'exemple en cours, le chemin de mon FTP correspondra à ceci :

/srv/d_ma-gandi-ai/www/ezpublish.example.com/htdocs/

…a moins que vous n'ayez changé la configuration initiale des fichiers web, mais si vous l'avez fait, j'assume que vous saviez ce que vous faisiez :)

A ce stade, nous allons donc pouvoir mettre les fichiers de eZ Publish sur notre Gandi AI.

  • Si vous avez créé un virtual host de type ezpublish.mondomaine.com, vous allez vouloir qu'il démarre dés la première page : vous allez donc uploader le contenu (et non pas le répertoire en lui-même) du répertoire ezpublish dans le répertoire htdocs de votre sous-domaine.
  • Si vous n'avez que faire du sous-domaine et que vous préférez un bon vieux lien en mondomaine.com/ezpublish alors il ne vous reste plus qu'à uploader le répertoire complet dans htdocs (ou dans un autre dossier si vous en avez décidé ainsi).


Préparer les fichiers eZ Publish

Permissions

Pour que eZ Publish puisse se configurer, il va avoir besoin de droits spécifiques sur certains dossiers/fichiers. Pour changer les droits sur un fichier via votre client FTP, dans la plupart des cas, il suffit de faire un click droit sur le fichier en question et chercher le bon terme dans le menu contextuel (Droits, Rights, CHMOD ou encore Propriétés). Puisque j'ai commencé à vanter les mérites de FileZilla, voyons comment faire avec ce client.

Pointez le fichier en question, faites un click-droit dessus et sélectionnez “Attributs du fichier…”. La fenêtre qui s'ouvre vous propose de changer les droits du fichier de 2 façons différentes : en droits à cocher ou en valeur numérique.

Le but du tutorial n'étant pas de vous initier aux valeurs numériques des droits sous UNIX, il est plus facile de vous dire que vous devez simplement remplacer la valeur numérique par 777.

Les répertoires qui nécessitent un changement de droits sont:

design 
extension 
settings 
settings/override 
settings/siteaccess 
settings/siteaccess/admin 
var 
var/cache 
var/storage

Débuggage

Il vous faudra ensuite apporter une petite modification à un des fichier du répertoire eZ Publish, afin d'éviter un bug assez ennuyeux plus tard dans l'installation.

Le fichier s'appelle ezdebug.php et se trouve dans le chemin /lib/ezutils/classes/ du répertoire d'eZ Publish.

Téléchargez-le sur votre disque dur afin que vous puissiez l'ouvrir et l'éditer avec Notepad++ ou un logiciel équivalent.

Descendez à la ligne 879 du fichier (eh oui, c'est pratique d'avoir Notepad++ qui affiche le numéro de chaque ligne!), où vous pourrez lire la ligne de code suivante:

$time = strftime( "%d %b %Y %H:%M:%S", strtotime( "now" ) );

Il faudra que vous la remplaciez par cette ligne de code, en vous assurant qu'elle occupe bien la ligne 879:

$time = date_default_timezone_set("Europe/Berlin");

Sauf si vous n'êtes pas, bien entendu, dans le même fuseau horaire que Berlin (vous pouvez consulter la liste de timezones disponibles sur cette page).

A titre de référence, vous pouvez conserver l'ancienne ligne de code en la descendant à la ligne 880, précédée par deux 'slash' afin de l'invalider. C'est, par exemple, ce que j'ai fait ici:


Créer une base de données dédiée à eZ Publish

Cette base va devoir être créée en SSH, et non par l'interface Gandi AI, car il faudra lui définir un “character set” (encodage) spécifique.

1. Se connecter sur le serveur via SSH

Sur Mac ou Linux, vous pouvez directement taper

ssh admin@000.000.000.000 

dans la console de votre client SSH, en remplaçant les chiffres par l'IP de votre serveur (où puis-je trouver cela?) pour accéder à la gestion de votre serveur en SSH.

Sur PuTTY, il faudra rentrer l'adresse IP de votre serveur dans le champ “Host Name” de la fenêtre qui s'affiche, puis cliquer sur “Open”. Ensuite, dans le champ “login as:” qui apparaitra dans votre fenêtre de console, il faudra mettre admin, puis fournir le mot de passe du compte admin sur votre serveur (il est normal qu'il ne s'affiche pas à l'écran lorsque vous le tapez.)

Le support de Gandi n'a pas accès à ce mot de passe. Si vous l'avez oublié, il vous faudra créer un nouveau serveur.

2. Se connecter à la base de données MySQL

Il faut maintenant vous connecter sur votre base de données mysql en tant que “root” via la commande suivante :

mysql -p

Le mot de passe d'accès vous est demandé. Il s'agit du mot de passe que vous avez défini lors de l'installation de votre base de données MySQL sur votre serveur. Si vous avez oublié ce mot de passe, vous pourrez le réinitialiser via votre interface Gandi AI en cliquant sur le lien “configurer” de MySQL sur la page de configuration des packages.

3. Créer la base de données

Il faut maintenant créer la base de données que vous allez utiliser pour votre site web. Commencez par définir un nom pour la base (ici: galerie), en utilisant la commande suivante :

create database ezpublish CHARACTER SET utf8;

…ainsi, je créé une base de données (elle sera appelée ezpublish dans notre exemple, mais vous pouvez lui choisir le nom que vous voulez) en spécifiant son character set. Sans cela, la base sera créée avec un character set différent par défaut, et l'installation d'eZ Publish ne fonctionnera pas. Appuyez sur “entrée”, et vous verrez la ligne suivante apparaitre :

Query OK, 1 row affected (0.16 sec)

Cela confirme que la base de données a été ajoutée.

4. Créer un nom d'utilisateur et un mot de passe pour la base de données

Vous devez maintenant définir un nom d'utilisateur et un mot de passe pour la connexion à votre nouvelle base. Ce mot de passe doit être suffisamment complexe pour assurer un bon niveau de sécurité.

Pour notre exemple, le nom d'utilisateur sera “jack” et le mot de passe “GanD1do”. Utilisez la commande suivante :

grant all privileges on ezpublish.* to 'jack'@'localhost' identified by "GanD1do"; 

Nous avons donc :

  • ezpublish : le nom de la base
  • jack : le nom d'utilisateur associé à cette base
  • GanD1do : le mot de passe associé à cet utilisateur

Bien entendu, n'utilisez le même mot de passe que celui de cet exemple!

Utilisez ensuite la commande suivante :

flush privileges;

et enfin :

exit;

Voilà, la base de données a été créée et vous avez quitté la gestion de votre serveur MySQL.

5. Déconnexion

Vous pouvez maintenant quitter votre serveur en utilisant la commande :

exit


Installation d'eZ Publish

A présent, vous pouvez utiliser votre navigateur internet pour vous rendre dans l'emplacement d'eZ Publish (du type ezpublish.example.com; example.com/ezpublish…).

Choose language

Si eZ Publish a été correctement chargé sur votre serveur, vous serez acceuilli par l'interface d'installation, où il vous serez demandé le choiw d'une langue pour votre eZ Publish. L'installation en soi, cependant, s'effectuera en anglais.

Cliquez sur Next pour poursuivre l'installation.

Outgoing Email

Choisissez l'option SMTP.

Remplissez les champs comme suit:

  • Server name: Si vous avez créé un compte Gandi Mail, ce sera smtp.example.com
  • Username: Il faudra que vous indiquiez l'identifiant que vous aviez défini lors de la création du compte Gandi Mail sur votre domaine. Le Username sera: cet-identifiant@example.com
  • password: Le mot de passe associé à cet identifiant.

Choose database system

Choisissez l'option MySQL Improved.

Database intialization

Remplissez les champs comme suit:

  • Servername: localhost
  • Port: Vous pouvez laisser ce champ vide, le port sera choisi par défaut.
  • Username: Il s'agit du nom de l'utilisateur que vous aviez défini lors de la création de la base de données. Dans notre exemple, c'était jack!
  • Password: Le mot de passe associé à cet utilisateur.
  • Socket (optional): laissez vide

Language support

Ici, vous pouvez choisir la langue par défaut et les langues supplémentaires qui seront disponibles dans votre portail eZ Publish, en fonction de vos besoins et de la nationalité des visiteurs que vous prévoyez de recevoir.

Site package

Choisissez un modèle de présentation pour votre site parmi les trois proposés. Voici la traduction des fonctionnalités de chacun:

  • Plain site (ver. 1.1-2)

“Modèle simplifié. Ne possède pas de toolbar spécial ou de choix de menu.”

  • Website Interface (ver.1.3-0)

“Website Interface est un CMS basé sur eZ Publish. Il contient des templates et des paramètres qui remplissent la plupart des attentes d'un utilisateur de CMS.”

  • eZ Flow (ver. 1.0-1)

“L'extention eZ Flow de eZ Publish permet à l'éditeur des mises en pages complexes et de définir à l'avance des plannings de publication afin d'assurer un flux constant de contenu.”

Puisqu'il s'agit de notre première installation, il est recommandé de choisir l'option Plain site qui pourra être modifiée ensuite.

Site package

Vous êtes notifié que les fichiers permettant l'installation de ce pack ont bien été importés sur votre serveur.

Package language options

Si vous aviez choisi le français, par exemple, choisissez l'option “Map to French (France)”.

Site access configuration

Choisissez l'option URL par défaut qui conviendra trés bien par défaut, à moins de savoir ce que vous faites. :)

Site details

Remplissez les champs comme suit:

  • Title: Le titre que vous souhaitez donner à votre site.
  • Site url: L'addresse d'accueil de votre site, vous pouvez laisser cette valeur par défaut.
  • User path: Il s'agira du chemin de la zone d'administration pour les comptes utilisateurs de votre eZ Publish. Si vous choisissez l'option par défaut “zoneezwebin_site”, le chemin de la zone utilisateur qui sera /index.php/ezwebin_site/ dans votre répertoire eZ Publish.
  • Admin path: Pareil, mais pour les comptes administrateurs. A vous de choisir un nom de chemin pour les deux. Si cela vous est indifférent, choisissez les noms définis par défaut.
  • Database: Parmi la liste, choisissez le nom de la base de données que vous aviez défini au début de ce tutorial. Dans notre exemple, elle s'apellait très originalement ezpublish.

Site administrator

Il s'agit des informations demandées sur l'identité de la personne qui sera responsable d'ezpublish, afin de créer son compte administrateur.

Site security

Cette étape ferait en sorte qu'eZ publish cache le chemin des pages contenues dans son répertoire à vos visiteurs. C'est une mesure de sécurité complètement facultative, d'autant plus que l'opération qu'il vous est demandé de faire ici n'est pas (encore) possible sur un serveur Gandi AI.

Vous pourrez donc sauter cette étape, elle n'a de toute façon aucune incidence sur le fonctionnement de l'application.

Site registration

Ici, vous aurez l'occasion d'enregistrer votre portail eZ publish auprès de eZ Systems. Cochez l'option “Send registration” si vous souhaitez envoyer des renseignements (confidentiels) concernant votre installation. Sinon, dé-cochez la.

Vous pourrez ensuite cliquer sur Next, et ce sera le dernier! Vous serez envoyé vers la zone d'administration de votre tout nouveau portail eZ Publish, et ce premier chargement peut être un petit peu long.


Félicitations, l'installation est finie! Pour tout ce qui porte sur la gestion d'eZ Publish, je vous invite à visiter la communauté francophone eZ Publish!

Dernière modification: le 03/06/2013 à 16:08 par Alexandre J. (Gandi)