Si vous envisagez d’héberger WordPress sur un serveur cloud, ce guide vous sera utile. LAMP est l’acronyme de Linux, Apache, MariaDB et PHP, des logiciels qui, combinés ensemble, sont connus sous le nom de pile LAMP.

Avantages et inconvénients de choisir le serveur web Apache plutôt que NGINX
- Pour : Il prend en charge le fichier .htaccess qui est couramment utilisé par de nombreuses personnes pour la mise en cache et l’optimisation des pages. C’est un excellent choix pour les non codeurs.
- Inconvénients : Il est légèrement moins performant que NGINX mais cela peut être géré en utilisant APO. Pour un site à fort trafic, la pile LEMP est le meilleur choix.
Suivez ces 3 étapes et regardez la vidéo. Vous avez besoin d’aide ? Contactez-moi. 😊
Avant de commencer, voici une petite astuce. Utilisez l’extension Rechercher et Remplacer pour remplacer en vrac exemple.com par votre propre domaine dans cette page Web.
Astuce pour gagner du temps pour les utilisateurs de Google Chrome.

Partie A : Maintenez les nameservers de Cloudflare actifs.
Nous allons utiliser le DNS de Cloudflare pour obtenir le certificat SSL Wildcard de Let’s Encrypt. Effectuez d’abord cette étape pour profiter d’une migration sans temps mort.
Vérifier les serveurs de noms actuels
- Trouvez vos serveurs de noms actifs à https://www.whatsmydns.net/#NS/example.com
- Si vous utilisez le NS par défaut de votre ancien hébergeur ou registraire de domaine, vous devez le remplacer par Cloudflare.
- Apprenez à utiliser le DNS de Cloudflare
Partie B : Déployer un serveur Ubuntu 22.04 LTS

1.Inscrivez-vous à Vultr pour obtenir 100 $ de crédits gratuits (Valable pendant 14 jours)

J’ai essayé de nombreuses sociétés de serveurs en nuage, mais mon expérience m’a appris que vous ne pouvez pas vous tromper avec Vultr. Ces gars-là sont authentiques et attentionnés quand il s’agit de soutien et de services.
⚡ Performance
- AMD EPYC™ de 3ème génération
- NVME / SSD
- CPU jusqu’à 4 GHz
- Vitesse du réseau jusqu’à 5Gbps
- Centre de données en Amérique, en Europe, en Asie et en Australie.
- IPV6 prêt
💡 Caractéristiques
- Tableau de bord convivial pour les débutants
- Snapshot en un clic
- Automtatic Backup (Payant)
- Pare-feu en nuage gratuit
- Protection contre les DDoS (payant)
- Virtualisation KVM à 100%.
⚙ Soutien
- PayPal/Carte
- Assistance ticket 24/7
- Documentation
2. Deloy un nouveau serveur
Il suffit de cliquer sur le bouton plus pour commencer

3. Choisissez le type de serveur
Choisissez Cloud Compute pour bénéficier de CPU partagés à des prix abordables.

Ensuite, vous pouvez sélectionner l’option AMD High Performance ou Intel High Frequency dans CPU & Storage Technology. Cette dernière offre le CPU et le disque NVMe les plus rapides qui soient. Si votre budget est inférieur, optez pour le plan régulier avec CPU Intel, qui vous permettra d’obtenir un disque SSD.

4. Choisir un emplacement de serveur
Vultr propose des serveurs sur les quatre continents. Pour obtenir la latence la plus faible et les meilleures performances, vous devez toujours choisir la région la plus proche de votre public.

Par exemple, si 99 % du trafic provient d’Inde, choisissez la région la plus proche – Paris, France.
Asia
- Mumbai, India
- Delhi NCR, India
- Bengaluru, India
- Singapore, Singapore
- Tokyo, Japan
- Seoul, South Korea
America
- Miami, United States
- Atlanta, United States
- Chicago, United States
- Dallas, United States
- Honolulu, United States
- Los Angeles, United States
- Mexico City, Mexico
- New York (NJ), United States
- Seattle, United States
- Silicon Valley, United States
- Toronto, Canada, São Paulo
Europe
- Stockholm, Sweden
- London, United Kingdom
- Amsterdam, Netherlands
- Frankfurt, Germany
- Madrid, Spain
- Paris, France
- Warsaw, Poland
Australlia
- Sydney, Australlia
- Melbourne, Australia
5. Sélectionnez l’image du serveur > Système d’exploitation > Ubuntu 22.04 LTS x64

Le support à long terme (LTS) est une politique de gestion du cycle de vie des produits dans laquelle une version stable d’un logiciel informatique est maintenue pendant une période plus longue que l’édition standard.

6. Choisir une taille de serveur

Un plan de 6 $/mois serait un excellent point de départ pour un nouveau blog. Vous pouvez l’améliorer à tout moment en fonction de vos besoins.
Conseil : si vous effectuez une migration, vérifiez la taille totale de l’installation dans les informations sur la santé du site.

Activer IPV6, Sauvegarde

Ajoutez une clé SSH
Il s’agit d’une étape recommandée mais facultative pour une sécurité renforcée.

- Cliquez sur le bouton Ajouter nouveau pour ajouter une nouvelle clé SSH afin de soumettre votre clé 🔒Publique.
- Générez les clés en utilisant la méthode ci-dessous en fonction de votre système d’exploitation.

- Téléchargez l’application PuTTy.
- Recherchez PuTTygen dans le menu Démarrer.
- Cliquez sur le bouton Générer et survolez le pointeur de la souris.
- Copiez la clé publique et fournissez-la à Vultr
- Entrez la phrase de passe de la clé
- Save 🔑Clé privée à l’endroit le plus sûr.
- Ceci peut être utilisé pour la connexion à SSH ou SFTP.

- Run:
ssh-keygen -t rsa
. For a more secure 4096-bit key, run:ssh-keygen -t rsa -b 4096
- Appuyez sur la touche Entrée lorsqu’on vous demande où vous voulez enregistrer la clé (l’emplacement par défaut sera utilisé).
- Saisissez une phrase de passe pour votre clé.
- Run
cat ~/.ssh/id_rsa.pub
– this will give you the key in the proper format to paste into the control panel. - Assurez-vous de sauvegarder le fichier
~/.ssh/id_rsa
. Il ne peut pas être récupéré s’il est perdu.
Sélectionnez votre clé SSH
En suivant ces étapes, vous attacherez votre clé publique à votre nouvelle Instance. Ensuite, vous serez en mesure de vous connecter à SSH en utilisant à la fois le mot de passe en texte brut et la clé SSH.

9. Lier la règle du pare-feu Web à l’instance du serveur

- Cliquez sur Gérer et créez un nouveau groupe de pare-feu.
- Autoriser le port TCP 22 pour SSH. 80 pour HTTP et 443 HTTPS pour les règles IPV4 et IPV6.
- Une fois cela fait, associez le groupe Pare-feu à votre Instance.


10. Entrez le nom d’hôte et l’étiquette cliquez sur Déployer maintenant

Maintenant, vous verrez l’installation dans la progression

11. Aller à la page New Instance
Copiez l’adresse IP, le nom d’utilisateur et le mot de passe. Votre port par défaut est le 22.

12. Désactiver la connexion par mot de passe
Pour des raisons de sécurité, il est recommandé de désactiver l’authentification par mot de passe et de n’autoriser que l’authentification par clé.
- Modifier le fichier de configuration
nano /etc/ssh/sshd_config
- Trouvez(CTRL + W) et recherche
PasswordAuthentication
- Changer la valeur de oui à non
- Pour sauvegarder, tapez, CTRL + O
- Redémarrez le service SSH en utilisant la commande
sudo service ssh restart

