Outils personnels
Vous êtes ici : Accueil GNU / Linux Debian Installer un blog Dotclear sur Debian
Actions sur le document
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Installer un blog Dotclear sur Debian

Par Pierre-Yves Landuré - Dernière modification 02/01/2010 16:44

Dotclear est un système de gestion de blog écrit en PHP / MySQL. C'est un concurrent de WordPress. Ayant testé WordPress, mais ayant été peu convaincu par sa mécanique interne, mon choix s'est porté vers Dotclear. J'en suis d'ailleurs très heureux, car Dotclear respire le professionnalisme : l'essayer, c'est l'adopter :). Ce guide vous permet d'installer rapidement DotClear sur une Debian.

Versions de Debian supportées

Ce guide a été testé sur :
  • Debian 5.0 Lenny

Pré-requis

En premier lieu, vous devez installer un serveur HTTP avec le support du PHP. Pour ce faire, vous pouvez suivre mon guide Installer Lighttpd et PHP 5 sur Debian 4.0 Etch et 5.0 Lenny.

Vous devez ensuite installer les extensions PHP et autres logiciels nécessaires:

/usr/bin/apt-get install php5-mysql apg

N'oubliez pas de rechargez la configuration de PHP, par exemple :

/etc/init.d/lighttpd force-reload

Installation

Téléchargez la dernière version de Dotclear:

/usr/bin/wget http://download.dotclear.net/latest-2.0.tar.gz \
--output-document=/tmp/latest-2.0.tar.gz

Décompressez l'archive ainsi obtenue:

/bin/tar --directory=/opt -xzf /tmp/latest-2.0.tar.gz

Supprimez certains fichiers inutiles:

rm /opt/dotclear/CHANGELOG

Configuration de la base de données

Vous devez ensuite créer une base de donnée DOTCLEAR pour votre installation. Pour ce faire, vous pouvez suivre mon guide Installer et configurer MySQL sur Debian 4.0 Etch et 5.0 Lenny.

Attention : Si vous avez suivi mon guide, vous pouvez passer ces lignes de commandes, sinon, remplacer les informations en gras par celles correspondant à votre base de données MySQL :

MYSQL_HOST=localhost
MYSQL_DB=DOTCLEAR
MYSQL_USERNAME=dotclear
MYSQL_USERPWD=dotclear_password

Une fois la base de donnée créée, nous reprenons le court normal des choses. En premier lieu, nous plaçons une valeur par défaut pour le nom d'hôte du serveur de la base de données:

if [ -z "$MYSQL_HOST" ]; then
MYSQL_HOST=localhost
fi

Configuration de Dotclear

Nous créons le fichier de configuration à partir du modèle fourni :

/bin/cp /opt/dotclear/inc/config.php.in /opt/dotclear/inc/config.php

Afin de protéger notre blog des attaques par injection SQL, nous générons des préfixes de tables aléatoires :

MYSQL_PREFIX=$(/usr/bin/apg -q -a  0 -n 1 -M NCL)

Nous générons une clef de chiffrement des mots de passe :

DC_MASTER_KEY=$(/usr/bin/apg -q -a  0 -n 1 -M NCL)

Afin de configurer l'URL d'administration de Dotclear, veuillez saisir l'URL de la racine de votre blog :

DOTCLEAR_URL=http://www.domaine.com/dotclear/

Nous renseignons le dossier de l'interface d'administration :

DOTCLEAR_ADMIN_FOLDER="admin"

Remarque : Par défaut, le dossier de l'interface d'administration est "admin". C'est une cible de choix pour les "script kiddies". Afin de sécuriser votre installation de Dotclear, vous avez la possibilité de modifier la configuration de votre serveur HTTP afin de protéger l'accès de ce dossier par un mot de passe, ou de le limiter à votre adresse IP. Une autre solution est de renommer ce dossier. C'est ce que font les 2 lignes de commandes suivantes :

DOTCLEAR_ADMIN_FOLDER=$(/usr/bin/apg -q -a  0 -n 1 -M NCL)
/bin/mv /opt/dotclear/admin /opt/dotclear/${DOTCLEAR_ADMIN_FOLDER}

Nous créons les dossiers destinés à contenir les données modifiables par le code PHP (cache, plugins, images, etc...).

/bin/mkdir /var/lib/dotclear
/bin/mv /opt/dotclear/plugins /var/lib/dotclear/
/bin/ln -s /var/lib/dotclear/plugins /opt/dotclear/plugins
/bin/mv /opt/dotclear/public /var/lib/dotclear/
/bin/ln -s /var/lib/dotclear/public /opt/dotclear/public
/bin/mv /opt/dotclear/themes /var/lib/dotclear/
/bin/ln -s /var/lib/dotclear/themes /opt/dotclear/themes
/bin/mv /opt/dotclear/cache /var/cache/dotclear
/bin/ln -s /var/cache/dotclear /opt/dotclear/cache
/bin/chown -R www-data:www-data /var/lib/dotclear
/bin/chown -R www-data:www-data /var/cache/dotclear

Nous appliquons la configuration de la base de données :

/bin/sed -i \
-e "s/\(define('DC_DBDRIVER',\).*/\1'mysql');/" \
-e "s/\(define('DC_DBHOST',\).*/\1'${MYSQL_HOST}');/" \
-e "s/\(define('DC_DBNAME',\).*/\1'${MYSQL_DB}');/" \
-e "s/\(define('DC_DBUSER',\).*/\1'${MYSQL_USERNAME}');/" \
-e "s/\(define('DC_DBPASSWORD',\).*/\1'${MYSQL_USERPWD}');/" \
-e "s/\(define('DC_DBPREFIX',\).*/\1'${MYSQL_PREFIX}_');/" \
-e "s/\(define('DC_MASTER_KEY',\).*/\1'${DC_MASTER_KEY}');/" \
-e "s|\(define('DC_ADMIN_URL',\).*|\1'${DOTCLEAR_URL}${DOTCLEAR_ADMIN_FOLDER}/');|" \
  /opt/dotclear/inc/config.php

