Descriptions préliminaires
WordPress
WordPress est un système de gestion de contenu (CMS) open-source qui permet de créer facilement des sites web et des blogs. Il est écrit en PHP et utilise une base de données MySQL ou MariaDB pour stocker ses données.
PHP
PHP (Hypertext Preprocessor) est un langage de programmation côté serveur, utilisé principalement pour le développement web dynamique.
MySQL / MariaDB
MySQL est un système de gestion de base de données relationnelle (SGBDR) open-source.
MariaDB est un fork de MySQL, totalement compatible, créé pour rester libre après l’acquisition de MySQL par Oracle. Sur Debian, MariaDB est généralement installé à la place de MySQL.
Installation de WordPress sur Debian 12
1. Mettre à jour le système
sudo apt update sudo apt upgrade -y
2. Installer Apache
sudo apt install apache2 -y
Vérification :
sudo systemctl status apache2
Résultat attendu : Le service doit être actif (active (running)).
3. Installer PHP
sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip unzip php-imagick imagemagick -y
Vérification :
php -v
Résultat attendu : La version de PHP installée s'affiche.
4. Installer MariaDB
sudo apt install mariadb-server -y
Vérification :
sudo systemctl status mariadb
Résultat attendu : Le service doit être actif (active (running)).
5. Sécuriser MariaDB
sudo mysql_secure_installation
Réponses recommandées et explications :
- Enter current password for root (enter for none): Appuie sur Entrée (pas de mot de passe par défaut).
- Switch to unix_socket authentication [Y/n]: Y (améliore la sécurité locale).
- Change the root password? [Y/n]: Y (définis un mot de passe root sécurisé).
- Remove anonymous users? [Y/n]: Y (supprime les utilisateurs anonymes).
- Disallow root login remotely? [Y/n]: Y (empêche la connexion root distante).
- Remove test database and access to it? [Y/n]: Y (supprime la base de test).
- Reload privilege tables now? [Y/n]: Y (applique immédiatement les changements).
6. Créer un utilisateur et une base de données MariaDB
sudo mariadb
Dans la console MariaDB :
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere'; CREATE DATABASE wordpress; GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost'; FLUSH PRIVILEGES; EXIT;
Explications :
CREATE USER: crée l'utilisateur "wordpress" avec un mot de passe sécurisé.CREATE DATABASE: crée la base de données nommée "wordpress".GRANT ALL PRIVILEGES: donne tous les droits à l'utilisateur sur la base de données.FLUSH PRIVILEGES: recharge les privilèges pour appliquer les changements.EXIT;: quitte la console MariaDB.
7. Télécharger WordPress
cd /var/www/html sudo wget https://wordpress.org/latest.zip sudo unzip latest.zip sudo rm latest.zip
8. Configurer wp-config.php
Ouvre le fichier wp-config.php et entre tes identifiants de base de données.
cd wordpress cp wp-config-sample.php wp-config.php nano wp-config.php
Il devrait contenir :
// ** 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', 'YourStrongPasswordHere' );
9. Configurer les permissions
sudo chown -R www-data:www-data wordpress/
cd wordpress/
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;
10. Configurer Apache pour WordPress
sudo nano /etc/apache2/sites-available/wordpress.conf
Ajoute :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/wordpress
ServerName ton_domaine_ou_ip
<Directory /var/www/html/wordpress/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
11. Activer le site et le module rewrite
sudo a2ensite wordpress sudo a2enmod rewrite sudo systemctl reload apache2
12. Finaliser l'installation via le navigateur
Accède à http://ton_domaine_ou_ip et complète l'installation WordPress.