A partir de la prochaine fois, vous pourrez utiliser SSH via une clé uniquement comme indiqué dans la vidéo.
Pour Linux ou Mac, utilisez le Terminal avec une commande comme celle-ci
ssh root@192.168.1.1 -p 22 -i id_rsa
Step 13. Désactiver l’UFW
Lorsque vous déployez une nouvelle instance de VULTR, elle est livrée avec un UFW (Uncomplicated Firewall) activé qui bloque tous les ports sauf le port SSH 22. Cela peut renvoyer l’erreur ERR_CONNECTION_REFUSED dans le navigateur. Pour résoudre ce problème, je vous suggère de désactiver l’UFW.
ufw disable
Maintenant, je vais accélérer le processus original de déploiement de WordPress sur la pile LAMP.
Partie C. Déployer WordPress sur une pile LAMP
1. Mise à jour des référentiels
Tapez la commande suivante et appuyez sur la touche Entrée
sudo -s
apt update && apt upgrade -y && apt dist-upgrade && apt autoclean && apt autoremove -y && reboot
or
wget -qO update https://dl.gulshankumar.net/update && chmod +x update
La prochaine fois, utilisez toujours le raccourci de commande ci-dessous pour mettre à jour.
./update
2. Installer MariaDB avec sécurité
Connectez-vous à nouveau et entrez la commande suivante
sudo apt install mariadb-server -y && sudo mysql_secure_installation
Répondez aux questions ci-dessous
- Enter current password for root (enter for none): Appuyez sur la touche Entrée
- Switch to unix_socket authentication [Y/n]: Tapez n et appuyez sur la touche Entrée.
- Set root password? [Y/n]: Appuyez sur la touche Entrée.
- New password: Copiez un mot de passe fort à partir du générateur de mots de passe Dashlane. Pour coller un mot de passe dans la console SSH, faites un clic droit et appuyez sur la touche Entrée. Le mot de passe ne sera pas visible à l’écran.
- Re-enter new password: Faites un clic droit et appuyez à nouveau sur la touche Entrée.
Après avoir réussi à définir le mot de passe, vous verrez
Password updated successfully! Reloading privilege tables.. ... Success!
Vous devez également répondre aux questions suivantes.
Remove anonymous users? [Y/n]: Appuyez sur Y et entrez
Disallow root login remotely? [Y/n]: Appuyez sur Y et entrez
Remove test database and access to it? [Y/n]:Appuyez sur Y et entrez
Reload privilege tables now? [Y/n]: Appuyez sur Y et entrez
3. Créer une nouvelle base de données pour WordPress
Connectez-vous à MySQL, appuyez sur la touche entrée lorsqu’il vous demande votre mot de passe.
mysql -u root -p
Créez une nouvelle base de données, et accordez des privilèges à son utilisateur avec un mot de passe. C’est là que WordPress stocke toutes les informations concernant les articles, les pages, les thèmes, les plugins, etc.
create database wordpress;
grant all on wordpress.* to gulshan@localhost identified by '5pY8CKJxDRJEGQNkX7';
flush privileges;
exit;
Où votre …
la base de données est wordpress
nom d’utilisateur est gulshan
le mot de passe est 5pY8CKJxDRJEGQNkX7
Conseil : Pensez à utiliser un identifiant de connexion unique
4. Installez PHP 8.2, Apache2 et définissez les permissions.
À l’heure actuelle, PHP 8.2 est la dernière version stable. Si vous avez besoin d’une version différente de PHP, vous devez conserver la même version dans toutes les commandes ci-dessous.
sudo add-apt-repository ppa:ondrej/php -y && apt update && apt install php8.2-fpm php8.2-common php8.2-mysql php8.2-xml php8.2-xmlrpc php8.2-curl php8.2-gd php8.2-imagick php8.2-cli php8.2-dev php8.2-imap php8.2-mbstring php8.2-soap php8.2-zip php8.2-bcmath -y && sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php/8.2/fpm/php.ini && service php8.2-fpm restart && apt install apache2 -y && chown -R www-data:www-data /var/www/ && chmod -R 755 /var/www/
Modifier la configuration de PHP
La plupart des thèmes et plugins de fantaisie nécessitent une configuration PHP haut de gamme pour fonctionner. Par conséquent, nous devons effectuer ces modifications.
sed -i 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/8.2/fpm/php.ini
sed -i 's/post_max_size = 8M/post_max_size = 128M/g' /etc/php/8.2/fpm/php.ini
sed -i 's/max_file_uploads = 20/max_file_uploads = 30/g' /etc/php/8.2/fpm/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 900/g' /etc/php/8.2/fpm/php.ini
sed -i 's/max_input_time = 60/max_input_time = 3000/g' /etc/php/8.2/fpm/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 128M/g' /etc/php/8.2/fpm/php.ini
service php8.2-fpm restart
5. Installer le certificat SSL Let’s Encrypt Wildcard
Créez un fichier cloudflare.ini dans le répertoire /root/.secrets/.
mkdir -p /root/.secrets/ && cd /root/.secrets/ && nano cloudflare.ini
Ajoutez le code ci-dessous et enregistrez en utilisant CTRL+O et quittez en utilisant CTRL+X.
dns_cloudflare_email = "your-cloudflare-email@example.com"
dns_cloudflare_api_key = "XXXXXXXXXXXXXXXXX"
Trouvez votre e-mail Cloudflare et votre clé API globale dans « Mon profil » > Jetons API > Clé API globale.
chmod 0400 /root/.secrets/cloudflare.ini
Installez Certbot et DNS Authenticator en fonction du système d’exploitation et du serveur web HTTP.
apt install snapd -y
snap install --beta --classic certbot
snap set certbot trust-plugin-with-root=ok
snap install --beta certbot-dns-cloudflare
snap connect certbot:plugin certbot-dns-cloudflare
Obtenir un certificat SSL Wildcard
certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.secrets/cloudflare.ini -d example.com,*.example.com --preferred-challenges dns-01
Renouvellement automatique à l’aide d’une tâche Cron
- Type
crontab -e
- Type 1 pour l’éditeur nano
- Entrez la commande suivante et enregistrez-la
0 0 * * * /etc/init.d/apache2 reload >/dev/null 2>&1
Renouvellement des tests
certbot renew --dry-run
Activez ces modules utiles
a2enmod proxy_fcgi ssl http2 expires headers rewrite remoteip
systemctl restart apache2
6. Créez un répertoire d’applications pour chaque site WordPress que vous souhaitez installer.
mkdir -p /var/www/example.com/public
Ce sera le chemin de la racine de votre document dans votre fichier de configuration Apache. La raison de créer exemple.com à l’intérieur de www est de garder chaque site organisé. Ensuite, j’ai également créé un répertoire public dans le but d’y conserver tous les fichiers de base de WordPress, mais wp-config.php à un niveau supérieur (/var/www/example.com/).
7. Créer la configuration d’Apache2
C’est important lorsque vous devez configurer votre domaine, comment Apache2 doit traiter vos requêtes HTTP.
Suppression des fichiers de configuration des blocs serveur par défaut d’Apache2
rm /etc/apache2/sites-available/000-default.conf
rm /etc/apache2/sites-available/default-ssl.conf
rm /etc/apache2/sites-enabled/000-default.conf
source /etc/apache2/envvars
Maintenant, créez les fichiers de configuration du nouveau bloc serveur. Vous devez faire cette étape chaque fois que vous voulez ajouter un nouveau WordPress sur le même serveur.
Veuillez remplacer exemple.com par votre propre domaine et n’oubliez pas de terminer le nom du fichier de configuration par l’extension .conf. Sinon, cela ne fonctionnera pas.
cd /etc/apache2/sites-available/
nano example.com.conf
- Remplacer exemple.com par son propre domaine
- Entrez le code ci-dessous et appuyez sur ctrl+o pour enregistrer et ctrl+x pour quitter.
##############################################################
#
# NOTES : Merci d'effectuer une recherche et un remplacement de exemple.com par votre propre domaine.
#
##############################################################
# Nous allons forcer HTTPS non-www
# Si vous voulez HTTPS www, gardez https://www.example.com/ dans la dernière ligne.
# Ou vous risquez de rencontrer un problème de boucle de redirection.
<VirtualHost *:80>
ServerSignature Off
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
ServerSignature Off
ServerName example.com
ServerAlias www.example.com
Protocols h2 h2c http/1.1
DirectoryIndex index.php index.html
# Recommandé aux utilisateurs de Cloudflare
# RemoteIPHeader X-Forwarded-For
# Chemin de la racine du document (Faites attention à ce chemin pour éviter les 404)
DocumentRoot /var/www/example.com/public
# Logs Path is /var/log/apache2/example.com-access.log
ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
# Let's Encrypt SSL
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
# Autoriser l'utilisation du fichier .htaccess pour remplacer la configuration
<Directory /var/www/example.com/public>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# Bloquer l'exécution de PHP dans le répertoire Uploads
<Directory /var/www/example.com/public/wp-content/uploads>
<Files *.php>
deny from all
</Files>
</Directory>
# Protéger wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>
# HTTP Auth pour une sécurité supplémentaire
# Si vous souhaitez utiliser HTTP Auth pour la page de connexion de WordPress, pensez à décommenter ce bloc de code.
# Si vous le faites, vous devez également générer le fichier .htpasswd.
# <Files wp-login.php>
# AuthName "Admins Only"
# AuthUserFile /var/www/.htpasswd
# AuthType basic
# require user gulshan
# <RequireAny>
# Require ip 127.0.0.1
# Require valid-user
# </RequireAny>
# </Files>
# Bloquer XML-RPC pour prévenir les attaques DDoS.
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
# Gérer l'exécution de PHP
<FilesMatch ".php$">
SetHandler "proxy:unix:/var/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
</VirtualHost>
Pour sauvegarder, appuyez sur CTRL+O et Enter clé. Ensuite, quittez l’éditeur nano en utilisant la commande CTRL+X.
Pour activer le bloc serveur, entrez la commande
Avant d’exécuter la commande ci-dessous, veuillez remplacer exemple.com par votre propre domaine.
a2ensite example.com.conf
Configuration du test (facultatif)
apache2 -t
Redémarrer et mettre à jour
service apache2 restart && service php8.2-fpm restart && service mysql restart && apt-get update && apt upgrade -y
8. Installer les fichiers WordPress
Téléchargez les fichiers de WordPress dans le répertoire /var/www/example.com/public/ et définissez les autorisations.
cd /var/www/example.com/public/ && wget https://fr.wordpress.org/latest-fr_FR.tar.gz && tar -xvzf latest-fr_FR.tar.gz && mv -v wordpress/* /var/www/example.com/public/ && rm -rf latest-fr_FR.tar.gz wordpress && chown -R www-data:www-data /var/www/example.com/public/ && sudo chmod -R 755 /var/www/example.com/public/
Pour mettre à jour la permission dans le futur, utilisez la commande ci-dessous. Cela va définir www-data pour tout ce qui se trouve dans le répertoire /var/www/.
chown -R www-data:www-data /var/www/example.com/public/ && sudo chmod -R 755 /var/www/example.com/public/
9. Mise à jour du DNS
Si vous hébergez WordPress localement, si vous voulez contourner le proxy ou si vous voulez effectuer une migration sans interruption de service, cette étape est utile. Je préfère généralement dans le cas d’une zone de développement statique de WordPress. 😉
- Il y a deux façons de faire pointer les DNS. Si vous migrez votre site vers Vultr et que vous souhaitez d’abord le tester localement, modifiez votre fichier hosts et faites pointer les DNS à cet endroit.
Pour Windows
- Allez dans les propriétés de C:\Windows\System32\drivers\etc\hosts
- Changez l’autorisation « Sécurité » en contrôle total pour votre nom d’utilisateur actuel.
- Vous pouvez maintenant modifier librement le fichier hosts sous votre utilisateur système et le sauvegarder.
# For same machine you can have localhost address else public IP
127.0.0.1 example.com
127.0.0.1 www.example.com
Par exemple, voici à quoi il devrait ressembler
Pour Mac ou Linux
Vous pouvez éditer le fichier hosts en utilisant cette commande sous l’utilisateur sudo.
sudo nano /etc/hosts
Mise à jour des DNS avec Cloudflare
- Si tout semble parfait et que vous voulez mettre votre site en ligne, connectez-vous à Cloudflare DNS et mettez à jour la nouvelle IP.
Record Type | Name | Value |
---|---|---|
A | @ | IPV4 Address |
AAAA | @ | IPV6 Address |
CNAME | www | example.com |
où @ désigne le domaine racine exemple.com
9. Visitez votre nom de domaine pour configurer WordPress
Si vous souhaitez conserver le domaine de la version non-www pour votre WordPress, visitez la version non-www ou www.
https://example.com
- Fournissez l’identifiant de connexion à la base de données pour commencer l’installation de WordPress.
- Installation d’exécution
- Remplissez les détails de base de votre nouveau site et installez WordPress.
- Connectez-vous à WordPress
Autres choses nécessaires
- Augmentez la mémoire swap pour faire face à une charge soudaine.
swapoff -a
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
- Assurez-vous d’utiliser un plugin de mise en cache des pages pour garder la charge du serveur sous contrôle. Comme il s’agit d’une pile LAMP, je vous recommande WP Fastest Cache.
- Gardez toujours une sauvegarde.
- Utilisez les services du plugin SMTP pour envoyer les emails sortants de WordPress, sinon vous ne pourrez pas recevoir les messages du lien de réinitialisation du mot de passe, du formulaire de contact 7.
Enfin, l’installation de WordPress est terminée.
J’apprécie grandement le temps précieux que vous avez consacré à la lecture de cet article. Rendez-vous dans le prochain tutoriel !