Balise - dotclear2

Fil des billets - Fil des commentaires

dimanche 18 novembre 2007

Vidéo de démonstration du plugin Nabaztag pour Dotclear2

Vous êtes beaucoup à vous demander à quoi sert la petite boite verte "Ecrivez à mon Nabaztag" qui se trouve à droite de cet article.

Et bien voici une petite vidéo de démonstration ;-)

Ce plugin pour Dotclear2 est développé par Olivier Azeau et est téléchargeable à cette adresse :

http://barrejadis.azeau.com/post/2007/08/08/Widget-Nabaztag-pour-Dotclear2

lundi 22 octobre 2007

Configuration du mode PATH_INFO de Dotclear 2 sur Lighttpd 1.5

light_logo.png

Après avoir eu pas mal de problèmes à faire fonctionner Dotclear2 sur Lighttpd en mode PATH_INFO voici en détail la configuration que j'utilise actuellement sur mon serveur Web :

La configuration Lighttpd permettant d'appeler le Fastcgi PHP pour l'interprétation et l'exécution des pages PHP hébergées sur le serveur Web :

$PHYSICAL["existing-path"] =~ "\.php$"{
        proxy-core.balancer = "round-robin"
        proxy-core.allow-x-sendfile = "enable"
        proxy-core.protocol = "fastcgi"
        proxy-core.backends = ( "unix:/tmp/php-fastcgi.sock" )
        proxy-core.max-pool-size = 16
}

Voici les règles de réécriture des URL utilisées pour le mode PATH_INFO Dotclear.

$HTTP["host"] =~ "^(www\.|)geeek\.org$" {
        url.rewrite-once = (

                "^/(admin)/(.*)$" => "/$1/$2",

                "^/(xmlrpc)/(.*)$" => "/index.php/$1/$2",

                "^/(sitemap.xml|urllist.txt)$" => "/index.php/$1",

                "^/([^\?]*)\.(.*)" => "/$0",

                "^/(.*)$" => "/index.php/$1"
        )
}

__ Enfin, dans le fichier php.ini du module CGI (/etc/php/cgi-php5/php.ini) une variable est à décommenter :

cgi.fix_pathinfo=1

Et biensûr dans Dotclear, sur la page de configuration du blog :

Méthode de lecture de l'URL : PATH_INFO
URL du blog : http://www.geeek.org

Je crois que je suis l'un des premiers à faire tourner Dotclear2 en mode PATH_INFO sur Lighttpd 1.5. Je n'ai trouvé aucune documentation sur ce sujet sur Internet pour le moment.

vendredi 31 août 2007

Petit rafraichissement du thème du blog

css,dotclear,theme

Petit rafraichissement du thème du blog ...

Un petit CTRL+F5 sera nécessaire pour les personnes qui ont toujours l'ancienne CSS dans leur cache ;-)

Bonne soirée !

jeudi 30 août 2007

Apache Mod_evasive : la solution contre les floods de spam

apache,linux,dos,spam,mod_evasive

Depuis plusieurs semaines mon serveur a quelques soucis de temps à autre suite à des floods inattendus de requêtes HTTP. Ces flood montent jusqu'à plus de 100 requêtes simultanées et provoquent une surconsommation CPU de mon serveur Web ainsi que des freeze au niveau Apache.

J'ai analysé les logs Apache, mais rien à faire les floodeurs proviennent d'adresse IP différentes.

J'ai donc installé un module Apache qui se nomme mod_evasive et qui permet de détecter les floods et les tentatives de déni de service. Ce module renvoie des erreurs HTTP 403 lorsque le seuil de sollicitation du serveur Web par IP a été dépassé. Ce blocage dure pendant 10 secondes (paramétrable). Il est aussi possible de demander au module d'exécuter une commande lorsque qu'un flood est détecté, il est ainsi possible d'ajouter une règle Iptables à chaque nouvelle détection de flood.

Ce module est téléchargeable depuis cette adresse :

http://www.zdziarski.com/projects/mod_evasive/

Il s'installe vraiment très simplement :

http://wiki.unelectronlibre.info/serveurweb/mod_evasive_avec_apache2

Cependant, il ne fonctionne pas correctement avec toutes les applications web, le chargement de la page d'administration de Dotclear2 pose un problème par exemple. Les icônes des plugins, dans le menu vertical, pointent tous vers la même URL : "index.php?pf=", lorsque la page est chargée par le navigateur, le module détecte plusieurs requêtes HTTP vers la même ressource et bloque le client, ce qui est très embêtant.

J'ai donc activé le module en mettant mon IP dans la Whitelist. Laissez-moi un message si vous êtes tombé sur des erreurs 403 Forbidden inattendues, je reparaméterai le module pour qu'il soit moins paranoïaque ;-)

samedi 11 août 2007

Tuning Dotclear2 et Apache

tuning,apache,dotclear2

Suite aux petits problèmes de performance rencontrés ces derniers jours sur mon blog (à cause de mon article sur le virus MSN en autre .. merci aux 3000 visiteurs journalier de cet article), j'ai réussi à optimiser la consommation CPU de mon serveur Web en modifiant plusieurs paramètres sur Dotclear2 et Apache :


Voici la liste des optimisations que j'ai mises en place, je n'ai pas de chiffres exactent qui permettent de quantifier le gain de performance obtenu par ces modifications, cependant le rendu utilisateur est plus appréciable qu'avant et la consomation CPU du serveur n'exède plus les 50%. :

Patch de Dotclear2 pour le support des connexions MySQL persistantes

Après avoir modifié le code de Dotclear2 pour utiliser des connexions persistantes, j'ai obtenu un gain de CPU notable sur le processus MySQL. Les connexions MySQL de Dotclear2 restent désormais ouvertes et sont réutilisées à chaque accès au blog.

