Accueil > NGINX, WordPress > Installer WordPress sur Debian avec NGINX

Installer WordPress sur Debian avec NGINX

Vous l’avez certainement remarqué, ce site tourne sous WordPress, l’un des moteurs de blogs les plus en vogue. Si à l’origine j’ai opté pour une configuration « classique » de type LAMP, ma curiosité a vite été attisée par le serveur web alternatif NGINX auquel j’ai par ailleurs consacré quelques articles (voir la rubrique NGINX). Sachant que NGINX supporte wordpress.org, j’ai voulu moi aussi profiter des avantages de ce serveur et monter mon propre « bundle » LEMP.
Comment émuler les règles de réécriture du .htaccess pour obtenir des permaliens personnalisés, quelles extensions installer avec WordPress pour en tirer le meilleur parti, c’est ce que nous allons voir ici.

Prérequis

Il est évidemment nécessaire d’avoir installé votre serveur LEMP ; deux articles vous permettent d’effectuer cette tâche : Installer NGINX, PHP5-FPM, Xcache et MySQL sur une Debian Lenny / Squeeze ou plus simple encore, Configurer un serveur web sur Debian Squeeze via Dotdeb.
Si vous souhaitez uniquement installer WordPress et écrire vos articles, sans développement quelconque, je vous déconseille d’installer xdebug ou xhprof, à proscrire sur des serveurs de production.
Pour les archives, WordPress utilise le format zip, il est donc nécessaire d’installer unzip, qui n’est pas fourni sur une installation Debian d’origine. Pour cela, il suffit d’une simple ligne de commande :

apt-get install unzip

Configurer NGINX

Ouvrez le fichier de configuration de NGINX :

vim /etc/nginx/sites-enabled/default

et remplacer la section server par celle-ci :

server {
    root /var/www/wordpress/;
    listen       80;
    server_name exemple.com  www.exemple.com;
    index index.php index.html;

    server_name_in_redirect off;
    port_in_redirect off;

    location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico)$ {
        access_log        off;
        expires           30d;
    }

    # rewrite rules
    location / {
        if (!-e $request_filename) {
            rewrite  ^/(.*)$  /index.php?q=$1  last;
        }
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }
}

Enfin relancez NGINX :

/etc/init.d/nginx restart

Installation de WordPress

Commencez par vous rendre là où vous installerez WordPress :

cd /var/www

Puis téléchargez l’archive, décompressez-la et supprimez-la :

wget http://fr.wordpress.org/latest-fr_FR.zip
unzip latest-fr_FR.zip
rm -f latest-fr_FR.zip

Éditez le fichier de configuration :

vim wordpress/wp-config-sample.php

et modifiez les paramètres d’accès à votre base de données, ainsi que les phrases secrètes, pour des raisons de sécurité, enregistrez, et renommez le fichier :

mv wordpress/wp-config-sample.php wordpress/wp-config.php

Vous pouvez maintenant accéder à votre blog en entrant l’url dans votre barre d’adresse dans votre navigateur : http://www.[votre-blog].com

Post-installation

Il reste à configurer WordPress en suivant les étapes indiquées à l’écran, rien de complexe, vous êtes guidés.

Les extensions indispensables

WordPress propose par défaut l’extension Askimet, si vous ne l’avez jamais utilisée suivez les étapes proposées pour vous enregistrer et activer l’extension.
Une extension est tout particulièrement utile, il s’agit de nginx Compatibility, qu’il vous suffit de télécharger et d’activer (attention, activez la version pour PHP 5).
Pour optimiser les performances de mon blog, j’ai utilisé deux extensions pour mettre le contenu en cache : DB Cache Reloaded et Hyper Cache. Simples à installer (soit en ligne de commande, soit en passant par le back-office) et à configurer, elles évitent de solliciter la base de données à chaque visite sur le site.
Voilà, votre configuration de WordPress est terminée, il vous reste à configurer les permaliens, à ajouter vos extensions préférées, et bien sûr à écrire les articles que vous rêviez d’écrire.

Ma configuration actuelle

Après plusieurs années de fidélité à Debian, j’ai tenté l’expérience CentOS pour bénéficier d’un panneau de contrôle professionnel : CPanel. Une autre approche, mais des performances au rendez-vous grâce à Varnish Cache, Apache 2 + mod_pagespeed. Peut-être le thème d’un prochain article…

  1. Pas encore de commentaire
  1. Pas encore de trackbacks

Toujours dans NGINX, WordPress (1 / 4 articles)