Tutoriel : Installer Dotclear sur un serveur RPS OVH

VoilĂ  un billet qui n’interessera probablement pas les lecteurs habituels de ce blog (dĂ©solĂ© MĂ©lanie !). Alors, pourquoi parler technique sur Nokto ? Tout simplement parce, quand je n’arrive pas Ă  faire quelque chose, je trouve bien souvent la rĂ©ponse sur d’autres blogs, via Google. Et il se trouve que lĂ , je n’ai pas trouvĂ© de rĂ©ponse, et que j’ai du chercher par moi-mĂȘme. Alors je me dis que, pour une fois, ce serait pas idiot de renvoyer la balle et de crĂ©er mon propre tutorial. Si vous faites parti du public visĂ©, n’hĂ©sitez Ă  me faire part de vos retours ou Ă  demander des prĂ©cisions !

Quelques prĂ©cisions d’abord : Dotclear est un « logiciel libre de publication web », un moteur de blog en somme, trĂšs facile Ă  utiliser et Ă  installer, sur la plupart des hĂ©bergeurs gratuits ou mutualisĂ©. L’intĂ©rĂȘt d’un tel tutorial est donc moins de dĂ©crire l’installation de Dotclear elle-mĂȘme que le parametrage sur serveur. Pour pousser le vice, j’irais jusqu’Ă  dĂ©crire l’installation telle que je l’ai rĂ©alisĂ©e : en multi-blog, avec des urls sans « index.php », et un nom de sous-domaine par blog (blog1.domaine.org, blog2.domaine.org, etc.), des fioritures en somme, dont vous pouvez trĂšs bien vous passer : Dotclear fonctionne trĂšs bien sans.

L’installation dĂ©crite ici fonctionne pour un serveur RPS (testĂ© sur I et II) avec la distribution OVH Release 2 (Gentoo 2006 + Apache 2 + PHP/MySQL 5 + Webmin). J’imagine qu’on peut l’extrapoler Ă  n’importe quel serveur utilisant une distribution et des logiciels Ă©quivalents, voire Ă  d’autres distributions, mais en fait, je n’en sais rien. N’hĂ©sitez pas Ă  me faire part de vos retours. J’ajoute enfin que je pars dans cette description d’un serveur clĂ© en main tel qu’il est proposĂ© par OVH (aprĂšs une crĂ©ation ou une rĂ©installation par exemple), sans aucune customisation.

Etape 1 : CrĂ©er l’hĂ©bergement

GrĂące Ă  Webmin et au module OVHM prĂ©installĂ© sur les serveurs RPS, vous pouvez facilement configurer Ă  la volĂ©e Apache, MySQL et BIND pour ajouter des sites Ă  votre serveur. Un « hĂ©bergement » correspond Ă  un espace sur votre serveur (un rĂ©pertoire dans /home/) qui contiendra les fichiers hĂ©bergĂ©s et vers lequel pourront pointer une infinitĂ© de noms de domaine et sous-domaines. Nous allons crĂ©er un rĂ©pertoire pour Dotclear qui contiendra le moteur du blog lui-mĂȘme, ainsi que tous les diffĂ©rents blogs hĂ©bergĂ©s.

  1. Rendez-vous sur votre Webmin : https://rxxxxx.ovh.net:10000/ (oĂč rxxxxx est le nom de serveur fourni par OVH).
  2. Ouvrez le module OVHM (onglet OVH Virtual Hosting Managment)
  3. Cliquez sur Ajouter un domaine et complétez le formulaire suivant :

  • Nom de domaine : le nom de domaine que vous souhaitez utiliser pour dotclear (dans ce tutorial, on se rĂ©ferera Ă  domaine.org)
  • IP : Laissez l’IP par dĂ©faut, celle de votre serveur.
  • Mot de passe : Un mot de passe qui sera utilisĂ© notamment pour MySQL et FTP.
  • Email de contact : Il apparaĂźtra pour les erreurs Apache. Mettez ce qui vous sied.
  • Quotas : L’espace que vous souhaitez allouer Ă  vos blogs. Vous pourrez toujours le changer Ă  l’avenir si ce n’est plus assez.
  • AccĂšs telnet / ssh : Non (on utilisera l’accĂšs root).
  • CrĂ©er une base Mysql : Oui ! On aura ainsi une base dĂ©diĂ©e Ă  Dotclear.
  • Version de PHP : PHP5, nĂ©cessaire pour Dotclear.
  • Mode verbeux : affiche des informations sur la page suivante, facultatif.
  • Login associĂ© Ă  l’hĂ©bergement : dotclear

