Debian / VPS – Installation d’Apache + MySql/MariaDB + PHP + WordPress
Après avoir sécurisé notre serveur SSH, je vous propose de vous montrer comment réaliser l’installation d’un site de base WordPress, avec tout ce qui va avec. L’objectif : avoir un serveur Apache Web, MySql/MariaDB pour la base de données et PHP pour le langage à interpréter car WordPress est codé en PHP.
Avis à ceux qui se disent que maintenant, Docker qui fait tout tout seul et qu’on n’a plus besoin de se prendre la tête pour l’installation. Il vaut toujours mieux savoir comment les outils fonctionnent : en cas de problème on sait les gérer.
J’espère que vous avez chauffé votre clavier et votre terminal. Nous allons commencer par effectuer toutes les installations classiques et simples en une seule commande.
Installation des services
Afin de ne pas taper votre mot de passe toutes les cinq secondes, je vous conseille de vous connecter en root avec la commande :
su
On va initialiser les repos en effectuant un :
apt-get update
Apache 2
On commence avec le célèbre serveur Apache2. Il faut taper la commande suivante :
apt-get install apache2
N’oubliez pas d’appuyer sur la touche O puis entrée pour valider l’installation du paquet.
Installation de MySql Serveur / MariaDb
Vous devez faire un simple :
apt-get install mysql-server

Sécuriser MySql Serveur
On va sécuriser le serveur en créant un mot de passe pour l’accès administrateur, puis créer un autre utilisateur. Pour cela tapez la commande suivante :
mysql_secure_installation
Le programme vous demande le mot de passe courant à MySQL. Etant donné que c’est une installation neuve, il suffit de taper sur la touche entrée pour signifier qu’il n’y en a pas. Le système demande ensuite si vous souhaitez changer le mot de passe.
Vous devez taper sur la touche entrée et saisir un mot de passe. Faites attention à ne pas mettre n’importe quoi. C’est le mot de passe du compte administrateur, alors il doit respecter les règles de création de mot de passe complexe.
Ensuite MySQL server demande si vous souhaitez supprimer les comptes anonymes qu’il a créé au préalable. Je vous conseille vivement de les supprimer aussi.
Pour les supprimer, vous devez taper sur la touche Y et appuyer sur entrée. Maintenant nous allons passer à un autre paramètre. Accepte-t-on ou pas que l’administrateur du serveur puisse s’y connecter à distance ? Encore une fois, je vous conseille de désactiver la fonction de connexion administrateur à distance.
Maintenant, le programme demande s’il doit supprimer la base de données de test générée par défaut.
Après cela, MySql vous propose de recharger les privilèges sur les tables. Je vous conseille aussi de faire Yes.
Installation de PHP
Il vous suffit de faire un simple :
apt-get install php

Connecteur PHP MySql
Ensuite, nous devons installer le connecteur qui permettra à PHP de faire des requêtes sur un serveur MySql. Pour cela, vous devez faire un :
apt-get install php-mysql

Rechargement du serveur Apache2
Après avoir installé PHP et le connecteur, on doit recharger la configuration d’Apache2 afin qu’il soit pris en compte. Pour ce faire, lancez la commande suivante :
service apache2 reload
Tester notre installation
On a déjà fait pas mal de choses. Je vous propose de vérifier que tout est fonctionnel. Petit récap des opérations précédentes : on a installé notre serveur Apache2 puis MySql et PHP 7. On peut donc maintenant accéder à notre serveur web à partir de notre navigateur. Tapez l’IP de votre serveur dans la barre d’adresse.
Si vous avez bien suivi le tutoriel, vous devez vous retrouver sur la même page que moi.
Installation de WordPress
Tout d’abord, on doit se rendre sur le dossier qu’a créé Apache2 pour recevoir les pages PHP :
cd /var/www/html
Pour récupérer le code de WordPress, on a besoin de notre cher ami Git. Par défaut, celui-ci n’est pas installé. On doit donc faire un :
apt-get install git
Après l’installation de Git, on peut lancer la commande qui va récupérer le code de WordPress :
git clone https://github.com/WordPress/WordPress.git
Si vous faites un ls, vous verrez qu’un nouveau dossier WordPress s’est créé avec tous les éléments nécessaires à l’intérieur. Je vous propose de vérifier si la copie s’est bien passée en retournant sur le navigateur et en rajoutant dans la barre d’adresse /WordPress. Vous devriez obtenir le même résultat que moi :
Création d’un domaine Apache pour notre site
Sauf que vous ne voulez pas dire à vos utilisateurs de taper l’adresse : http://monsiteweb.com/WordPress. Vous préférez qu’ils se rendent sur votre site en indiquant l’adresse suivante : http://monsiteweb.com.
Pour ce faire, vous devez créer un site available dans Apache. On commence par copier le fichier de configuration de base proposé par Apache grâce à cette commande :
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/wordpress.conf
L’idée, c’est de copier le fichier de base puis le coller au même endroit avec le nom de votre site web.
A présent, nous allons éditer le nouveau fichier de configuration en jouant la commande suivante :
nano /etc/apache2/sites-available/wordpress.conf
Je vous conseille de lire le contenu du fichier pour votre culture. Cependant, nous modifierons uniquement le DocumentRoot. Nous allons y insérer le chemin pour accéder à notre site web. Faites bien attention à mettre le nom de site choisi précédemment.
Maintenant, nous allons désactiver la configuration installée par défaut par Apache2 pour y mettre la nouvelle configuration pour notre site.
Pour cela, nous allons jouer ces différentes requêtes :
Désactivation de la configuration par défaut :
a2dissite 000-default
Ajout de la configuration de notre site :
a2ensite wordpress
Rechargement d’Apache 2 :
systemctl reload apache2
Vous devriez avoir le même résultat que moi :