Une fois la configuration de Dotclear terminée, il faut initialiser la base de donnée. Pour ce faire, connectez-vous à l'URL fournie par cette commande :

/bin/echo "${DOTCLEAR_URL}${DOTCLEAR_ADMIN_FOLDER}/install"

L'URL d'administration de votre blog est fournie par la commande :

/bin/echo "${DOTCLEAR_URL}${DOTCLEAR_ADMIN_FOLDER}/"

Sauvegardes

Pour sauvegarder votre installation Dotclear, je vous conseille d'utiliser Backup Manager. Pour l'installer, vous pouvez suivre mon guide:

Installer et configurer Backup Manager sur Debian 4.0 Etch et 5.0 Lenny

Une fois Backup Manager installé, vous pouvez configurer la sauvegarde des fichiers de Dotclear avec la commande suivante:

/usr/bin/update-bm-folders add /var/lib/dotclear
/usr/bin/update-bm-folders add /opt/dotclear

Important: Sauvegarder les fichiers ne suffit pas ! Il faut aussi sauvegarder la base de données. La procédure pour ce faire est disponible dans mon article Installer et configurer MySQL sur Debian 4.0 Etch et 5.0 Lenny.

Pour aller plus loin

Réécriture d'URL

Si vous souhaitez améliorer l'aspect des URLs de votre blog, il est possible d'activer la réécriture d'URL.

Pour Apache, la configuration resemble à ceci :

RewriteEngine on 
RewriteBase /dotclear/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?$1

Je vous laisse le soin de l'adapter à votre besoin.

Pour Lighttpd, voici un exemple de la configuration que j'utilise :

server.modules += ( "mod_simple_vhost", "mod_rewrite" )

$HTTP ["host"] == "blog.domain.com" {
server.document-root = "/opt/dotclear/"
server.indexfiles = ( "index.php", "index.html")

#server.error-handler-404 = "/index.php/"

url.rewrite-once = (
"^/(admin)/(.*)$" => "/$0",
"^/(xmlrpc|category|post)/(.*)$" => "/index.php/$0",
"^/(sitemap.xml|urllist.txt)$" => "/index.php/$1",
"^/([^\?]*)\.(.*)" => "/$0",
"^/(.*)$" => "/index.php/$1"
)
}

Source : Merci à Ludovic Toinel ( Geeek ) pour son article Dotclear 2 en mode PATH_INFO et Lighttpd 1.5.

Une fois ceci-fait, rendez-vous dans l'administration de votre blog, dans la page "Configuration du blog", et :

  • retirez la partie "index.php?" du champ "URL du blog".
  • Changez la "méthode de lecture de l'URL" vers "PATH_INFO".
  • Vous pouvez aussi changer l'aspect des URLs de votre blog à l'aide du champ "Format d'URL des nouveaux billets".

Source : Merci à i_love_dc pour sa réponse au post URL rewriting / Réécriture d'URL dans le forum de Dotclear.

Une fois cette configuration effectuée, vous pouvez compléter cette configuration en installant l'extension My URL Handlers (page de téléchargement du plugin My URL Handlers).

Source : Merci à Sacha ( Les bricoles du web ) pour son article Nouvelle extension My URL Handlers.

Mise à jour

Téléchargez la dernière version de Dotclear:

/usr/bin/wget http://download.dotclear.net/latest-2.0.tar.gz \
--output-document=/tmp/latest-2.0.tar.gz

Décompressez l'archive ainsi obtenue:

/bin/tar --directory=/tmp -xzf /tmp/latest-2.0.tar.gz

Supprimez certains fichiers inutiles:

/bin/rm /tmp/dotclear/CHANGELOG

Copiez les nouveaux fichiers dans votre installation de DotClear (ignorez les erreurs de copie):

/bin/cp -r /tmp/dotclear/* /opt/dotclear/
/bin/chown -R www-data:www-data /var/cache/dotclear
/bin/chown -R www-data:www-data /var/lib/dotclear

Remerciements

Serveur dédié Netissime

Posté par Netissime le 06/11/2009 00:42
Bonjour,

nous souhaiterions utiliser une partie de votre source pour la documentation de nos clients sur l'installation de Doteclear sur les serveur dédié Netissime est ce possible ?

Votre doc est bien faite

Cordialement
Emeline

c'est possible

Posté par Lone Wolf le 06/11/2009 08:22
du moment que vous citez vos sources :)

réécriture d'url

Posté par axx le 20/01/2010 18:37
J'ai suivi ton guide, excellent comme tous les autres que j'ai pu suivre (lighty, mysql, ampache).

Néanmoins, j'ai un (petit) problème avec la réécriture d'url et Dotclear.

Selon tes conseils j'ai changé le répertoire d'administration, seulement avec les règles de réécriture, lorsque je me rend sur blog.mondomaine.com/mondossieradmin il m'affiche la page 404 de Dotclear. Il faut que je me rende sur blog.mondomaine.com/mondossieradmin/index.php pour accéder au tableau de bord.

C'est vraiment rien de grave mais j'aimerais comprendre pourquoi… As-tu une idée?

Merci en tout cas pour tes super documents, on oublie souvent l'importance de la doc dans le logiciel libre et tu en produis des vraiment bien foutues. Merci encore donc!

BlogBang
Navigation
 

Réalisé avec Plone

Ce site respecte les normes suivantes :

Wikio