Cliquez sur CrĂ©er, et OVHM va (entre autres) crĂ©er un rĂ©pertoire dotclear dans /home/, une base de donnĂ©es intitulĂ©e dotclear, et configurer votre serveur DNS pour que domaine.org pointe vers /home/dotclear/www/. Cliquez sur RedĂ©marrer tous les services (pour prendre en compte les changements) sur la page d’accueil de OVHm et OVHm va redĂ©marrer Apache et BIND.  http://www.domaine.org devrait Ă  prĂ©sent pointer vers une rĂ©pertoire vide.

Etape 2 : Installer Dotclear

Dotclear 2.x s’installe facilement grĂące Ă  un fichier d’installation automatisĂ©. C’est l’Ă©tape la plus facile ! Mais il va falloir aussi activer le moteur InnoDB pour MySQL qu’utilise Dotclear, et qui n’est pas activĂ© par dĂ©faut sur la Release 2 OVH. Ici je suppose que vous savez vous servir de SSH (avec un logiciel comme Putty) et de l’Ă©diteur Vi. Si ce n’est pas le cas, je vous recommande cet excellent tutoriel sur alsacrĂ©ations.

2.1 Télécharger Dotclear sur votre serveur

  1. Télécharger le fichier dotclear2-loader.php.
  2. Connectez-vous en FTP Ă  votre nouvel hĂ©bergement (HĂŽte : rxxxxx.ovh.net, Utilisateur : dotclear, Mot de passe : celui que vous avez dĂ©fini). Vous arrivez directement dans /home/dotclear/ sans qu’il soit possible de remonter.
  3. Uploadez le fichier dotclear2-loader.php dans le dossier /www/. Rendez-vous Ă  l’adresse http://www.domaine.org/.
  4. Cliquez sur dotclear2-loader.php puis sur le bouton Retrieve and install Dotclear2 (laissez le champ Destination par défaut).
  5. AprÚs quelques secondes (waouw !) Dotclear est téléchargé sur votre serveur. Cliquez sur Install Now.
  6. Remplissez le formulaire suivant pour permettre la connexion à la base de données.

Remplissez les champs comme indiquĂ©s ci-dessus, en remplaçant Ă©videmment les Ă©toiles par le mot de passe que nous avons dĂ©fini plus haut (le mĂȘme que le mot de passe FTP). Cliquez sur Enregistrer et lĂ … patatra ! C’est le drame ! Dotclear refuse d’installer et vous rĂ©torque : Le gestionnaire de stockage InnoDB de MySQL n’est pas disponible. C’est parce que, par dĂ©faut, le serveur MySQL fourni avec la Release 2 OVH est configurĂ© pour utiliser uniquement le moteur MyISAM (le plus couramment utilisĂ©) et pas le moteur InnoDB, nĂ©cessaire pour faire fonctionner Dotclear. Le moment est donc venu de plonger dans les entrailles de la bĂȘte pour…

2.2 Activer InnoDB pour MySQL

