WordPress : éditer les liens de la base de données pour refléter le changement de structure des permaliens photo 1

WordPress : éditer les liens de la base de données pour refléter le changement de structure des permaliens

wordpress_icon_blue

Il y a quelques mois, je vous ai montré comment changer la structure des permaliens WordPress. Cela fonctionne très bien et tout le trafic des anciennes URL est bien redirigé vers les nouvelles.

Il est toutefois encore possible de faire mieux que cela : éditer toutes les URL de la base de données pour afficher les bons liens directement et éviter les redirections Apache à chaque fois qu’un visiteur clique sur un lien de vos anciens articles.

Cela évite une redirection donc permet d’afficher la bonne page directement, sans le temps de latence dû à l’exécution de mod_rewrite.

Etape 1 : sauvegarder votre base de données

On n’insistera jamais assez sur l’importance de sauvegarder les données avant d’effectuer une quelconque manipulation des données.

Commancez donc par faire une sauvegarde de votre base WordPress, vu que nous allons l’éditer en direct.

Lire la suite

WordPress : récupérer la liste emails des membres et commentateurs photo

Nouveau plugin WordPress : Sky Login Redirect

Le problème : redirection durant le login WordPress

wordpress_icon_blue Il y a quelques jours, Monty m’a envoyé un petit mail en me disant qu’elle avait du mal à s’identifier sur le site. Comme je suis loggué en permanence avec Firefox, je croyais que c’était un bug du navigateur.

Or, après avoir changé de navigateur deux fois (Chromium et Opéra), je me suis vite rendu compte que quelque chose clochait : une fois que l’on cliquait sur le bouton login, il y avait comme une redirection qui ne se faisait pas bien. Le navigateur moulinait et finissait par cracher un bout de page avec seulement quelques éléments HTML.

La solution : un plugin WordPress maison

Du coup, je me suis dit que l’on pouvait peut-être arranger les choses, c’est ainsi que j’ai écrit un nouveau plugin WordPress : Sky Login Redirect.

Lire la suite

WordPress : récupérer la liste emails des membres et commentateurs photo

WordPress : afficher un shortcode dans un article, une page ou une template

wordpress_icon_blue

M’étant quelque peu arraché les cheveux pendant les vacances pour trouver comment afficher correctement un shortcode dans une template WordPress, voici comment afficher un shortcode dans un article, une page ou une modèle de page.

Cela me servira de référence ultérieure mais je suis certain que cela en aidera d’autres.

Créer un shortcode

Pour créer un shortcode, on crée une fonction puis le shortcode associé dans le fichier functions.php du thème WordPress :

/* Fonction */
function sky_hello_readers($content) {
return 'Hello readers !';
}

/* Création du shortcode avec add_shortcode() */
add_shortcode( 'hello', 'sky_hello_readers' );Code language: PHP (php)

Lire la suite

WordPress : récupérer la liste emails des membres et commentateurs photo

WordPress : retrouver le bouton “Publier”

Problème : plus de bouton “Publier” sous WordPress

wordpress_icon_blue Juste après la migration des bases MySQL, alors que je pensais que tout était bon, je vais sous WordPress pour raconter mes aventures et… plus de bouton “publier” mais un bouton “Soumettre à relecture” comme pour les guests ! Tout cela alors que je suis loggué comme admin, il y a un truc qui cloche.

Après avoir cherché un peu, il s’avère que j’ai copié directement les fichiers de bases de données mais que MySQL n’a pas les droits dessus. Du coup, toutes les tables sont en lecture seule, comme me l’a indiqué une petite requête simple :

Failed to save field : SQL alter table `wp_posts` modify `ID` bigint(20) unsigned not null default NULL auto_increment failed : Table 'wp_posts' is read only

Solution : attribuer les bases de données à mysql

Vous avez besoin de modifier les droits d’accès et d’écriture des fichiers de bases de données. Il faut soit se connecter à distance en SSH sur votre serveur ou en local sur votre machine et lancer la commande chown.

On se met donc dans le répertoire de travail de MySQL :

cd /var/lib/mysql/

et on attribue à l’utilisateur mysql les droits à nos bases de données :

chown -R mysql:mysql *

Lire la suite

wordpress-permalinks-postname

WordPress : changer la structure des permaliens

wordpress_icon_blue Il y a quelques semaines, j’ai décidé de changer la structure des permaliens (ou permalinks) sous WordPress.

Je me suis rendu compte que finalement, il y avait très peu d’intérêt à garder la date de création de l’article dans l’URL étant donné qu’elle est présente dans chaque article, cela permet de raccourcir les URLs et mes articles sont plutôt timeless.

Cela se fait en 2 étapes, en 5 minutes top chrono.

Etape 1 : changer la structure des permaliens WordPress

C’est tout simple, il suffit de se rendre dans Settings > Permalinks et de sélectionner Post name:

wordpress permalinks postname

Depuis WordPress 3.3, choisir l’option /%postname%/ ne pose plus de problème de performance. C’était le cas auparavant et l’option n’était pas disponible.

Validez les changements.

Lire la suite

