Mar 10
13
Comment mettre à jour en un clin d’oeil son blog wordpress ?
Personnellement sur mon serveur je n’ai pas d’accès FTP, oui, pourquoi faire ? Ah oui Wordpress pour se mettre à jour utilise ce système … et bien moi je n’aime pas cette solution, j’aime garder un historique des modifications que j’effectue dans un gestionnaire de version (en l’occurrence git) avant d’en extraire la version que je souhaite déployer. Au moins je sais ce qui tourne, ce qui a tourner et presque ce qui va tourner.
Pour comprendre la suite, je suis obligé d’expliquer comment faire pour en un clin d’oeil changer de version du code sans écraser l’ancien code. En FTP il faut tout de même plusieurs secondes pour mettre à jour son blog, quelques secondes où le code est potentiellement incohérent. “Oui mais tu sais moi mon blog il fait que quelques visites par jour” … ok, mais autant connaitre les alternatives.
Alors voilà, sur votre serveur vous avez un répertoire avec votre projet, on le nommera project/ dans project on a un répertoire data qui va contenir le code de notre application. Enfin avant le code on va rajouter un répertoire qui sera par exemple release1 et ensuite on fera un lien symbolique du nom de current vers release1. Lorsqu’on voudra mettre à jour son blog on aura plus qu’à créer un répertoire release2 et pour switcher vu qu’Apache (ou tout autre serveur gérant PHP, nginx ?) pointe sur current, effacer le symlink current pour le faire pointer sur release2. Et voilà ! Un clin d’oeil !
Et pour changer de version :
(Oui, je sais j’ai oublié de rajouter un répertoire data entre project et release* avoir de faire les screenshots)
Seulement avec Wordpress il y a un gros problème par défaut. En effet il ajoute les images des utilisateurs dans wp-content/uploads. Les images vont donc dans data/release1/wp-content/uploads, ça fonctionne mais lorsqu’on change de version patatra ! plus d’image. Bah oui, on va pas rajouter toutes les images dans le code deWordpress, il n’a rien à faire là. Il faut donc mettre en dehors. On va donc créer un répertoire static/ dans project/ qui lui ne sera jamais modifié en cas de changement de version et rajouter un sous domaine pointant vers ce répertoire. Par exemple pour ce blog il s’agit de static.sim07.net.
Configurer le serveur – simple
Pour Apache la configuration est on ne peut plus simple, puisqu’il suffit de faire un Virtualhost (oui, je sais on a pas tous la même notion de simple).
<VirtualHost static.sim07.net:80>
ServerName static.sim07.net
DocumentRoot /srv/apache/www.sim07.net/static
<Directory /srv/apache/www.sim07.net/static>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>On a vraiment le strict minimum là, après le reste, je vous laisse l’ajouter si vous avez des points spécifiques.
Configurer Wordpress – Encore plus simple
Même pas besoin de plugin, Wordpress y a penser en gérant la possibilité de changer le préfixe devant les images. (qui est donc par défaut wp-content/uploads). Pour régler ça il faut aller dans Settings >> Miscellaneous. Et hop on met :
En bref
En bref, si vous voulez séparer le contenu à ne pas versionner dans un SCM avec Wordpress, pensez à mettre vos images dans un sous domaine différent, après Wordpress à déjà pensé à vous.



