samedi 19 janvier 2008

Installation de MODx



Pour installer MODx, il faut télécharger le code source qui est disponible sur le site MODX. On récupère un dossier archivé au format .zip, qu'il faut décompacter sur son disque dur local. On ouvre ensuite un logiciel de FTP (j'affectionne SmartFTP qui ne m'a jamais posé de problèmes depuis toutes ces années) et on se connecte sur le site distant souhaité. Il suffit alors d'uploader le contenu de l'archive. Tout le contenu ? Tout le contenu. Il y a quelques Mo, ça prend un peu de temps. Dix minutes, à tout casser.

Ensuite, c'est fastoche. On prend son navigateur web (j'affectionne aussi K-meleon qui est largement plus léger et plus rapide que cette saleté de Firefox, bien qu'il se base lui aussi sur le noyau Mozilla. Je dis saleté, parce que la gestion de la mémoire vive est une calamité sur Firefox, y compris avec la beta 3).
On tape l'adresse du répertoire ou on a intallé le dossier MODx, par exemple : http://monsiteamoi.fr/modx. Là, se trouve normalement un fichier index.php dont je vais suivre les instructions à la lettre.

Etape 1 : Tout d'abord, un message menaçant apparaît :

MODx is not currently installed or the configuration file cannot be found.

Do you want to install now?

Cliquez sur install now. Arrive alors une jolie fenêtre avec le choix du langage (prenez FRENCH, tant que vous y êtes) et un bouton NEXT, sur lequel il faut cliquer....

Etape 2 : S'affiche alors une fenêtre qui déclare Bienvenue dans le programme d'installation de MODx. On clique sur le bouton DEMARRER. En bas de la page suivante, on coche la case J'accepte le contrat de license. et on clique sur Suivant. Dans la fenêtre suivante, on choisit évidemment Nouvelle Installation.

Etape 3 :L'écran suivant est celui des Paramètres de Connexion. Il vous faut donc une base de donnée SQL sur votre serveur, et un identifiant et un mot de passe fournis par votre hébergeur. Dans mon cas, j'ai choisi pour ces test l'hébergeur OVH qui m'envoie gentiment le mot suivant :

Bonjour,

Votre base MySQL a été installée sur notre serveur.


Voici les données techniques:
-----------------------------

MySQL:
Serveur : mysql5-3
Utilisateur : un_nom_quelconque
Nom de la base : une_base_quelconque
Mot de passe : pU5456UjuznUIUR54

Donc évidemment on indique ces paramètres dans l'interface d'install de MODx. Pour le nom de la base, le préfixe et la collation, je laisse les trucs par défaut. Par contre, je change Admin et je le remplace avec un login et un password à moi. Enfin je clique sur suivant.

