Installer WordPress sur Debian sans prise de tête..

By | 17 September 2017 |
Reading Time: 5 minutes

Introduction

Je consacre le premier post de ce blog à l’installation de WordPress sur ce VPS.

Ce VPS tourne sous Debian Jessie et est “hosté” par OVH et juste pour donner une idée des performances, c’est le plus petit de leur offre.
L’installation a été faite en suivant le wiki Debian et plus particulièrement la méthode alternative.

Il y a quelques différences entre une installation sous Ubuntu pour laquelle on retrouve facilement l’information sur l’Internet et une installation sous Debian. Je vais essayer de mettre en évidence ces différences. Ce post couvre l’installation via le packaging system, cette méthode ne permet pas d’installer la toute dernière version mais la version que l’on peut trouver dans les dépôts.
Un prochain post couvrira probablement l’installation de la toute dernière version.

L’installation des packages

Avant de commencer avec l’installation proprement dite, il est toujours conseillé de s’assurer que le system soit à jour, ce qui est fait avec la commande

# sudo apt-get update && apt-get upgrade

L’installation du server Web

Pour afficher votre site WordPress vous avez tout d’abord besoin d’avoir un serveur web, vous avez le choix du serveur web mais les plus courant sont Apache & Nginx, dans ce post je couvrirai l’installation et la configuration de Apache.

S’il n’est déjà installé, pour son installation vous pouvez utiliser la commande suivante:

# sudo apt-get install apache2

Ce qui devrait installer t configurer la version 2.4 d’Apache, vous pouvez vérifier la version avec la commande:

# apache2 -v

Il est utile de connaître la version installée car la configuration en dépend.

L’installation d’un “manager” de base de données

WordPress enregistre vos pages, posts et même certaines configuration dans une base de donnée, vous avez donc besoin d’un manager de base de données. Ici encore il existe différentes options, ce post couvrira certainement le choix le plus répandu, l’utilisation de MySQL

# sudo apt-get install mysql-server

L’installation du package WordPress

La dernière étape consiste en l’installation du package WordPress, comme précisé en début de post, l’installation via les packages ne permet pas l’installation de la toute dernière version mais un bon compromis entre les dernières nouveautés et la version considérée comme stable par Debian est probablement l’utilisation des dépots “backports”.

Pour l’installation de la version stable des dépôts Jessie, utilisez la commande:

# sudo apt-get install wordpress

A l’heure ou j’écris ce post, celà permet d’installer la version 4.7.2 de WordPress, la dernière étant 4.8.2

Si vous souhaitez une version plus récente, vous pouvez utilisez la commande suivante afin de récupérer la version des dépôts backports

# sudo apt-get install -t jessie-backports wordpress

Celà permet d’installer la version 4.7.5

Si vous êtes habitués avec l’installation de package sur Debian (ou Ubuntu), vous pouvez évidemment installer les packages en une seule commande, par exemple:

# sudo apt-get install apache2 mysql-server wordpress

J’ai séparé l’installation en trois étapes afin d’essayer de garder la marche à suivre plus clair.

Le “Helper Script”

Le package WordPress contient un script, appelé le “Helper Script” qui est censé aider lors de l’installation de WordPress, comme il existe, autant s’en servir.

Selon le Wiki Debian, le script se trouve dans:

/usr/share/doc/wordpress/examples/setup-mysql

Sur mon installation, le script n’était pas disponible directement, il était bien là mais compressé sour la forme gz, j’ai donc commencé par lé compressé:

# cd /usr/share/doc/wordpress/examples
# gzip -d setup-mysql.gz

Une fois décompressé, on peut exécuter le script mais.. que fait ce script et comment l’exécuter, si vous ouvrez ce script avec votre éditeur de texte préféré, dans mon cas “nano”

nano /usr/share/doc/wordpress/examples/setup-mysql

vous obtiendrez les réponses à vos questions, vous pouvez passer les paramètres suivants lors de l’exécution du script:

-n name for the wordpress site; see also -e below
-h help
-d destroy and purge
-b backup
-u mysql username, will require password
-t mysql server hostname, if unset localhost will be used
-e existing empty mysql database name; will replace -n

Donc par example, si vous voulez que votre site(ou blog) soit accessible via l’url http://blog.example.com et quel’utilisateur de la db soit “wordpress”, vous pouvez utiliser la commande suivante:

# sudo setup-mysql -n wordpress blog.example.com

Remarque:

Si vous comptez héberger plusieurs sites WordPress, le choix d’un utilisateur “wordpress” n’est probablement pas recommandé, quelque chose comme “wp-blog” qui permet de différencier les users des différents sites est probablement plus approprié.

L’exécution du script, vous demandera le mot de passe pour le user afin d’accéder la base de données.
Une fois l’exécution terminée, vous devriez retrouver un fichier de configuration pour votre site.
Pour continuer avec notre example, la commande précitée, va générer le fichier de configuration suivant:

/etc/wordpress/config-blog.example.com.php

Si vous avez utilisez un autre nom pour votre site, le fichier configuration en dépendera “config-<nomdusite>.php
Vous pouvez ouvrir ce fichier de configuration avec votre éditeur de text favori afin d’y vérifier les informations insérées (db_name, db_user, db_password, db_host)

La configuration du Web Serveur

Comme précisé précédemment, ce post couvre la configuration de Apache.
Le package WordPress fournit un example de configuration que vous pouvez consulter et vous en inspirer:

/usr/share/doc/wordpress/examples/apache.conf

Création du site

La création du site n’est rien d’autre que la création d’un fichier qui permet au serveur Apache d’afficher votre site, si vous souhaitez créer le site “myblog”, vous pouvez créer le fichier suivant:

# sudo nano /etc/apache2/sites-available/myblog.conf

et si vous vous basez sur l’exemple, vous pouvez directement copier/coller le contenu suivant:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName myblog.example.com
    ServerAlias www.myblog.exampe.com
 
    DocumentRoot /usr/share/wordpress/
    DirectoryIndex index.php index.html
    ErrorLog /var/log/apache2/wp-error.log
    TransferLog /var/log/apache2/wp-access.log

# wp-content in /var/lib/wordpress/wp-content
    Alias /wp-content /var/lib/wordpress/wp-content

   <Directory /usr/share/wordpress>
      Options FollowSymLinks
      <IfVersion < 2.3>
        Order allow,deny
        Allow from all
     </IfVersion>
     <IfVersion >= 2.3>
       Require all granted
     </IfVersion>
    </Directory>
    <Directory /var/lib/wordpress/wp-content>
      Options FollowSymLinks
      <IfVersion < 2.3>
           Order allow,deny
           Allow from all
       </IfVersion>
       <IfVersion >= 2.3>
         Require all granted
       </IfVersion>
    </Directory> 
</VirtualHost>

Quelques remarques:

Ce n’est qu’un exemple, vous devrez probablement y apporter quelques modifications.

  1. Dans cet example, le domain est “example.com”,
    le site ne sera accessible que via blog.example.com et comme on précise le port 80, uniquement en HTTP
    Autrement dit le site sera accessible via les URLs
    http://blog.example.com et http://www.blog.example.com
  2. Il faut évidemment que le setup DNS pour les zones blog.example.com et www.blog.example.com soit fait, ceci n’est pas couvert dans ce post
  3. Cet exemple utilise l’emplacement par défaut du répertoire wp-content (/var/lib/wordpress/wp-content), dans le cadre d’une installation mono-site, celà ne pose pas de soucis, mais si vous prévoyez du multi-site, c’est probablement mieux de déjà prévoir différents répertoires.

Les modules Apache

Il est nécessaire d’activer deux modules:

# sudo a2enmod rewrite
# sudo a2enmod vhost_alias

L’activation du site

Il faut ensuite activer le site,

# sudo a2ensite myblog.com

Si vous avez nommé votre sitre autrement, vous devez adapter la commande

Recharger la configuration du serveur Web

La dernière étape est de recharger la configuration du serveur Web afin que nos changements soient pris en compte

# sudo service apache2 reload

La configuration de WordPress

Si tout s’est bien passé, vous devriez pouvoir démarrer le Wizard de configuration de WordPress en accédant l’adresse de votre site, dans l’exemple http://blog.example.com ou http://www.blog.example.com

La mise à jour de WordPress

Comme nous avons installé WordPress à partir de son package, sa mise à jour ne diffère pas de la mise à jour d’un autre package

# sudo apt-get update && apt-get upgrade

 

Laisser un commentaire

This site uses Akismet to reduce spam. Learn how your comment data is processed.