Installation de WORDPRESS
Aujourd’hui, WordPress est le CMS le plus populaire et il permet de mettre en place de nombreux types de sites : sites vitrine, blog, sites d’e-commerce, etc…Grâce à son énorme communauté et les nombreux développeurs qui proposent des plug-ins (gratuits ou payants) afin de permettre la personnalisation de son site Web.
Nativement, WordPress va permettre de créer des utilisateurs, des pages et des articles. Il va permettre aussi de gérer la configuration globale du site (nom, adresse, format des liens, etc…). Cette base solide doit être complétée par des plug-ins (appelés aussi extensions) qui vont permettre d’ajouter des fonctionnalités à votre site WordPress, mais aussi d’avoir un thème graphique correspondant à nos attentes.
Configuration de la base de données (MariaDB)
WordPress s’appuie sur une base de données afin de stocker toutes les informations liées à la configuration et à vos contenus (catégorie, pages, articles, etc.). Sur notre serveur Web, nous allons lui créer une base de données dédiée avec un utilisateur dédié, et ce dernier aura les droits uniquement sur la BDD WordPress.
Création de la base de données dédiée à Wordress
Que ce soit avec MariaDB ou MySQL, vous pouvez vous connecter à la console de votre instance avec la commande suivante :
sudo mariadb -u root -p

Création d’une nouvelle base de données nommée :
create database wpxxx_xxx;

Création de l’utilisateur administrateur de la base de données Wordress
Cet utilisateur sera nommé « adminwpxxx_xxx » et il aura comme mot de passe « Votre-Super-Mot-De-Passe ».
create user 'adminwpxxx_xxx'@'localhost' IDENTIFIED BY 'xxxx';
On donne tous les droits à l’utilisateur « adminwp202205_silverimer » sur la base de données WordPress. Notre serveur Web et la base de données étant sur le même serveur, nous allons donner ces droits pour une connexion locale. Ce qui donne :
GRANT ALL PRIVILEGES ON wpxxx_xxx.* TO adminwpxxx_xxx@localhost;
Enfin, il faut exécuter la commande suivante pour actualiser les droits et activer les nouveaux privilèges sur notre base de données :
flush privileges;
exit

Installation du répertoire WordPress
Téléchargement de la dernière version de WordPress :
cd tmp
wget https://wordpress.org/latest.zip

Décompression de l’archive WordPress à la racine du site :
Nous allons utiliser le site par défaut d’Apache, qui a pour racine « /var/www/html » afin de stocker les données de notre site WordPress. Au préalable, on supprime la page d’index créée par défaut par Apache :
sudo rm /var/www/html/index.html
Ensuite, on installe le paquet « zip » sur notre serveur pour pouvoir décompresser l’archive de WordPress :
sudo apt-get update
sudo apt-get install zip
On décompresser l’archive dans « /var/www/html » grâce à la commande suivante (en étant positionné dans le dossier où l’on a téléchargé le fichier latest.zip) :
sudo unzip latest.zip -d /var/www/html
L’option « -d » permet de définir là où sera décompressée l’archive. Le dossier WordPress apparaitra donc dans « /var/www/html » qui est le dossier où sont stockées les pages web par défaut.
On obtient une belle liste de fichiers et dossiers. Au niveau des droits et pour des raisons de sécurité, vous devez avoir 755 sur les dossiers et 644 sur les fichiers. Ce qui est le cas par défaut si vous n’avez pas fait de modifications. En aucun cas vous ne devez poser des droits « 777 » sur un dossier ou un fichier.

