WordPress est un systÚme de gestion de contenu (CMS) open source trÚs populaire. Il est utilisé pour créer et gérer des sites web. Il vous offre une interface conviviale et des fonctionnalités puissantes qui vous permettent de créer et de personnaliser facilement votre site web sans avoir à coder.
Source : https://technologie-geek.fr/comment-installer-wordpress-sur-debian/#Pr%C3%A9requis
WordPress est basĂ© sur le langage de programmation PHP et utilise une base de donnĂ©es SQL pour stocker les informations de votre site. Lâinstallation de WordPress sur Debian est entiĂšrement personnalisable grĂące Ă des thĂšmes et des plugins, ce qui vous permet de modifier lâapparence et les fonctionnalitĂ©s de votre site selon vos besoins.
Mettre Ă jour jour Debian :
apt update && apt upgrade
Installer la pile LAMP (Linux, Apache, MariaDB, PHP 8.2)
apt install apache2 mariadb-server php8.2 php8.2-cli php8.2-common php8.2-imap php8.2-redis php8.2-snmp php8.2-xml php8.2-mysqli php8.2-zip php8.2-mbstring php8.2-curl libapache2-mod-php unzip openssl
Maintenant que les logiciels pour lâinstallation de WordPress sur Debian sont dĂ©ployer, il faut vĂ©rifier leurs fonctionnements en utilisant les codes suivants et la touche « q » pour quitter si besoin :
systemctl status apache2 && systemctl status mariadb && php -v
Vous devez Ă©galement dĂ©finir une directive globale « ServerName », cela vous Ă©vitera une erreur « AH00558: Could not reliably determine the serverâs fully qualified domain name ». Le message est principalement Ă titre informatif et une erreur « AH00558 » nâempĂȘchera pas Apache de fonctionner correctement. Rendez-vous Ă la fin du fichier « etc/apache2/apache2.conf » pour ajouter la directive « ServerName 127.0.0.1 ».
nano /etc/apache2/apache2.conf
ServerName 127.0.0.1

Protection de votre base de données et certificat SSL auto-signé sur Debian :
Tout dâabord, mĂȘme en local la sĂ©curitĂ© est importante ! Vous pourriez Ă©galement vouloir ouvrir un accĂšs pour travailler de lâextĂ©rieur, donc il faut protĂ©ger votre installation ainsi que vos connexions.
Pour cela, a lâinstallation de WordPress sur Debian, vous devez sĂ©curiser votre base de donnĂ©es. Lancer la commande ci-dessous et rĂ©pondez aux questions.
La commande « mysql_secure_installation » vous sert pour sĂ©curiser lâinstallation de MySQL ou mariadb. Elle met en place des mesures de sĂ©curitĂ© telles que la dĂ©finition dâun mot de passe pour lâutilisateur root, la suppression des utilisateurs anonymes, mais elle dĂ©sactive aussi lâaccĂšs Ă distance pour lâutilisateur root et supprime la base de donnĂ©es de test.
mysql_secure_installation
Lors de lâinstallation de WordPress sur Debian, nous allons mettre en place un certificat SSL auto-signĂ© pour une durĂ©e de 10000 jours. Le certificat est créé dans le dossier « etc/ssl ».
Un certificat SSL auto-signĂ© est un certificat de sĂ©curitĂ© Ă©mis par lâutilisateur lui-mĂȘme, sans lâapprobation dâune autoritĂ© de certification reconnue. En consĂ©quence, les navigateurs web afficheront un avertissement de sĂ©curitĂ© lorsquâils rencontrent un tel certificat, car ils ne peuvent pas vĂ©rifier son authenticitĂ©. MalgrĂ© cela, un certificat SSL auto-signĂ© peut ĂȘtre utilisĂ© pour sĂ©curiser les connexions.
Lors de la demande du nom de domaine, vous devez mettre lâadresse IP de votre serveur.
openssl req -x509 -nodes -days 10000 -newkey rsa:2048 -keyout /etc/ssl/private/wp-selfsigned.key -out /etc/ssl/certs/wp-selfsigned.crt