Pour plus d'infos sur la modification à réaliser dans les sources de Dotclear 2, vous pouvez vous référer à l'article que j'ai posté sur ce sujet.

Suppression des plugins PostViewCount & Visite

En supervisant les threads actifs de la base MySQL (via l'outil MySQL Administrator), je me suis rendu compte qu'il y avait un goulot d'étranglement au niveau des plugins "Visites" et "PostViewCount". Chaque demande de page provoquait un UPDATE sur une ligne en base de données. Les UPDATE ne pouvant se faire en parallèle, plusieurs threads étaient en attente que la ressource se libère pour mettre à jour leur donnée en base. Enfin les UPDATE sont coûteux en CPU et en IO, les éviter est une bonne chose ...

Deux optimisations sont possibles :

  • Remplacer les UPDATE par des REPLACE dans le cas de MySQL. Le REPLACE est plus performant que le UPDATE.
  • Utiliser un cache mémoire (ex: eaccelerator_get & eaccelerator_push) pour stocker les données de visite et de flusher ce cache toutes les 10 minutes par exemple pour éviter les nombreux UPDATE en base.

Dans mon cas, j'ai supprimé les deux plugins de mon installation Dotclear 2..

Modification de la configuration Apache

J'ai supprimé l'option "AllowOveride All" contenu dans la configuration Apache qui force Apache à vérifier la présence de fichiers ".htaccess" dans le répertoire qui contient les pages Web (DotcumentRoot) à chaque requête HTTP. Maintenant, quand une requête HTTP est réalisée, plus aucun fichier ".htaccess" n'est recherché par le serveur Web.

Toutes les informations qui étaient contenues dans le fichier ".htaccess" ont été copiée dans le fichier httpd.conf.

Remplacement du serveur Apache par Lighttpd

Lighttpd est un serveur ultra léger est très rapide, il consomme beaucoup moins de RAM qu'Apache. Il est souvent utilisé en serveur Web frontal pour servir les données statiques directement aux clients et pour rediriger les données dynamiques vers un serveur Apache situé sur un autre port de la machine. Cela permet ainsi d'éviter d'utiliser des gros threads Apache/Php pour délivrer du contenu statique et donc de faire de l'économie de RAM et avoir des temps de chargement de page plus rapides.

J'ai fait deux trois tests, et j'ai finalement laissé tombé l'idée d'utiliser Lighttpd sur mon serveur, car cela pose trop de problèmes vis à vis des sites existants. Il y trop de modifications à réaliser ....

Pour plus d'informations sur les optimisations Apache, Je vous conseille la lecture ce cet excellent article.


P.S.: Pour l'image en tête d'article, après avoir fait des recherches sur le mot Apache, Dotclear et Tuning, j'ai bizarrement trouvé les images liées au tuning beaucoup plus intéressantes que les plumes du logo d'Apache ...

mardi 24 juillet 2007

125 Plugins et Widgets disponibles pour Dotclear 2

dotclear.png

La liste augmente de jours en jours depuis le début des vacances d'été. Merci à tous ceux qui maintiennent la liste à jour.

http://plugins-dotclear.geeek.org

Vive les vacances ;-)

samedi 16 juin 2007

Téléchargez la dernière version de Dotclear 2 depuis le SVN

dotclear.png

On m'a souvent poser la question, comment utiliser SVN pour récupérer les dernières sources de Dotclear2 ? Alors j'ai essayé de faire un tutorial sur le blog , expliquer comment fonctionne SVN, mais sans trop de succès ...

Et puis j'ai découvert que Pep fabrique des archives du contenu du SVN de Dotclear2 dans sa rubrique bricoland :

http://callmepep.org/downloads/dc2/builds/dotclear-latest.zip

Je pense que ces archives vont intéresser pas mal de personnes. Il y a eu pas mal de modifications importantes depuis la beta6 de Dotclear2 :-)

jeudi 19 avril 2007

Fonctionnement le plugin dcGeshi sous Dotclear 2 ?

Ce plugin permet de mettre en forme du code dans des articles. Il a été gentillement porté de Dotclear 1.x vers Dotclear 2 par LAlex.

Ce plugin est téléchargeable à cette URL : http://download.lalex.com/dcGeshi.zip

Pour l'installer il suffit de le dézipper dans le répertoire "plugins" de votre installation de Dotclear 2.

Ensuite pour utiliser ce plugin vous devez dans vos articles utiliser le formatage suivant :

///
[php]
if ($test == false){
  $test=true;
}
///

Ce code donnera le rendu suivant :

if ($test == false){
  $test=true;
}

Ce n'est pas très compliqué, mais c'est seulement qu'en relisant le code que j'ai compris comment fonctionne ce plugin.

mercredi 18 avril 2007

Plugin Dotclear2 : Popularity Contest

Voici un nouveau plugin pour Dotclear2 tout à fait original : Popularity Contest

dotclear_2_plugin_popularitycontest.png

Ce plugin permet d'envoyer à un serveur centralisé la liste des plugins que vous avez installez sur Dotclear2 : http://popcon.gniark.net/

Cela permet de réaliser des statistiques très intéressantes sur les plugins les plus utilisés et donc les plus appréciés.

Il faudrait merger mon projet de recensemement des plugins Dotclear avec celui de Moe pour avoir des informations complètes sur les plugins Dotclear2.

mardi 10 avril 2007

Liste des Plugins Dotclear 2 les mieux notés

dotclear.png

Après plusieurs centaines de votes, voici la liste des plugins Dotclear2 les mieux notés :

Bravo à K-Web pour ces super plugins ! :-)

Continuez à voter pour vos Plugins préférés :

http://plugins-dotclear.geeek.org/

- page 2 de 4 -