doganddev
Accueil Blog Boutique

WordPress sur Debian 13

DOG&DEV · 25/01/2025

Technique Firewall Nginx MySQL
WordPress sur Debian 13

WordPress sur Debian 13

Installer WordPress sur Debian 13 sans panel (LAMP ou LEMP) donne un contrôle total sur la stack. Ce guide décrit l’installation d’Apache ou Nginx, PHP, MySQL/MariaDB, le téléchargement de WordPress, la configuration de wp-config.php et les permissions.

Prérequis

  • Debian 13 (Trixie) ou Debian 12 (Bookworm) — les noms de paquets peuvent légèrement varier
  • Accès root ou sudo
  • Domaine ou IP pointant vers le serveur
  • Connexion Internet

1. Stack : LAMP ou LEMP

LAMP (Apache + MySQL + PHP)

sudo apt update
sudo apt install apache2 mariadb-server php php-mysql php-curl php-gd php-mbstring php-xml php-zip

LEMP (Nginx + MySQL + PHP-FPM)

sudo apt update
sudo apt install nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip

Pour Nginx + PHP : voir nginx-phpfpm-linux pour la config des blocs server et fastcgi_pass.

2. Base de données MySQL/MariaDB

sudo mysql_secure_installation

Créer une base et un utilisateur pour WordPress :

sudo mysql

CREATE DATABASE wp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'mot_de_passe_fort';
GRANT ALL ON wp_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3. Télécharger WordPress

cd /var/www
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo mv wordpress monsite
sudo chown -R www-data:www-data monsite

(Remplacez monsite par le nom du répertoire souhaité.)

4. Configuration wp-config.php

cd /var/www/monsite
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php

Renseigner :

  • DB_NAME : wp_db
  • DB_USER : wp_user
  • DB_PASSWORD : le mot de passe choisi
  • DB_HOST : localhost
  • table_prefix : garder wp_ ou le modifier (utile si plusieurs WP dans la même BDD)

Générer les clés de sécurité : api.wordpress.org/secret-key/1.1/salt/ et les coller dans wp-config.php à la place des valeurs d’exemple.

5. Permissions

sudo find /var/www/monsite -type d -exec chmod 755 {} \;
sudo find /var/www/monsite -type f -exec chmod 644 {} \;
sudo chown -R www-data:www-data /var/www/monsite

Pour les uploads et les mises à jour, wp-content doit être inscriptible :

sudo chmod -R 775 /var/www/monsite/wp-content

6. Serveur web : Apache

VirtualHost exemple :

<VirtualHost *:80>
    ServerName monsite.com
    DocumentRoot /var/www/monsite
    <Directory /var/www/monsite>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Activer le site, a2enmod rewrite, recharger Apache.

7. Serveur web : Nginx

Bloc server type (WP dans root et try_files vers index.php) :

server {
    listen 80;
    server_name monsite.com;
    root /var/www/monsite;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

nginx -t puis systemctl reload nginx.

8. Installation via l’assistant web

Ouvrir http://IP_ou_domaine/ : l’assistant WordPress demande titre, identifiants admin, email. Terminer l’installation, puis en production : Réglages → Général → définir Adresse WordPress et Adresse du site en https:// si vous activez SSL.

Dépannage

Symptôme Cause possible Correctif
Erreur 500 PHP, droits, .htaccess (Apache) Vérifier WP_DEBUG dans wp-config.php ; droits wp-content ; AllowOverride (Apache)
Page de configuration (db, 5 min) BDD ou wp-config incorrect Vérifier DB_* et que MySQL écoute ; recopier wp-config.php depuis l’exemple si besoin
404 sur les permaliens try_files (Nginx) ou mod_rewrite (Apache) Nginx : try_files ... /index.php?$args ; Apache : a2enmod rewrite

Bonnes pratiques

  • Activer HTTPS (Let’s Encrypt) et forcer HTTPS dans les réglages WP.
  • Mises à jour régulières du noyau, thèmes et extensions.
  • Sauvegardes (fichiers + BDD).
  • Alternative avec panel : plesk-wordpress ; stack Nginx/PHP : nginx-phpfpm-linux ; BDD : phpmyadmin-debian.

Ressources


Cet article s’inscrit dans notre série de guides hébergement et gaming. Pour un serveur sur-mesure, contact.

Commentaires (0)

Laisser un commentaire