Test de la nouvelle configuration
Le test est très simple : vous devez revenir sur notre première page de test et la rafraîchir. Pour rappel, l’adresse est la suivante : http://adresseip/WordPress/
Logiquement vous voilà devant une page 404 car maintenant on attaque directement le contenu du dossier WordPress.
Je vous conseille maintenant de mettre uniquement l’adresse IP http://adresseip/ et si vous avez bien suivi le tuto, cela devrait fonctionner à merveille.

Création d’une base de données pour WordPress
Pour ne pas être bloqué lors de l’installation de WordPress, je vous propose de créer en amont la base de données. Ainsi qu’un utilisateur qui aura les droits de lecture/écriture. Pour cela, on doit d’abord se connecter à la base de données en console. Vous devez jouer la commande suivante :
mysql -u root -p
Vous devez aussi taper votre mot de passe.
Une fois connecté à la base de données, tapez les commandes suivantes en changeant password par un mot de passe costaud :
CREATE DATABASE wordpress; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
Celles-ci vont nous permettre de créer la base de données et de donner les droits à l’utilisateur fraîchement créé. Le résultat est le suivant :
On peut maintenant sortir de la base de données. Pour cela, tapez la commande :
exit
Après toute la configuration que nous avons réalisée, voici enfin la partie plus agréable : l’installation grâce à l’interface web de WordPress.
Installation/Configuration de WordPress
Pour cela, vous devez retourner sur votre navigateur favori et taper l’url pour accéder à votre site : http://adresseip/. Vous arriverez sur la même page que précédemment. Ensuite, cliquez sur le bouton c’est parti. Vous obtiendrez la page suivante :
Si vous avez suivi rigoureusement ce tutoriel, vous devez mettre le nom de la base de données, c’est à dire wordpress, puis le nom de l’utilisateur wordpress ainsi que le mot de passe password indiqué dans le précédent exemple. Je vous conseille vivement de mettre le bon mot de passe… car en l’état, la sécurité laisse vraiment à désirer. Ensuite, vous devez mettre localhost dans la case Database Host car on a installé le moteur MySql sur le même serveur et pour la Table Prefix, je vous conseille de laisser la même chose. Si vous avez bien travaillé, vous pouvez cliquer sur le bouton Submit sans avoir peur. WordPress va tester la connexion et vous dire si tout est OK.
Copie du fichier de configuration dans WordPress
WordPress n’a pas le droit de créer un nouveau fichier de configuration. Il vous demande donc de créer le fichier pour lui et de coller les éléments nécessaires à son bon fonctionnement.
Pour ce faire, retournez sur notre chère console et tapez les commandes suivantes :
cd /var/www/html/WordPress ls nano wp-config.php
Vous devez ensuite coller le contenu du code que WordPress vous a fourni. Dès que c’est fait, enregistrez le fichier et cliquez sur le bouton Run the installation dans votre navigateur.
Création d’un compte WordPress
WordPress vient d’initialiser la base de données de votre site. Il vous demande ensuite de créer un compte administrateur qui vous permettra de gérer votre site web.
Je vous laisse saisir les différents éléments de création de compte. Ensuite, vos pouvez cliquer sur le bouton Install WordPress.
Celui-ci va créer le compte et vous rediriger vers la page de connexion. Cliquez maintenant sur le bouton Log In. Vous allez savoir rapidement si vous vous êtes loupés lors de la création de compte.
Après la connexion, vous arriverez sur la première page de votre magnifique site web.
C’est la fin de ce tutoriel détaillé. J’espère qu’il vous servira longtemps, maintenant que vous avez compris les tenants et les aboutissants de l’installation à la main d’un serveur Web / MySql avec WordPress.
Besoin d’informations complémentaires ? Les commentaires sont là pour vous. Sinon vous pouvez aussi consulter la source qui m’a aidé à monter mon serveur Web : https://wiki.debian.org/WordPress
Pour écrire ce tuto / article, nous avons utilisé les commandes sur notre serveur chez notre partenaire IKOULA. Pour plus d’informations sur leur service, rendez-vous sur leur site ou sur notre article consacré aux solutions d’IKOULA.
Maintenant que vous avez un serveur fonctionnel… vous allez attirer certains hackers. En effet, ils ont un faible pour les serveurs présents sur la toile. Surtout ceux avec un protocole SSH activé – et en prime, WordPress d’installé. Pour éviter le pire, je vous invite à lire notre article pour savoir comment protéger votre serveur avec Fail2Ban.