====== 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é [[http://www.chiark.greenend.org.uk/~sgtatham/putty/|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 [[http://sourceforge.net/project/showfiles.php?group_id=95717&package_id=102072|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 [[:fr/hosting/gandi-ai/configure-virtualhosts|ce tutorial]] * Configurer votre sous-domaine pour pointer vers le serveur que vous venez de configurer, comme vous l'explique [[fr:hosting:manage-quota:attach-domain-screencast|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 **[[http://ez.no/fr/download|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 [[http://sourceforge.net/project/showfiles.php?group_id=21558|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 [[http://www.theprojects.org/dev/zone.txt|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: {{ fr:hosting:using-linux:tutorials:gandiai:ezpublish.png }} \\ ===== 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 ([[http://wiki.gandi.net/fr/hosting/manage-server/my-ip-address|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 [[http://ezpublish-france.fr/|communauté francophone eZ Publish]]!