Serveur dédié : analyse des performances du serveur photo

Serveur dédié : analyse des performances du serveur

Cela fait quelques mois que le nouveau serveur est en place et il est temps de faire un petit bilan au niveau des performances.

Charge processeur

Tout d’abord, bien que le serveur soit équipé des mêmes caractéristiques techniques (même CPU, même quantité de RAM), il s’avère qu’il est beaucoup plus réactif que l’ancien.

Le processeur n’est plus surchargé en permanence et lorsque l’on lance un top, la charge du processeur est le plus souvent entre 0.05 et 0.20, ce qui est idéal.

A titre de comparaison, l’ancien serveur avait une charge souvent supérieure à 2.

Analyse du temps de chargement des pages via Google Webmaster Tools

Il y a quelques semaines, je me suis connecté sur Google Webmaster Tools et lorsque j’ai atteint le graphique du temps de chargement des pages du site, j’ai eu l’agréable surprise de découvrir ceci :

serveur dedie response time 2011

Lire la suite

Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes photo 1

Serveur dédié : intégrer SSH à WordPress pour mettre à jour le core, les plugins et les thèmes

ssh plugins logo

Sur mon serveur, j’ai fait le choix de ne pas installer de serveur FTP.

Pourquoi ? Et bien tout simplement parce que le protocole FTP n’est pas du tout sécurisé : les mots de passe sont envoyés en clair sur le réseau, il n’y a aucun chiffrement appliqué sur la connexion et il existe 1001 manières d’en forcer l’accès.

Du coup, je me dis que l’on peut très bien s’en passer. Comme il faut bien que je mette des fichiers sur le serveur ou mettre à jour le site, nous allons utiliser SSH qui est un protocole sécurisé.

Lire la suite

Serveur dédié : afficher la véritable IP derrière un reverse-proxy comme Varnish photo

Serveur dédié : afficher la véritable IP derrière un reverse-proxy comme Varnish

ip masked icon

Quelques jours après avoir installé et joué avec Varnish, je me suis aperçu que tous les commentaires du site étaient postés avec l’adresse IP 127.0.0.1, qui est l’adresse du reverse-proxy. Pareil dans les fichiers de logs.

Pour solutionner ce problème et retrouver les véritables adresses IP, il suffit d’installer le module RPAF (Reverse Proxy Add Forward) pour Apache.

Le module RPAF

On installe mod_rpaf :

apt-get install libapache2-mod-rpafCode language: JavaScript (javascript)

On l’active :

a2enmod rpaf

puis on édite sa configuration :

nano /etc/apache2/mods-enabled/rpaf.conf

en y ajoutant/modifiant ceci :

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1
RPAFheader X-Forwarded-ForCode language: CSS (css)

Lire la suite

Serveur dédié : créer et activer un Virtual Host sous Apache photo

Serveur dédié : créer et activer un Virtual Host sous Apache

icon apache2

Dans le tutoriel précédent, nous avons importé notre base de données et uploadé nos fichiers sur le serveur.

Il nous faut maitenant indiquer au serveur Apache où se trouvent nos fichiers pour qu’il puisse les servir.

L’ajout d’un virtual host (hôte virtuel) ne prend que quelques minutes.

Création du VirtualHost

Nous créons un fichier sous /etc/apache2/sites-available/ qui porte le nom de domaine de notre site, cela permet de s’y retrouver :

nano /etc/apache2/sites-available/www.skyminds.net

Lire la suite

MySQL : résoudre l'erreur "mysql_connect(): Headers and client library minor version mismatch" photo

Serveur dédié : créer la base de données MySQL et importer WordPress

icon mysql

Dans ce tutoriel, nous allons voir comment créer la base de données MySQL et importer notre base WordPress existante.

Ce tutoriel prend environ 15 minutes à réaliser. Tout se fait dans le terminal via une session SSH.

Création d’une base de données

On se connecte au serveur MySQL :

mysql -p -h localhost 

Entrez votre mot de passe du compte root pour MySQL. Vous obtenez un prompt.

On crée une base de données UTF-8, avec une collation utf8_unicode_ci :

CREATE DATABASE skyminds_wp CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Je vous recommande très fortement d’utiliser l’UTF-8 dès le départ. Cela évite bien des soucis qui pourraient survenir ultérieurement avec les caractères accentués.

Lire la suite

Serveur dédié : installation d'Apache, PHP, MySQL et Webmin photo

Serveur dédié : installation d’Apache, PHP, MySQL et Webmin

Ce premier guide est le premier d’une série d’articles consacrés à l’installation de services indispensables pour un serveur dédié.

Aujourd’hui, il s’agit d’installer Apache, PHP, MySQL et Webmin sur notre serveur.

Cela prend environ 20 minutes à réaliser.

Etape 1 : mettre à jour le système d’exploitation

Avant de commencer, on met l’OS à jour :

apt-get update && apt-get dist-upgradeCode language: JavaScript (javascript)

et on ajoute tout ce qu’il faut pour compiler :

apt-get install build-essentialCode language: JavaScript (javascript)

Voilà, nous sommes prêts à démarrer.

Lire la suite