Si ça ne marche pas c'est qu'il y a un problème avec la base de données, vérifiez bien tous les paramètres auprès de votre hébergeur (notamment les droits d'accès) et recommencez.

Etape 4 :
Si ça marche, sur la page suivante laissez toutes les options cochées, et cochez la case Exemple de site web. Puis cliquez sur Install. Sur la page suivante, tous les clignotants devraient être au vert. vérifiez. Si il y a des problèmes, corrigez-les puis recommencez. Dans mon cas, tout marche, alors je clique sur Install. Et là, premier problème.

Création de la connexion à la base de donnée : OK

Création de la base de données `modx`: La création de la base de données a échoué! - Le programme d'installation n'a pas pu créer la base de données!

database charset = database collation =

Le programme d'installation n'a pas pu créer la base de données, et aucune base de données existante avec le même nom n'a été trouvée. Vraisemblablement, les réglages de sécurité de votre hébergeur n'autorisent pas les scripts externes à créer une base de données. Veuillez suivre la procédure mise à disposition par votre hébergeur afin de créer la base, puis recommencez l'installation.

Hmmm. Un peut de charabia. Voyons ce qu'on peut faire. Je clique sur le bouton et j'obtiens une hideuse page avec du code.

Warning: loadextension(MODX_BASE_PATHmanager/includes/extenders/dbapi..class.inc.php) [function.loadextension]: failed to open stream: No such file or directory in /home/yourserver/www/modx/manager/includes/document.parser.class.inc.php on line 39

On recommence. Ouh la la. Hmmm. Ouiii je vois je vois. Bon, en fait rien de grave puisque je suis sur l'URL du manager, qui me permettra de gérer le contenu quand MODx sera installé. Je recommence donc l'étape 1. Mais ce coup-ci, à l'étape 2 je choisis l'option

Mise A Jour Avancée
(configuration de la base de donées)

car je m'y connais, dans ces trucs-là. Bon, dans la fenêtre suivante on a accès aux paramètres de la base. Je re-remplis tout en faisant bien attention. Pour Jeu de caractères de la connexion, une petite recherche sur Google m'apprend que c'est le codage des caractères utilisé pour la requête MySQL. Bon, je pense que c'est UTF-8 mais comme je ne connais pas la syntaxe, laissons ce champ vide. Par contre, il vaut mieux mettre un préfixe de table, et je vais fort astucieusement mettre modx_.

Parfait, me revoici à l'étape 4.

Bon, nouveau message d'erreur:

Installation du site de démonstration:

Installation du site de démonstration: Alertes de la base!

Le programme d'installation n'a pas pu créer/modifier certaines tables dans la base de données spécifiée.

Les erreurs suivantes se sont produites au cours de l'installation

Column count doesn't match value count at row 1 lors de l'execiton de la requête SQL REPLACE INTO `modx_site_templates` VALUES ('1','MODxCSS','MODx CSS template','0','1','','0','\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n[(site_name)] | [*pagetitle*]\r\n\r\n\r\n\

Etc etc. Bon, je laisse. C'est pas grave. C'est sans doute dû au fait que j'avais déjà fait une première install de MODx, et que il reste des bidules et des machins. Je clique donc sur Fermer.

Bim bam boum... Marche pô. L'url www.monsite.fr/modx/manager retourne encore un message d'erreur. On recommence.

Etape 1. Ce coup-ci, je refais "nouvelle installation". A l'étape 3, je donne les éléments de la base de donnée (ah, le codage, heu, la collation, c'était bien utf8_general_ci). Je clique sur le bouton Test de la connexion et j'obtiens

Connexion à l'hôte: succès... Vérification de la base de données: echec - prefixe de table déjà utilisé!.


Hmmm. Bon ce coup-ci je vais aller voir ce qui se trame chez mon hébergeur.

La base de donnée. Je me loggue sur mon compte OVH et je vais dans l'interface d'admin de la base de données (c'est à dire phpMyAdmin), je coche toutes les tables qui débutent par modx_ et je fais "supprimer" puis je confirme. Hop. La bdd est vide, ne restent que quelques tables qui semblent concerner autre chose. Retour à l'étape précédente dans Modx. Et enfin j'obtiens le sésame attendu :

Connexion à l'hôte: succès... Vérification de la base de données: succès

Bon. Me revoici à l'étape 4. Je recommence, et tout se passe sans encombres. J'obtiens enfin le message de victoire tant attendu :

Etat de l'installation

Le programme d'installation va tenter de configurer la base de données:

Création de la connexion à la base de données: OK!

Sélection de la base de données `blopsdot`: OK!

Vérification du préfixe de table `modx_`: OK!

Création des tables de la base: OK!

Installation du site de démonstration: OK!

Ecriture des fichiers de configuration: OK!

En bas de cette page, il est indiqué :

Information: Après vous être connecté au manager, vous devez éditer et sauvegarder les paramètres de Configuration Système avant de visiter le site en sélectionnant Administration -> Configuration Système dans le Gestionnaire MODx.
Effacer automatiquement le repertoire "install" de mon site


On va donc faire comme ils disent. En tous cas, lorsque je clique sur le bouton, j'arrive bien sur l'interface du manager. Login et Mot de passe et hop ! me voici capable de gérer mon nouveau site.

Par défaut l'interface est en anglais, donc évidememment on ne trouve pas les paramètres de Configuration système là ou ils l'indiquent, mais à Tools>Configuration. C'est ici que l'on peut régler le nom du site et la langue.

L'install est donc terminée. On voit l'importance d'avoir une base de données bien installée, et bien propre. C'est au moins ma dixième installation de MODx, et à chaque fois que j'ai eu des problèmes c'était à cause de la base de données.





Aucun commentaire: