2022-10-01 04:07 Temps de lecture : 15 min

Comment configurer des sites WordPress à chargement rapide sur DigitalOcean ?

Mettez en place des sites WordPress (WP) sur DigitalOcean (DO) en moins de dix minutes.

Les blogueurs qui débutent ou les propriétaires de sites se demandent souvent comment optimiser la vitesse de chargement de leur site sur un hébergement mutualisé, et ils en connaissent les limitations. Après quelques frustrations, ils envisagent de passer d'un hébergement partagé à un hébergement cloud.

DigitalOcean est une des premières plateformes d'hébergement cloud qui vient à l'esprit.

DO est une excellente option pour commencer ; c'est plus abordable qu'AWS et GCP, évolutif, rapide et offre toutes les fonctionnalités nécessaires.

Cependant, configurer un site peut s'avérer complexe si l'on n'est pas familier avec les tâches d'administration système. Vous devez gérer vous-même le système d'exploitation et tous les éléments nécessaires. Vous pouvez également opter pour un hébergement Web via Cloudways et déployer un serveur Web DigitalOcean en quelques clics, si vous préférez éviter les subtilités de la configuration serveur. Ils proposent également des Droplets DigitalOcean Premium.

Suite à de nombreuses demandes par email concernant la configuration de sites WP sur DO, j'ai décidé de rédiger une procédure pour en faire profiter un public plus large.

Avant de détailler l'aspect technique, notez que DO n'est pas un registraire de nom de domaine. Vous ne pouvez donc pas leur acheter un nom de domaine. Je suppose que vous avez déjà un nom de domaine, et si vous devez en acquérir un, achetez-le chez Namecheap.

Commençons...

Il existe plusieurs manières de configurer WordPress, mais l'une des plus simples que j'ai pu constater est d'utiliser EasyEngine. Dans ce tutoriel, nous utiliserons EasyEngine pour installer tous les logiciels nécessaires et créer un site WP.

Obtenir un serveur DigitalOcean

