Comment installer WordPress avec Nginx sur AlmaLinux 8

WordPress est un CMS gratuit, open-source et le plus populaire au monde, entièrement construit en PHP. Il est utilisé par des milliers de personnes dans le monde entier pour gérer des blogs, des sites Web commerciaux et des boutiques de commerce électronique. Il possède d’excellentes fonctionnalités, notamment un panneau d’administration simple et facile à utiliser, des milliers de plugins, une énorme communauté, une thématisation et une personnalisation approfondies, et bien plus encore.

Dans ce guide, nous allons te montrer comment installer WordPress avec Apache et Let’s Encrypt SSL sur AlmaLinux 8.

Conditions préalables

  • Un serveur exécutant AlmaLinux 8.
  • Un nom de domaine valide pointé avec l’IP de ton serveur.
  • Un mot de passe root est configuré sur le serveur.

Installer le serveur LAMP

WordPress nécessite que le serveur LAMP soit installé sur ton serveur. Tu peux l’installer à l’aide de la commande suivante :

dnf install httpd mariadb-server php php-mysqlnd php-dom php-simplexml php-xml php-xmlreader php-curl php-exif php-ftp php-gd php-iconv php-json php-mbstring php-posix php-sockets php-tokenizer unzip -y

Après avoir installé le serveur LAMP, démarre le service Apache et MariaDB, et active leur démarrage au redémarrage du système :

systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configurer la base de données MariaDB

Tout d’abord, tu dois définir le mot de passe de la racine de MariaDB et sécuriser l’installation de MariaDB. Tu peux le faire à l’aide de la commande suivante :

mysql_secure_installation

Réponds à toutes les questions comme indiqué ci-dessous :

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Une fois que tu as terminé, connecte-toi à MariaDB à l’aide de la commande suivante :

mysql -u root -p

Une fois que tu es connecté, crée une base de données et un utilisateur pour WordPress :

MariaDB [(none)]> CREATE DATABASE wordpress;
MariaDB [(none)]> CREATE USER `wordpress`@`localhost` IDENTIFIED BY 'password';

Ensuite, accorde tous les privilèges à la base de données WordPress à l’aide de la commande ci-dessous :

MariaDB [(none)]> GRANT ALL ON wordpress.* TO `wordpress`@`localhost`;

Ensuite, vide les privilèges et quitte le shell MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Télécharge WordPress

Ensuite, change le répertoire en racine web Apache et télécharge la dernière version de WordPress à l’aide de la commande suivante :

cd /var/www/html
wget https://wordpress.org/latest.tar.gz

Une fois le téléchargement terminé, extrais le fichier téléchargé à l’aide de la commande suivante :

tar -xvzf latest.tar.gz

Ensuite, change le répertoire en wordpress et renomme le fichier de configuration type :

cd wordpress
mv wp-config-sample.php wp-config.php

Ensuite, modifie le fichier de configuration à l’aide de la commande suivante :

nano wp-config.php

Définis la configuration de ta base de données comme indiqué ci-dessous :

/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'wordpress' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

Sauvegarde et ferme le fichier lorsque tu as terminé puis définis les autorisations appropriées pour le répertoire WordPress :

chown -R apache:apache /var/www/html/wordpress

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configurer Apache pour WordPress

Ensuite, tu devras créer un fichier de configuration d’hôte virtuel Apache pour WordPress. Tu peux le créer avec la commande suivante :

nano /etc/httpd/conf.d/wordpress.conf

Ajoute les lignes suivantes :

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot "/var/www/html/wordpress"
   ServerName wordpress.example.com
   ErrorLog "/var/log/httpd/example.com-error_log"
   CustomLog "/var/log/httpd/example.com-access_log" combined

<Directory "/var/www/html/wordpress">
   DirectoryIndex index.html index.php
   Options FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>
</VirtualHost>

Enregistre et ferme le fichier puis redémarre le service Apache pour appliquer les modifications :

systemctl restart httpd

Tu peux vérifier l’état d’Apache avec la commande suivante :

systemctl status httpd

Tu devrais obtenir la sortie suivante :

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-07-09 03:30:47 EDT; 3s ago
     Docs: man:httpd.service(8)
 Main PID: 4153 (httpd)
   Status: "Started, listening on: port 80"
    Tasks: 213 (limit: 12524)
   Memory: 24.5M
   CGroup: /system.slice/httpd.service
           ??4153 /usr/sbin/httpd -DFOREGROUND
           ??4155 /usr/sbin/httpd -DFOREGROUND
           ??4156 /usr/sbin/httpd -DFOREGROUND
           ??4157 /usr/sbin/httpd -DFOREGROUND
           ??4158 /usr/sbin/httpd -DFOREGROUND

Jul 09 03:30:47 AlmaLinux systemd[1]: Stopped The Apache HTTP Server.
Jul 09 03:30:47 AlmaLinux systemd[1]: Starting The Apache HTTP Server...

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Sécurise WordPress avec Let’s Encrypt SSL

Ensuite, tu devras installer le client Certbot pour installer le SSL Let’s Encrypt pour WordPress. Tu peux l’installer avec la commande suivante :

dnf install epel-release -y 
dnf install certbot python3-certbot-apache

Ensuite, obtiens et installe un certificat SSL pour ton domaine lets avec la commande suivante :

certbot --apache -d wordpress.example.com

Il te sera demandé de fournir ton adresse e-mail et d’accepter les conditions de service :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for wordpress.example.com
Performing the following challenges:
http-01 challenge for wordpress.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/httpd/conf.d/wordpress.conf
Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/wordpress.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wordpress.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subscribe to the EFF mailing list (email: [email protected]).


IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wordpress.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wordpress.example.com/privkey.pem
   Your certificate will expire on 2022-02-09. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again with the "certonly" option. To non-interactively
   renew *all* of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Configurer le pare-feu

Ensuite, tu devras autoriser les ports 80 et 443 à travers le firewall. Tu peux les autoriser avec la commande suivante :

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https

Ensuite, recharge le firewalld pour appliquer les changements :

firewall-cmd --reload

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Accède au tableau de bord de WordPress

Ensuite, ouvre ton navigateur Web et accède au panneau d’administration de WordPress en utilisant l’URL https://wordpress.example.com. Tu seras redirigé vers la page suivante :

Choisis la langue

Sélectionne ta langue et clique sur le bouton Continuer. Tu devrais voir la page de configuration du site WordPress :

Détails du site

Indique les informations de ton site et clique sur le bouton Installer WordPress. Une fois l’installation terminée, tu devrais voir la page suivante :

Installation de WordPress réussie

Clique sur le bouton Connexion. Tu seras redirigé vers la page de connexion de WordPress :

Connecte-toi à WordPress

Indique ton nom d’utilisateur admin, ton mot de passe et clique sur le bouton Connexion. Tu devrais voir le tableau de bord de WordPress sur la page suivante :

Tableau de bord de WordPress

Conclusion

Félicitations ! Tu as réussi à installer WordPress avec Apache et Let’s Encrypt SSL sur AlmaLinux 8. Tu peux maintenant créer ton propre site Web facilement avec WordPress. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...