Revision Control, un plugin pratique pour WordPress

Après avoir rédigé quelques articles, je me suis rendu compte d’une option de base de WordPress que je n’ai pas trouvé très pratique. En effet, il conserve de base toutes les révisions d’un même article. La moindre correction orthographique suivie d’un update résultait en l’ajout d’une entrée dans la BDD contenant le nouveau texte de l’article.

Autant cette option peut être intéressante en cas de travail collaboratif, autant lorsque je suis le seul à rédiger des articles et en plus qu’ils sont destinés à n’être relus que par moi, je trouve ça un peu invasif.

J’ai vu qu’il existait plusieurs solutions dont l’ajout dans wp-config.php de la constante :

define('WP_POST_REVISIONS', false);

Le « false » peut être remplacer par un nombre entier qui représentera le nombre de révision que WordPress devra conserver.

Une autre solution, celle que j’ai adoptée, est l’utilisation du plugin Revision Control. Il permet de configurer en 2 clics le nombre de révision de chaque type de page que l’on souhaite conserver.

Si des révisions avaient déjà eu le temps de se mettre en place, on peut les supprimer soit à l’aide du plugin Revision Delete, solution que j’ai choisi, ou alors en tapant directement dans une console MySql :

DELETE FROM wp_posts WHERE post_type = ‘revision’;

Configuration et mise en place de WordPress

Voici un petit article uniquement consacré à WordPress puisque j’ai décidé de l’héberger moi même désormais.

Après pas mal de temps à chercher quels étaient les droits à donner aux différents dossiers pour que WordPress cesse de m’afficher des erreurs de permissions dès qu’il essaye de faire quelque chose, je me suis rendu compte qu’il suffisait d’attribuer www-data comme utilisateur et groupe pour que tout fonctionne. En réalité, j’ai fait un wget pour récupérer la dernière version directement sur le serveur et je l’ai décompressée (tar -xzf latest.tar.gz). Il s’est chargé de conserver les droits.

En ce qui concerne la base de donnée MySql, je voulais créer un utilisateur de blog qui aurait la possibilité de gérer toute la base sans pouvoir toucher aux autres.
J’ai donc fait :

CREATE DATABASE <NOM_DE_LA_BASE>;
GRANT ALL PRIVILEGES ON `<NOM_DE_LA_BASE>`.* TO '<LOGIN>'@'localhost' IDENTIFIED BY '<MOT_DE_PASSE>';

J’obtiens ainsi un utilisateur qui a un accès total à la base de donnée de WordPress, qui ne peut se connecter qu’en local et qui ne peut pas toucher à mes autres BDD.

Pour ce qui est de la réécriture des liens afin d’avoir des permalinks facilement lisibles, j’ai dû activer le module rewrite d’apache en tapant la commande :

a2enmod rewrite

Il m’a fallut ensuite modifier dans /etc/apache2/site-available le fichier default en remplaçant dans la sous-catégorie correspondante à mon site (en l’occurrence <Directory /var/www>) « AllowOverride None » par «  »AllowOverride All ».

Il ne me reste alors plus qu’à configurer le CMS depuis l’interface d’installation disponible depuis l’adresse du site.