DO possède des centres de données situés à divers endroits dans le monde. Choisissez l'emplacement le plus proche de votre public cible.

  • Connectez-vous (inscrivez-vous si vous n'avez pas encore de compte) à DigitalOcean.
  • Créez un nouveau droplet et sélectionnez Ubuntu 18.x comme système d'exploitation.
  • Choisissez un plan de droplet en fonction de vos besoins. Pour commencer, 2 Go ou 3 Go de RAM devraient suffire.
  • Sélectionnez l'option de surveillance (monitoring) comme option supplémentaire.
  • Donnez un nom d'hôte et cliquez sur "Créer".

La création prendra environ une minute et vous devriez voir le nouveau serveur apparaître dans la liste.

DO vous enverra les informations d'identification du serveur à l'adresse e-mail que vous avez enregistrée.

  • Connectez-vous au serveur en utilisant les informations d'identification et l'adresse IP fournies via un client SSH.

Lors de votre première connexion, il vous sera demandé de modifier votre mot de passe. Il est attendu et recommandé de le remplacer par un mot de passe complexe.

Installation d'EasyEngine

Une fois le serveur prêt, il est temps d'installer EasyEngine (EE). EE est un excellent script d'automatisation qui vous permet de créer différents types de sites avec une seule commande. L'avantage d'EE est que vous n'avez pas à vous soucier de la configuration de composants individuels tels que Nginx, MariaDB, Redis, PHP, etc. Tout est géré en arrière-plan et c'est totalement GRATUIT !

La dernière version d'EE utilise Docker, mais vous n'avez pas besoin de le maîtriser. EE est prêt pour la production et utilisé par des milliers de sites à fort trafic.

Laissez-moi vous montrer à quel point il est facile d'utiliser EasyEngine. Je suppose que vous êtes toujours connecté à votre serveur DigitalOcean.

  • Commençons par faire une mise à jour en exécutant la commande ci-dessous :
apt-get update
  • Ensuite, installez EE avec la commande suivante :
wget -qO ee rt.cx/ee4 && sudo bash ee

L'installation des logiciels nécessaires en arrière-plan prendra quelques minutes. Une fois terminée, vous serez ramené à l'invite de commande.

Status: Downloaded newer image for easyengine/redis:v4.0.0
+-------------------+----------------------------------------------------------------------------+
| OS                | Linux 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 |
| Shell             | /bin/bash                                                                  |
| PHP binary        | /usr/bin/php7.2                                                            |
| PHP version       | 7.2.15-1+ubuntu18.04.1+deb.sury.org+1                                      |
| php.ini used      | /etc/php/7.2/cli/php.ini                                                   |
| EE root dir       | phar://ee.phar                                                             |
| EE vendor dir     | phar://ee.phar/vendor                                                      |
| EE phar path      | /root                                                                      |
| EE packages dir   |                                                                            |
| EE global config  |                                                                            |
| EE project config |                                                                            |
| EE version        | 4.0.10                                                                     |
+-------------------+----------------------------------------------------------------------------+
-----> Run "ee help site" for more information on how to create a site.
[email protected]:~#

Cela indique qu'EasyEngine est installé et prêt à être utilisé.

Création d'un site WordPress

EE propose la possibilité de créer un site WordPress avec le cache Redis, ce qui fonctionne de manière très performante. J'utilise Redis sur toptips.fr et j'en suis satisfait, je vous recommande donc d'essayer.

Créons un site WP sur un nom de domaine avec le cache Redis.

ee site create geekflarelab.com --type=wp --cache

Dans cette commande, j'utilise la commande "ee" pour créer un site avec le nom de domaine geekflarelab.com, de type WordPress, et avec l'option de mise en cache activée.

Cela prendra quelques secondes et vous devriez voir apparaître un message de réussite similaire à celui-ci :

Configuring project.
Creating WordPress site geekflarelab.com
Copying configuration files.
Starting site's services.
Downloading and configuring WordPress.
Moved /var/www/htdocs/wp-config.php to /var/www/wp-config.php successfully
Success: Host entry successfully added.
Checking and verifying site-up status. This may take some time.

Installing WordPress site.
Success: http://geekflarelab.com has been created successfully!
Site entry created.
Creating cron entry
Success: Cron created successfully
+--------------------+----------------------------------------+
| Site               | http://geekflarelab.com                |
+--------------------+----------------------------------------+
| Site Root          | /opt/easyengine/sites/geekflarelab.com |
+--------------------+----------------------------------------+
| Site Title         | geekflarelab.com                       |
+--------------------+----------------------------------------+
| WordPress Username | inspiring-galois                       |
+--------------------+----------------------------------------+
| WordPress Password | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| DB Host            | global-db                              |
+--------------------+----------------------------------------+
| DB Name            | geekflarelab_com                       |
+--------------------+----------------------------------------+
| DB User            | geekflarelab.com-DRf3pP                |
+--------------------+----------------------------------------+
| DB Password        | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| E-Mail             | [email protected]                 |
+--------------------+----------------------------------------+
| SSL                | Not Enabled                            |
+--------------------+----------------------------------------+
| Cache              | Enabled                                |
+--------------------+----------------------------------------+
[email protected]:~#

Parfait, mon site WP est créé. EasyEngine se charge de Nginx, de la base de données, de l'optimisation PHP, vous n'avez donc pas besoin d'effectuer de modifications supplémentaires.

Il est temps de le tester.

Pensez-vous que cela fonctionnera si je clique sur geekflarelab.com ?

Non !

Je dois mettre à jour un enregistrement de domaine pour qu'il pointe vers l'adresse IP de mon serveur DigitalOcean.

  • Connectez-vous à la console de votre registraire de domaine et mettez à jour l'enregistrement A.

Maintenant, je peux accéder à geekflarelab.com

Comme vous pouvez le constater, en quelques minutes, j'ai WP fonctionnant sur un serveur cloud DO.

Je vous recommande également de faire ce qui suit :

Modification du port SSH

Par défaut, le port SSH est le 22, ce que tout le monde sait. Cela facilite les attaques par force brute, et si le mot de passe de votre serveur est faible, il pourrait être piraté. Modifier le port par défaut est une mesure de sécurité rapide et efficace.

J'ai expliqué comment modifier le port SSH dans l'article ci-dessous :

https://toptips.fr.com/cloud-vm-security-guide/#1-Changing-SSH-Default-Port

Implémentation du certificat SSL/TLS

Il est obligatoire de rendre votre site accessible via HTTPS, et heureusement, vous pouvez obtenir un certificat gratuitement. Si vous voulez éviter une longue mise en œuvre technique, je vous conseille d'essayer Cloudflare.

Cloudflare offre un certificat SSL GRATUIT, ainsi que des avantages en termes de performance et de sécurité.

Sécuriser WordPress

Ne laissez pas WordPress non sécurisé.

Il existe de nombreux plugins disponibles, mais si vous avez le budget, optez pour une solution premium. Vous pouvez choisir Cloudflare PRO ou SUCURI. Ces deux options offrent des fonctionnalités complètes en termes de performance et de sécurité, incluant un certificat SSL GRATUIT, la protection contre les attaques DDoS, l'atténuation des 10 principales vulnérabilités OWASP, etc.

Quelle est la vitesse du site DigitalOcean WP ?

Il est difficile de donner une réponse générale, car chaque site est unique. Cependant, pour vous donner une idée, j'ai effectué des tests de charge, et voici les résultats :

J'ai installé le thème Authority Pro par StudioPress, et j'ai testé quelques messages factices à l'aide de Blazemeter.

Assez impressionnant, n'est-ce pas ?

Comme vous pouvez le constater, le test a été réalisé avec 50 utilisateurs pendant 5 minutes depuis la Californie du Nord, et les résultats sont excellents.

  • Temps de réponse moyen : 351,19 ms
  • Erreurs : 0 %

Tout ce qui est inférieur à 1 seconde est impressionnant.

Conclusion

Si vous utilisez un hébergement partagé et que vous envisagez de passer au cloud et que vous êtes prêt à vous investir dans la configuration, alors DigitalOcean peut être un bon choix. Cependant, si vous n'avez ni le temps ni les compétences nécessaires pour gérer vous-même, je vous conseille de vous pencher sur Kinsta.

Kinsta est une plateforme d'hébergement WP gérée haut de gamme qui utilise la plateforme Google Cloud pour offrir les meilleures performances et la meilleure sécurité.

Auteur
France

Rédacteur tech, guides pratiques et astuces numériques.