Le problème, c’est que là on vient de décompresser le contenu de l’archive ZIP dans un dossier nommé « wordpress », ce qui donne : /var/www/html/wordpress. Du coup, pour accéder à notre site, il faudra faire : http://domaine.fr/wordpress/. Ce n’est pas top, nous allons corriger cela dès maintenant.
Déplacez-vous dans le dossier « /var/www/html » :
cd /var/www/html
Ensuite, exécutez la commande ci-dessous pour déplacer tout le contenu du dossier « wordpress » à la racine de notre site :
sudo mv wordpress/* /var/www/html/
Puisque le dossier « wordpress » ne sert plus à rien, on va le supprimer :
sudo rm wordpress/ -Rf

Enfin, on termine en donnant les droits à l’utilisateur « www-data » (correspondant à Apache) sur tous les fichiers de notre site, de manière récursive :
sudo chown -R www-data:www-data /var/www/html/
Your PHP installation appears to be missing the MySQL extension which is required by WordPress.
sudo apt-get install php5-mysql
sudo service apache2 restart

Quelques commandes pour gérer le serveur Apache :
sudo systemctl stop apache2
sudo systemctl start apache2
sudo systemctl restart apache2
sudo systemctl reload apache2
sudo systemctl disable apache2
sudo systemctl enable apache2
Installation de WordPress
Pour la première fois, nous allons nous connecter sur l’interface web WordPress dans le but d’effectuer l’installation. Pour cela, il faut se rendre sur « http://IP-SERVEUR » avec votre navigateur préféré. Si vous avez déjà enregistré le nom de domaine et que l’enregistrement A du DNS pointe vers votre serveur, vous devriez pouvoir accéder au site grâce au nom de domaine du serveur.
sudo apt-get install -y mariadb-server
sudo mariadb -v

Suite à l’installation, exécuter le script « mariadb-secure-installation » afin de sécuriser un minimum l’installation de MariaDB.
La première étape consiste à choisir la langue du site et de l’interface de WordPress à Français

Note : vous pouvez aussi tricher avec le fichier hosts de votre machine cliente (Linux : /etc/hosts – Windows : C:\Windows\System32\drivers\etc\hosts) afin d’associer l’adresse IP de votre serveur à un nom de domaine en créant un enregistrement local.





Installations complémentaires
Installation de l’extension Akismet Spam Protection
Akismet vérifie vos commentaires et soumissions de formulaires de contact par rapport à notre base de données mondiale d’indésirables pour empêcher votre site de publier du contenu malveillant. Vous pouvez examiner les commentaires indésirables qu’il capture sur l’écran d’administration « Commentaires » de votre blog.
Les fonctionnalités principales d’Akismet permettent de :
- Vérifier automatiquement tous les commentaires et filtrer ceux qui ressemblent à des indésirables.
- Avoir un historique de chaque commentaire. Vous pouvez donc voir facilement quels commentaires ont été traités par Akismet et ceux considérés comme indésirables par le modérateur.
- Afficher dans le corps du commentaire les URL pour indiquer les liens cachés ou malicieux.
- Aux modérateurs et modératrices de voir le nombre de commentaires approuvés pour chaque compte.
- Une fonctionnalité qui bloque les pires indésirables, pour économiser de l’espace disque et accélérer votre site.
On choisit l’installation gratuite Personal non commerciale :
- https://fr.wordpress.org/plugins/akismet/
- Clé de l’API : à concerver

Installation des modules obligatoires et recommandés :
Une nouvelle section dans le back office de WordPress 5 est disponible : Outils > Santé du Site
Ce menu est une suite de tests centrés sur la sécurité et la rapidité du site internet, des problématiques que tous les gestionnaires de site internet rencontrent et craignent. « Santé du site » est réservée aux administrateurs WordPress / SysAdmin.
PHP Extension imagick
Cette extension native de PHP permet de réaliser directement via des scripts PHP de la retouche d’image : dessiner, ajouter du flou, ajouter des bordures, rogner …
Voici un excellent site qui montre la puissance de cette extension : PHP Imagick by Example
WordPress l’utilise lors de traitements des images ainsi que pour accélérer l’affichage des images dans le Front Office.
Installation imagick
sudo apt-get install php-imagick
Vérification de l’installation : php -m | grep imagick (Dans le terminal, on doit voir apparaître imagick.)
Installation php-intl et php-json
sudo apt install php-intl php-json
Redémarrage du serveur web :
sudo service apache2 restart ou /etc/init.d/apache2 restart