Accueil Technologies Debian / VPS – Installation d’Apache + MySql/MariaDB + PHP + WordPress
Debian & VPS – Installation d'Apache + MySql-MariaDB + PHP + Wordpress

Debian / VPS – Installation d’Apache + MySql/MariaDB + PHP + WordPress

par Jérémy PASTOURET

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
Bitvise - Passage en root

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
Installation d'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
Installation 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
Sécurisation du serveur MySql

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.

Changement du mot de passe Root sur MySql Server

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.

Suppression des comptes anonymes de MySql Server

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.

Désactiver la connexion à distance par l'administrateur au serveur MySql

Maintenant, le programme demande s’il doit supprimer la base de données de test générée par défaut.

Suppression de la base de données de Test sur MySql Server

Après cela, MySql vous propose de recharger les privilèges sur les tables. Je vous conseille aussi de faire Yes.

Rechargement des privilèges MySql

Installation de PHP

Il vous suffit de faire un simple :

apt-get install php
Installation de PHP 7.0

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
Installation connecteur 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
Rechargement du serveur Apache2

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.

Ouverture de la première page Apache2

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
Installation de 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
Git clone WordPress

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 :

Lancement de WordPress

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.

Copie & Création d'un nom de domaine dans Apache

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.

Modifier la configuration Apache2 de WordPress

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 :

Désactive conf par défaut active nouveau site et refresh Apache2

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.

Page Apache2 rafraîchi - erreur 404

Je vous conseille maintenant de mettre uniquement l’adresse IP http://adresseip/ et si vous avez bien suivi le tuto, cela devrait fonctionner à merveille.

Apache2 avec la bonne configuration WordPress

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.

Connexion MySql-MariaDb

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 :

Création de la base de données WordPress et d'un utilisateur wordpress

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 :

Installation de WordPress - Paramétrage de la base de données

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.

Copie des éléments de configuration de WordPress

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.

Création de compte utilisateur WordPress

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.

Connexion WordPress

Après la connexion, vous arriverez sur la première page de votre magnifique site web.

Page d'accueil du nouveau site WordPress

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.

Vous pourriez aussi aimer

2 commentaires

michelw 8 septembre 2019 - 20 h 55 min

Bonjour,
Merci pour ce tutoriel LAMP jusqu’à wordpress. Auriez-vous un lien à proposer pour un serveur LEMP (Nginx) jusqu’à wordpress et fail2ban? En vous remerciant.

Répondre
Jérémy PASTOURET 26 septembre 2019 - 14 h 17 min

Bonjour,
Je n’ai pas de lien pour Nginx ; mais si d’autres lecteurs sont intéressés, je penserai à publier un article. Et je n’ai pas de lien spécifique pour cette architecture.

Répondre

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.