Rassurez-vous, la procĂ©dure est assez simple. Il suffit de vous connecter en SSH Ă  votre serveur et d’Ă©diter le fichier /etc/mysql/my.cnf.

  1. CrĂ©ez une copie de sauvegarde du fichier my.cnf (on n’est jamais trop prudent) avec la commande cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
  2. Entrez la commande vi /etc/mysql/my.cnf pour Ă©diter le fichier my.cnf
  3. Recherchez la ligne skip-innodb (en tapant par exemple /skip) qui empĂȘche l’initialisation de InnoDB
  4. Appuyez sur la touche i (pour entrer en mode Ă©dition) et ajouter un # en dĂ©but de ligne pour que l’instruction soit ignorĂ©e.
  5. Appuyez sur Ă©chap (pour sortir du mode Ă©dition) puis entrez :wq pour enregistrer et fermer le fichier.
  6. Redémarrez votre RPS avec la commande reboot. Attendez quelques secondes que la machine ping à nouveau. InnoDB est activé !

2.3 Terminer l’installation de Dotclear

  1. Reprenez l’installation oĂč vous en Ă©tiez : Dotclear devrait rĂ©ussir Ă  se connecter Ă  la base de donnĂ©es et Ă  crĂ©er le fichier de configuration.
  2. Sur la page suivante, entrez les informations nécessaires pour la création du premier utilisateur. La base de données est créée.
  3. Cliquez sur GĂ©rer votre blog. Vous voici Ă  prĂ©sent dans l’interface d’administration. Dotclear est installĂ© et un blog par dĂ©faut Ă  Ă©tĂ© crĂ©Ă© !

Etape 3 : Créer un blog

Maintenant que Dotclear et son interface d’administration sont installĂ©s (ainsi qu’un « premier blog » de dĂ©monstration), nous allons pouvoir passer Ă  la crĂ©ation de notre premier blog (sobrement intitulĂ© blog1 dans cet exemple). Vous pourrez rĂ©pĂ©ter l’Ă©tape 3 Ă  chaque fois que vous voulez ajouter un nouveau blog, en remplaçant blog1 par ce qu’il vous plaira. L’idĂ©e est de crĂ©er pour chaque blog son sous-domaine blog.domaine.org et son repertoire public oĂč seront stockĂ©s les mĂ©dias (images, sons, etc.) afin qu’il n’y ait pas de confusion. Les themes, par contre, seront communs Ă  tous les blogs.

3.1 Créer le sous-domaine du blog

Pour cela, on retourne sous Webmin et son module OVHm : https://rxxxxx.ovh.net:10000/

  1. On affiche la Liste des domaines gérés par OVHM en cliquant sur le lien éponyme, puis on clique sur notre domaine.org
  2. En passant, on peut ici changer les mots de passe ftp et mysql. Mais ce qui nous intĂ©resse, pour l’instant, c’est la crĂ©ation de sous-domaine, en dessous.
  3. On entre le nom de notre sous-domaine (blog1), on s’assure qu’on est bien toujours sur PHP5, on laisse l’IP par dĂ©faut, celle de notre serveur, on clique sur Ajouter.
  4. On n’oublie pas de RedĂ©marrer tous les services depuis la page d’accueil d’OVHm pour que les modifications soient pris en compte.

Ce que va faire OVHm : crĂ©er un nouveau rĂ©pertoire blog1 dans le rĂ©pertoire /sd/ et pointer le nouveau sous-domaine blog1.domaine.org vers /sd/blog1/www/, tout simplement. Je ne sais pas pourquoi les sous-domaines sont stockĂ©s dans un sous-rĂ©pertoire /sd/blog1/www/ et pas dans un rĂ©pertoire /blog1/ au mĂȘme niveau que /www/. Personnellement, je prĂ©fĂšre cette derniĂšre mĂ©thode qui me paraĂźt plus claire et plus propre, mais cela oblige Ă  modifier « à la main » (sans passer par ovhm) la configuration d’Apache. Bref, ce n’est pas le sujet.

A prĂ©sent, l’adresse http://blog1.domaine.org/ devrait pointer vers un rĂ©pertoire vide, oĂč nous allons maintenant installer notre nouveau blog blog1.

3.2 CrĂ©er le blog dans l’interface Dotclear

On retourne Ă  prĂ©sent dans l’interface d’administration Dotclear que l’on vient d’installer.

  1. Dans le menu de gauche : SystÚme > Blogs > Créer un nouveau blog
  2. On remplit le formulaire comme ceci :

