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

WordPress : optimiser le fichier htaccess pour les permalinks photo

WordPress : optimiser le fichier htaccess pour les permalinks

Toujours à la recherche de ce qui peut optimiser le chargement du site et soulager le serveur, je vous donne ma configuration du fichier htaccess en ce qui concerne les permaliens (permalinks) de WordPress.

Code de base WordPress

Voici le code htaccess standard de WordPress :

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPressCode language: PHP (php)

Lire la suite

Le guest-blogging avec WordPress ou comment permettre à vos membres de soumettre leurs propres articles photo 3

Le guest-blogging avec WordPress ou comment permettre à vos membres de soumettre leurs propres articles

guest-blogging-micro

Il y a quelques semaines, j’ai donné la possibilité aux membres qui le souhaitaient d’écrire leur propre article sur le site.

En me penchant sur la question technique, je me suis rendu compte qu’il existait des plugins WordPress dédiés à cette tâche mais en y regardant de plus près, il se trouve que tous ces plugins effectuent pas mal d’appels à la base de données pour finalement pas grand-chose : un simple formulaire style formulaire de contact, sans contrôles, pour envoyer du texte brut. Pas très user-friendly !

J’ai donc pris une route un peu différente et en utilisant les plugins adéquats, les membres ont pu écrire via la même interface d’administration que celle que j’utilise tous les jours.

J’ai tout épuré au préalable de manière à ne montrer que ce qui est nécessaire pour écrire, modifier un article et joindre des documents comme des images pour illustrer l’article.

Le tout prend environ 10-15 minutes à mettre en place. Voici la marche à suivre, en 4 étapes.

Lire la suite

WordPress : astuce pour désactiver la notification de mise à jour de la version localisée (traduite) photo

WordPress : astuce pour désactiver la notification de mise à jour de la version localisée (traduite)

Le problème : une notification de mise à jour pour la version localisée

WordPress vérifie périodiquement ses mises à jour et vous indique par une notification lorsqu’une nouvelle version est disponible.

C’est bien pratique mais lorsque l’on met le site à jour par SVN ou en utilisant Trac, ce sont les fichiers en version originale (non traduite) que l’on récupère.

Du coup, vous pouvez très bien avoir votre installation de WordPress à jour et avoir une notification de mise à jour vous poussant à télécharger la dernière version localisée (fr_FR dans notre cas).

Exemple en image :

WTF WordPress ?!?
WTF WordPress ?!?

Lire la suite

Éviter le contenu dupliqué en spécifiant l'URL canonique photo

Éviter le contenu dupliqué avec l’URL canonique

Google, Yahoo! et Live Search viennent de se mettre d’accord pour essayer de résoudre les problèmes de contenus dupliqués à l’intérieur d’un site : ils ont opté pour la création d’une balise spéciale qui décrit l’URL canonique d’une page (c’est-à-dire son URL officielle) :

rel="canonical"Code language: JavaScript (javascript)

Le problème : le contenu dupliqué

Ce qui pose problème pour les moteurs de recherche, c’est savoir quelle est la bonne page à indexer lorsqu’un même contenu est disponible à plusieurs adresses différentes.

C’est le problème du contenu dupliqué, ou duplicate content.

duplicate content

C’est mauvais pour le référencement d’un site car pour les moteurs de recherche, une page web ou tout autre document indexable (comme les fichiers PDF, DOC, XLS…) équivaut à une URL.

Cette URL doit être unique pour le robot, pour qui une autre URL correspond à une autre page.

Si ce n’est pas le cas, ces pages dupliquées entrent en concurrence les unes avec les autres dans les résultats de recherche, ce qui n’est pas bon.

Lire la suite

Migration des flux FeedBurner vers les comptes Google photo

Migration des flux FeedBurner vers les comptes Google

Migration de feedburner vers google

Cela fait quasiment deux ans que Google a racheté FeedBurner et pas grand-chose ne s’était passé depuis.

Et bien la machine vient de se mettre en marche : la grande migration des comptes FeedBurner vers les comptes Google a déjà commencé.

Cette migration, qui concerne tous les comptes, se terminera le 28 février donc je vous conseille de prendre les devants et de migrer votre compte vous-même.

La migration prend moins de 2 minutes.

Lire la suite

Optimisation du thème WordPress : 30 requêtes SQL gagnées photo

Optimisation du thème WordPress : 30 requêtes SQL gagnées

speedy_gonzales

Je viens d’effectuer une jolie petite optimisation qui devrait bien alléger le serveur sur lequel nous tournons. Vous vous souvenez de l’article WordPress : réduire le nombre de requêtes SQL des thèmes, écrit il y a quelques mois ?

Et bien il se trouve que j’avais tout optimisé tous les fichiers de mon thème – sauf le menu du site qui se trouve dans le fichier header.php !

Ce dernier contenait quasiment une trentaine de requêtes SQL destinées à obtenir les permalinks des pages statiques…

Je m’étais dit à l’époque que si je changeais le permalink d’une page, cela se reflèterait immédiatement dans le menu. Quand j’y pense aujourd’hui, c’est vraiment ridicule.

Lire la suite