Auto-héberger un site WordPress de façon sécurisée sans cPanel : le guide pro

Auto-héberger un site WordPress de façon sécurisée sans cPanel : le guide pro

💡 Objectif : déployer un site WordPress performant et sécurisé sur un VPS Debian/Ubuntu, sans utiliser cPanel ou autre panneau graphique.


📌 Sommaire

  • 🔍 Pourquoi s’auto-héberger sans cPanel ?
  • 🧱 Prérequis : VPS, domaine et SSH
  • 👤 Création d’un utilisateur sécurisé
  • ⚙️ Installation de la stack LEMP (NGINX, MariaDB, PHP)
  • 🔒 Sécurisation du VPS avec UFW et Fail2Ban
  • 📝 Installation de WordPress
  • 🔐 HTTPS avec Let’s Encrypt
  • 🛡️ Sécuriser WordPress
  • 💾 Sauvegardes automatiques
  • 📊 Monitoring du serveur
  • ✅ Conclusion & ressources utiles

🔍 Pourquoi s’auto-héberger sans cPanel ?

Utiliser cPanel ou Plesk, c’est pratique, mais cela :

  • Consomme plus de ressources
  • Limite vos options de configuration
  • Coûte des licences supplémentaires
  • Ne vous apprend rien sur l’admin système

🎯 En auto-hébergement sans panneau, vous obtenez plus de sécurité, de performance, et une vraie maîtrise technique.

👉 Lire aussi : Pourquoi éviter cPanel – Cloudflare


🧱 Prérequis

Vous avez besoin de :

  • Un VPS Debian 11/12 ou Ubuntu 22.04+
  • Un nom de domaine pointant vers l’IP publique (chez Gandi, OVH, etc.)
  • Un accès SSH root ou utilisateur sudo

👤 Création d’un utilisateur dédié

Créez un utilisateur non-root :

adduser wpuser
usermod -aG sudo wpuser

Désactivez l’accès root SSH :

sudo nano /etc/ssh/sshd_config

Modifiez :

PermitRootLogin no
AllowUsers wpuser

Redémarrez SSH :

sudo systemctl restart ssh

⚙️ Installation de la stack LEMP

1. Installez NGINX

sudo apt update && sudo apt install nginx

2. Installez MariaDB

sudo apt install mariadb-server
sudo mysql_secure_installation

Créez la base de données :

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp'@'localhost' IDENTIFIED BY 'motdepassefort';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp'@'localhost';
FLUSH PRIVILEGES;

3. Installez PHP

sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-imagick

🔒 Sécurisation du VPS

Pare-feu avec UFW

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Blocage d’attaques avec Fail2Ban

sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl enable fail2ban

👉 Documentation Fail2Ban


📝 Installation de WordPress

Téléchargez et installez WordPress :

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

Configurez NGINX :

sudo nano /etc/nginx/sites-available/monsite

Exemple de bloc serveur :

server {
    listen 80;
    server_name monsite.fr www.monsite.fr;

    root /var/www/monsite;
    index index.php index.html;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }

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

Activez le site :

sudo ln -s /etc/nginx/sites-available/monsite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

🔐 HTTPS avec Let’s Encrypt

Installez Certbot :

sudo apt install certbot python3-certbot-nginx

Générez votre certificat :

sudo certbot --nginx -d monsite.fr -d www.monsite.fr

Activez le renouvellement auto :

sudo systemctl enable certbot.timer

👉 Let’s Encrypt – Docs


🛡️ Sécuriser WordPress

  • Supprimez les extensions et thèmes inutilisés
  • Modifiez le préfixe wp_ à l’installation
  • Déplacez wp-config.php au-dessus de public_html
  • Appliquez des permissions strictes :
find /var/www/monsite/ -type d -exec chmod 755 {} \;
find /var/www/monsite/ -type f -exec chmod 644 {} \;

🔐 Plugin conseillé :
👉 Limit Login Attempts Reloaded


💾 Sauvegardes automatiques

Sauvegarde base de données

Créez le script :

nano /home/wpuser/scripts/backup_db.sh

Contenu :

#!/bin/bash
DATE=$(date +%F)
mysqldump -u wp -p'MOTDEPASSE' wordpress > /home/wpuser/backups/db-$DATE.sql

Ajoutez à crontab -e :

0 3 * * * /home/wpuser/scripts/backup_db.sh

Sauvegarde des fichiers WordPress

tar -czf /home/wpuser/backups/files-$(date +%F).tar.gz /var/www/monsite

📤 Pour un envoi distant : utilisez rclone


📊 Monitoring du serveur

Quelques outils utiles :

  • Netdata : monitoring en temps réel
  • Monit : redémarre vos services en cas de crash
  • Glances : monitoring en ligne de commande
  • htop : visualisation CPU/RAM simplifiée

✅ Conclusion

Vous avez maintenant un site WordPress :

  • Hébergé sur votre propre VPS
  • Sécurisé, performant et sans surcouche commerciale
  • Facilement maintenable avec des scripts simples

✨ Ce type d’installation convient aux développeurs, freelances, agences ou curieux voulant s’affranchir des hébergeurs grand public.


📎 Ressources complémentaires

 

Avatar de admin