Création base de données et utilisateur :
Dâautre part, il faut crĂ©er un base de donnĂ©es ainsi quâun utilisateur « WordPress ». Vous pouvez vous connecter sur mariadb en utilisant la commande « mysql ».
mysql
Pour continuer votre installation de WordPress sur Debian, une fois connectĂ©, passer les commandes ci-dessous une aprĂšs lâautre en mettant votre mot de passe.
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'votre-mot-de-passe';
CREATE DATABASE wordpress; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Préparation de WordPress sur Debian :
Ensuite, vous devez tĂ©lĂ©charger WordPress, mais aussi dĂ©compresser lâarchive. Rendez-vous dans le dossier « var/www/html ».
cd var/www/html
Enfin, passer les codes suivants. La derniĂšre version de WordPress est tĂ©lĂ©chargĂ© et un rĂ©pertoire « wordpress » est créé avec lâarchive dĂ©compresser Ă lâintĂ©rieur.
wget https://wordpress.org/latest.zip && unzip latest.zip
Propriétaire, groupes et permissions :
Vous devez modifier le propriétaire ainsi que le groupe et les permissions du dossier et des fichiers en utilisant deux commandes :
La commande « chown » qui permet de changer le propriĂ©taire et le groupe dâun fichier ou dâun rĂ©pertoire. Elle est trĂšs utile pour gĂ©rer les permissions et les droits dâaccĂšs des fichiers. En effet, vous pouvez attribuer des droits spĂ©cifiques Ă un utilisateur ou Ă un groupe.
Dâautre part, la commande « chmod » pour changer les permissions des fichiers ou rĂ©pertoires. Elle permet de dĂ©finir qui peut lire, Ă©crire ou exĂ©cuter un fichier. On peut attribuer des permissions aux propriĂ©taires, aux groupes ou aux autres utilisateurs. Ainsi, on peut contrĂŽler lâaccĂšs aux fichiers et assurer la sĂ©curitĂ© des donnĂ©es.
- PremiÚrement, il faut modifier le propriétaire du dossier « wordpress » créer précédemment.
chown -R www-data:www-data wordpress
DeuxiĂšmement, modification des permissions de lecture et dâĂ©criture des fichiers et dossiers dans le rĂ©pertoire « wordpress ». Passer les commandes ci-dessous une aprĂšs lâautre.
cd wordpress
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Configuration de lâinstallation de WordPress sur Debian :
Ensuite, pour paramĂ©trer lâinstallation de WordPress sur Debian, vous devez Ă©diter le fichier « wp-config.php ». Un exemple de configuration se trouve dans le dossier sous le nom de « wp-config-sample.php ». Il faut copier et ouvrir le fichier avec le code suivant.
mv wp-config-sample.php wp-config.php && nano wp-config.php
Pour terminer, vous devez modifier le nom de la base, lâidentifiant ainsi que le mot de passe.
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** Database username */
define( 'DB_USER', 'wordpress' );
/** Database password */
define( 'DB_PASSWORD', 'votre-mot-de-passe' );

Configuration dâun « virtual host » apache2 sur Debian :
Un « virtual host », est un mĂ©canisme permettant Ă un serveur Apache de gĂ©rer plusieurs sites web sur une seule machine. Chaque « vhost » est configurĂ© avec des paramĂštres spĂ©cifiques tels que le nom de domaine, le rĂ©pertoire racine du site et les options de sĂ©curitĂ©. Les « vhost » permettent Ă©galement dâoptimiser les performances du serveur en isolant chaque site web dans son propre environnement. Cela permet de mieux gĂ©rer les ressources et dâĂ©viter les conflits entre les diffĂ©rents sites hĂ©bergĂ©s.
PremiÚrement, vous devez vous rendre dans le dossier « etc/apache2/sites-available » et créer un fichier « wordpress.conf ». Enfin, coller le code ci-dessous.
cd / && cd etc/apache2/sites-available
nano wordpress.conf
<VirtualHost *:80>
ServerName ip-de-votre-serveur
Redirect "/" "https://ip-de-votre-serveur/"
</VirtualHost>
<VirtualHost *:443>
ServerName ip-de-votre-serveur
DocumentRoot /var/www/html/wordpress
<Directory /var/www/html/wordpress>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/wp-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/wp-selfsigned.key
</VirtualHost>
Modules, site et redĂ©marrage dâapache2 :
Pour terminer lâinstallation de WordPress sur Debian, il ne vous reste plus quâĂ activer les modules nĂ©cessaires, le « vhost » ainsi que redĂ©marrer votre serveur. Ensuite, rendez-vous Ă lâadresse IP de votre installation, pour ma part « https://192.168.xxx.xxx ».
a2enmod rewrite && a2enmod ssl && a2ensite wordpress.conf && reboot