… et on clique sur enregistrer. VoilĂ , le nouveau blog blog1 est crĂ©Ă© dans la base dotclear ! Sur la page suivante, vĂ©rifiez simplement que le champ MĂ©thode de lecture de l’URL est bien sur PATH_URL (valeur par dĂ©faut depuis Dotclear 2.0) et non sur QUERY_STRING.

3.3 Créer le répertoire du blog sur le serveur

Si vous avez essayé de vous rendre sur http://blog1.domaine.org/index.php/ vous avez eu une erreur. Ce serait trop simple !

  1. Via FTP, téléchargez le fichier /www/dotclear/index.php sur votre ordinateur et éditez-le.
  2. Remplacez la ligne 19 : define(‘DC_BLOG_ID’,’default’); par : define(‘DC_BLOG_ID’,’blog1′);
  3. Remplacez la ligne 22 : require dirname(__FILE__).’/inc/public/prepend.php’; par : require ‘/home/dotclear/www/dotclear/inc/public/prepend.php’;
  4. Enregistrer le fichier et téléchargez vers le serveur dans : /sd/blog1/www/index.php
  5. Tant que vous y ĂȘtes, crĂ©ez un rĂ©pertoire /sd/blog1/www/public oĂč seront stockĂ©s les mĂ©dias du blog blog1.

3.4 Achever la configuration du nouveau blog

On retourne sous l’interface d’administration du blog : http://www.domaine.org/dotclear/admin/

  1. Commencez par sélectionner Blog Un dans le menu déroulant en haut à droite.
  2. Dans le menu de gauche : Extensions > about:config. Cette extension vous permet de modifier directement la plupart des variables de configuration de Dotclear sans garde-fou. A manier avec précaution !
  3. Assurez-vous que vous ĂȘtes bien sur l’onglet paramĂštres du blog et non sur paramĂštres globaux.
  4. Modifiez le champ public_path pour : /home/dotclear/sd/blog1/www/public
  5. Modifiez le champ themes_path pour : /home/dotclear/www/dotclear/themes/
  6. Modifiez le champ public_path pour : http://www.domaine.org/dotclear/themes
  7. Rechargez votre blog1 : http://blog1.domaine.org/index.php/ : Ca fonctionne !
  8. Vous pouvez à présent supprimer le blog « Mon premier blog » depuis SystÚme > Blogs

Vous avez Ă  prĂ©sent un blog fonctionnel que vous pouvez alimenter depuis l’interface d’administration. Si vous voulez importer un blog Dotclear 2.0 crĂ©Ă© sur un autre hĂ©bergement, c’est le moment de le faire : les billets de votre ancien blog seront importĂ©s dans blog1 mais les modifications que nous venons de faire seront conservĂ©es. Pour crĂ©er ou importer d’autres blogs, rĂ©pĂ©tez les Ă©tapes 3.1 Ă  3.4 en remplaçant blog1 par ce que vous voulez !

Etape 4 : De jolies URLs avec Multiviews

La derniĂšre Ă©tape, tout Ă  fait facultative, consiste en une manipulation des directives Apache pour avoir de plus jolies URLs pour vos blogs Dotclear. Par dĂ©faut, pour des raisons de compatibilitĂ©, les urls de vos blogs seront du type : http://blog1.domaine.org/index.php/post/2009/03/28/I-love-Dotclear ce qui, vous l’avouerez, n’est pas trĂšs sexy. GrĂące Ă  cette mĂ©thode, vous allez pouvoir facilement supprimer ce index.php/ disgracieux et obtenir des URLs du style http://blog1.domaine.org/index/… voire http://blog1.domaine.org/x/ oĂč x peut ĂȘtre ce que vous voulez. Certains conseillent l’utilisation de l’URL Rewriting mais je ne le recommande pas : c’est assez compliquĂ© Ă  mettre en place et assez lourd pour le serveur.

