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 à travers le monde pour gérer des blogs, des sites Web d'entreprises et des magasins de commerce électronique. Il possède des fonctionnalités intéressantes, notamment un panneau d'administration simple et facile à utiliser, des milliers de plug-ins, une vaste communauté, une thématique approfondie, une personnalisation, etc.
Dans ce guide, nous allons vous montrer comment installer WordPress avec Apache et Let's Encrypt SSL sur AlmaLinux 8.
Prérequis
- Un serveur exécutant AlmaLinux 8.
- Un nom de domaine valide pointé vers l'adresse IP de votre 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 votre serveur. Vous pouvez 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émarrez les services Apache et MariaDB et activez-les au redémarrage du système :
systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer la base de données MariaDB
Tout d'abord, vous devrez définir le mot de passe root de MariaDB et sécuriser l'installation de MariaDB. Vous pouvez le faire en utilisant la commande suivante :
mysql_secure_installation
Répondez à 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 vous avez terminé, connectez-vous à MariaDB avec la commande suivante :
mysql -u root -p
Une fois connecté, créez 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, accordez tous les privilèges à la base de données WordPress en utilisant la commande ci-dessous :
MariaDB [(none)]> GRANT ALL ON wordpress.* TO `wordpress`@`localhost`;
Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Télécharger WordPress
Ensuite, changez le répertoire pour la racine Web Apache et téléchargez la dernière version de WordPress en utilisant la commande suivante :
cd /var/www/html
wget https://wordpress.org/latest.tar.gz
Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :
tar -xvzf latest.tar.gz
Ensuite, changez le répertoire en wordpress et renommez l'exemple de fichier de configuration :
cd wordpress
mv wp-config-sample.php wp-config.php
Ensuite, modifiez le fichier de configuration avec la commande suivante :
nano wp-config.php
Définissez la configuration de votre 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' );
Enregistrez et fermez le fichier lorsque vous avez terminé, puis définissez l'autorisation appropriée sur le répertoire WordPress :
chown -R apache:apache /var/www/html/wordpress
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour WordPress
Ensuite, vous devrez créer un fichier de configuration d'hôte virtuel Apache pour WordPress. Vous pouvez le créer avec la commande suivante :
nano /etc/httpd/conf.d/wordpress.conf
Ajoutez 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>
Enregistrez et fermez le fichier puis redémarrez le service Apache pour appliquer les modifications :
systemctl restart httpd
Vous pouvez vérifier l'état d'Apache avec la commande suivante :
systemctl status httpd
Vous devriez obtenir le résultat suivant :
? 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 vous avez terminé, vous pouvez passer à l'étape suivante.
Sécuriser WordPress avec Let's Encrypt SSL
Ensuite, vous devrez installer le client Certbot pour installer Let's Encrypt SSL pour WordPress. Vous pouvez l'installer avec la commande suivante :
dnf install epel-release -y
dnf install certbot python3-certbot-apache
Ensuite, obtenez et installez un certificat SSL pour votre domaine Lets avec la commande suivante :
certbot --apache -d wordpress.example.com
Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation :
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, vous devrez autoriser les ports 80 et 443 à travers le pare-feu. Vous pouvez les autoriser avec la commande suivante :
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
Ensuite, rechargez le pare-feu pour appliquer les modifications :
firewall-cmd --reload
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder au tableau de bord WordPress
Ensuite, ouvrez votre navigateur Web et accédez au panneau d'administration WordPress en utilisant l'URL https://wordpress.example.com . Vous serez redirigé vers la page suivante :
Sélectionnez votre langue et cliquez sur Continuer . Vous devriez voir la page de configuration du site WordPress :
Fournissez les informations de votre site et cliquez sur Installer WordPress bouton. Une fois l'installation terminée, vous devriez voir la page suivante :
Cliquez sur Connexion bouton. Vous serez redirigé vers la page de connexion de WordPress :
Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord WordPress sur la page suivante :
Conclusion
Toutes nos félicitations! vous avez installé avec succès WordPress avec Apache et Let's Encrypt SSL sur AlmaLinux 8. Vous pouvez maintenant créer facilement votre propre site Web en utilisant WordPress. N'hésitez pas à me demander si vous avez des questions.