WordPress est un système de gestion de contenu gratuit et open source écrit en PHP et associé à une base de données MySQL ou MariaDB.
Bienvenue dans le créateur de sites Web le plus populaire au monde. 42 % du Web est construit sur WordPress.
Contenu connexe :
- Installation et configuration de Mysql Server 8 sur Centos 8
Prérequis
Pour suivre ce guide, assurez-vous que vous disposez des éléments suivants :
- Serveur Centos 8
- Accès root ou utilisateur avec accès sudo
- Nom de domaine avec des enregistrements DNS A mappés sur le serveur
- Accès Internet depuis le serveur
Table des matières
- Mise à jour du système
- Installation du serveur de base de données mysql 8
- Créer un usr mysql wordpress
- Installer le serveur Web Nginx
- Installer PHP avec des dépendances
- Configurer les paramètres PHP et PHP FPM
- Télécharger et installer WordPress
- Configurer wordpress
- Configurer Nginx pour servir le site
- Terminez l'installation de WordPress
1. Mise à jour du système
Assurez-vous que votre système est à jour avant de continuer. Utilisez la commande suivante pour mettre à jour les packages :
sudo dnf -y update
Sortie :
$ sudo dnf -y update
Last metadata expiration check: 1:18:02 ago on Tue 17 Aug 2021 11:20:55 AM UTC.
Dependencies resolved.
Nothing to do.
Complete!
2. Installez le serveur de base de données MySQL 8
Remarque : Pour voir un guide détaillé sur l'installation du serveur mysql, consultez ce guide ici.
Maintenant que le système est mis à jour, installons le serveur mysql. Mysql est disponible dans les référentiels Centos 8 en tant que mysql-server
emballer. Installez-le avec cette commande :
sudo dnf install -y mysql-server
Une fois l'installation terminée, démarrez le service à l'aide de cette commande :
sudo systemctl start mysqld
Activez le service pour qu'il démarre au démarrage :
sudo systemctl enable mysqld
Enfin, utilisez la commande d'installation sécurisée fournie par mysql pour configurer les initiales et le mot de passe de l'utilisateur mysql.
sudo mysql_secure_installation
Notez le mot de passe root.
3. Créer un utilisateur MySQL wordpress
Il est toujours recommandé de créer un utilisateur dédié à utiliser lors de la connexion à la base de données à partir de mysql. Connectez-vous en tant qu'utilisateur root et utilisez ces commandes pour créer un utilisateur :
Créer une base de données à utiliser par notre site :
create database wp_db;
Créer un utilisateur :
create user 'wp_user'@'%' identified by 'strongpass';
Accordez les privilèges d'utilisateur créés à la base de données :
grant all privileges on wp_db.* to 'wp_user'@'%';
Enregistrez maintenant la base de données, l'utilisateur et le mot de passe à utiliser lorsque nous aurons installé wordporess.
4. Installez le serveur Web Nginx
Nous utiliserons nginx pour acheminer le trafic provenant du domaine désigné vers notre site wordpress. Nous aurons besoin d'un hôte virtuel et d'un domaine déjà mappé au serveur que nous utiliserons pour servir wordpress.
Pour installer Nginx :
sudo dnf -y install nginx
Une fois l'installation terminée, démarrez Nginx et activez-le pour qu'il démarre automatiquement après un redémarrage :
systemctl start nginx
systemctl enable nginx
Vous pouvez vérifier si le serveur Web est en cours d'exécution avec cette commande :
sudo systemctl status nginx
Sortie
$ sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2021-08-17 12:40:45 UTC; 21s ago
Main PID: 70209 (nginx)
Tasks: 3 (limit: 23800)
Memory: 5.4M
CGroup: /system.slice/nginx.service
├─70209 nginx: master process /usr/sbin/nginx
├─70210 nginx: worker process
└─70211 nginx: worker process
Aug 17 12:40:45 app-server.citizix.com systemd[1]: Starting The nginx HTTP and reverse proxy server...
Aug 17 12:40:45 app-server.citizix.com nginx[70206]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Aug 17 12:40:45 app-server.citizix.com nginx[70206]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Aug 17 12:40:45 app-server.citizix.com systemd[1]: Started The nginx HTTP and reverse proxy server.
5. Installer PHP avec des dépendances
WordPress est codé en PHP. Nous aurons besoin du runtime php pour servir wordpress sur notre serveur.
WordPress fonctionne en PHP 7.4. La dernière version de php n'est pas disponible dans les référentiels Centos par défaut. Activons-le avec cette commande :
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Activez maintenant php 7.4 avec cette commande :
sudo dnf module enable php:remi-7.4
Maintenant, installons php, utilisez cette commande pour installer :
sudo dnf install -y php \
php-common \
php-mbstring \
php-gd \
php-intl \
php-xml \
php-json \
php-mysqlnd \
php-fpm
6. Configurer les paramètres PHP et PHP FPM
Les paramètres php globaux sont stockés dans le /etc/php.ini
dossier. Mettons à jour ces paramètres.
Ouvrez php.ini avec votre éditeur de texte préféré, j'utiliserai vim
sudo vim /etc/php.ini
Recherchez les éléments suivants et mettez à jour les valeurs comme indiqué ci-dessous :
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 32M
date.timezone = Africa/Nairobi
php-fpm
est responsable de servir notre contenu php, son fichier de configuration se trouve ici :/etc/php-fpm.d/www.conf
.
Ouvrez maintenant le /etc/php-fpm.d/www.conf
fichier de configuration :
sudo vim /etc/php-fpm.d/www.conf
Recherchez les directives d'utilisateur et de groupe. Apportez les modifications suivantes d'apache à nginx :
user = nginx
group = nginx
Enregistrez et fermez le fichier, puis redémarrez le service PHP-FPM pour appliquer les modifications de configuration :
sudo systemctl restart php-fpm
7. Téléchargez et installez WordPress
Maintenant que les serveurs sont configurés, téléchargeons et installons wordpress sur le serveur. La dernière version de WordPress peut être téléchargée depuis leur site officiel.
Créons un répertoire où notre contenu wordpress sera servi :
sudo mkdir /var/www/dev-citizix
Assurez-vous que le nginx
l'utilisateur est propriétaire du contenu :
sudo chown -R nginx.nginx /var/www/dev-citizix
Téléchargez le dernier contenu WordPress :
cd /tmp
curl -LO https://wordpress.org/latest.zip
Exemple de sortie :
$ curl -LO https://wordpress.org/latest.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 15.7M 100 15.7M 0 0 6650k 0 0:00:02 0:00:02 --:--:-- 6647k
$ ls
latest.zip
Extrayez et déplacez le contenu vers notre répertoire serveur :
unzip latest.zip
mv wordpress/* /var/www/dev-citizix
8. Configurer wordpress
Maintenant que le contenu wordpress a été copié dans le répertoire du site, mettons à jour la configuration de la base de données à l'aide de l'exemple de fichier fourni.
Basculer vers l'annuaire du site :
cd /var/www/dev-citizix/
Copiez votre wp-config-sample
fichier dans wp-config.php
.
cp wp-config-sample.php wp-config.php
Ouvrez le fichier de configuration dans un éditeur de texte :
vim wp-config.php
Mettez à jour ces variables :DB_NAME
, DB_USER
, DB_PASSWORD
, DB_HOST
:
<?php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'xxx' );
/** MySQL database username */
define( 'DB_USER', 'xxx' );
/** MySQL database password */
define( 'DB_PASSWORD', 'xxx' );
/** MySQL hostname */
define( 'DB_HOST', 'xxx' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
Enregistrez le fichier texte une fois que cela est fait.
Faites de l'utilisateur Nginx le propriétaire du répertoire WordPress, afin qu'il ait accès et puisse servir les fichiers.
sudo chown -R nginx:nginx /var/www/dev-citizix
9. Configurer Nginx pour servir le site
Maintenant que la configuration est en place, configurons un hôte virtuel nginx pour servir le contenu que nous venons d'ajouter à /var/www/dev-citizix
.
Créons un site virtuel dans le répertoire où nginx sert le contenu ici /etc/nginx/conf.d
:
sudo vim /etc/nginx/conf.d/dev-citizix.conf
Ajoutez le contenu suivant :
server {
listen 80;
server_name dev.citizix.com;
root /var/www/dev-citizix;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Assurez-vous que la configuration ajoutée est bonne en utilisant cette commande pour tester :
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Une fois que vous avez confirmé que tout est OK, redémarrez Nginx pour que les modifications prennent effet :
sudo systemctl restart nginx
10. Terminez l'installation de WordPress
Une fois toutes les étapes ci-dessus effectuées, l'installation à partir de la ligne de commande est terminée. Vous pouvez ouvrir votre navigateur Web préféré et le diriger vers http://dev.citizix.com. Vous devriez obtenir l'écran suivant :
De là, vous pouvez suivre les instructions pour configurer votre wordpress.
Conclusion
Nous avons réussi à configurer Centos 8 avec Mysql 8, Php 7.4 et Nginx pour servir wordpress dans ce guide.