L’option Multiviews permet Ă  Apache de renvoyer un fichier /index.html, /index.jpg ou /index.php si le fichier /index est demandĂ© (et qu’il n’existe pas). Souvent activĂ©e pour les hĂ©bergements mutualisĂ©s (notamment chez OVH), cette directive est dĂ©sactivĂ©e par dĂ©faut dans Apache et donc dans la Release 2 d’OVH. On peut l’activer simplement via un fichier .htaccess Ă  placer dans le rĂ©pertoire /home/dotclear/ et qui contiendra les deux lignes suivantes :

Options MultiViews
MultiviewsMatch Any

Options Multiviews sert tout simplement Ă  activer l’option (elle doit ĂȘtre activĂ©e explicitement, c’est-Ă -dire qu’elle n’est pas activĂ©e par un Options All). MultiviewsMatch Any sert Ă  indiquer Ă  Apache qu’il doit Ă©galement prendre en compte les extensions .php (par dĂ©faut, les extensions correspondants Ă  des handlers sont dĂ©sactivĂ©s).

A noter que l’option vaut pour tous les sous-rĂ©pertoires (et donc tous nos sous-domaines). En cas de besoin, on peut dĂ©sactiver ponctuellement pour un rĂ©pertoire (et ses rĂ©pertoires enfants) avec un fichier .htaccess disant : Options -Multiviews.

On a maintenant un beau blog avec des URLs du type http://blog1.domaine.org/index/… Pour obtenir autre chose que /index/, il suffit de copier le fichier index.php en un nouveau fichier qu’on appellera par exemple blog.php (pour une url en /blog/) ou ce que vous voulez (par exemple un n.php pour le prĂ©sent blog).

Conclusion

Et vous voilĂ  Ă  prĂ©sent propriĂ©taire d’une belle plateforme de blog sous Dotclear sur votre RPS ! En espĂ©rant que ce tutoriel puisse vous aider Ă  rĂ©soudre en quelques instants des casse-tĂȘtes qui m’ont pris plusieurs heures (notamment ce fichu MultivewsMatch Any) N’hĂ©sitez pas Ă  me faire part de vos retours si vous avez suivi ce tutoriel, avec succĂšs ou non !

7 rĂ©ponses sur “Tutoriel : Installer Dotclear sur un serveur RPS OVH”

  1. dans le cas d’une vraie plateforme de blogs oĂč les internautes crĂ©ent leurs blogs et les sous-domaines se crĂ©ent automatiquement, tu peux nous donner un tuto?

    merci

  2. Hmm, j’imagine qu’il faudrait crĂ©er une page d’inscription avec un script qui crĂ©e les rĂ©pertoires, et modifier les fichiers hosts qui vont bien. Je n’ai pas ça Ă  la main (je ne suis mĂȘme pas sĂ»r de savoir comment faire, faudrait que je fasse quelques recherches), mais promis si un jour je fais ça, je le mettrais en ligne !

  3. Salut.

    J’ai une autre solution en ce qui concerne innodb. Il suffit (avant l’installation) d’Ă©diter le fichier dotclear/admin/install/check.php .
    Cherchez
    @@if (!$innodb) {
    $err = __(‘MySQL InnoDB engine is not available.’);
    }@@

    et remplacez-le par
    @@/*if (!$innodb) {
    $err = __(‘MySQL InnoDB engine is not available.’);
    }*/@@

    Normalement, ça fonctionne impec (j’ai testĂ© cela avant).

  4. Hmm oui sauf que cette manip empĂȘche la vĂ©rification qu’InnoDB existe mais ne rĂ©souds en rien le problĂšme. J’imagine que si cette vĂ©rif existe, c’est que Dotclear a besoin d’InnoDB pour fonctionner et donc que c’est plus prudent d’activer le moteur…

  5. Bien joué le coup du MultivewsMatch Any !
    Tout fonctionnait chez mon hĂ©bergeur avec dotclear, et d’un coup le site se retrouvait ds les choux car le multiviews ne fonctionnait plus !
    J’ai rien compris jusqu’Ă  trouver cette fameuse ligne Ă  rajouter dans le htacess 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *