Aller au contenu

Guide de maintenance serveur

Ce guide de maintenance fournit les tâches et procédures essentielles pour garder votre serveur WordPress sécurisé, optimisé et fonctionnel. Il s’appuie sur la documentation d’installation et de configuration du serveur et se concentre sur les activités de maintenance régulières à effectuer pour garantir la santé et les performances de votre serveur.

Le guide est organisé par fréquence de maintenance (quotidienne, hebdomadaire, mensuelle) et par composant (serveur, WordPress, base de données, etc.), ce qui facilite la création d’un calendrier de maintenance adapté à vos besoins.

  1. Vérifier les ressources système

    Surveillez l’utilisation du processeur, de la mémoire et du disque pour identifier les problèmes potentiels avant qu’ils ne deviennent critiques.

    # Vérifier l'utilisation actuelle des ressources système
    htop
    # Vérifier l'utilisation de l'espace disque
    df -h
    # Vérifier l'utilisation de la mémoire
    free -m
  2. Examiner les journaux système

    Vérifiez régulièrement les journaux système pour détecter les erreurs, avertissements ou activités inhabituelles.

    # Vérifier les journaux système
    sudo journalctl -p err..emerg --since "24 hours ago"
    # Vérifier les journaux d'authentification pour les tentatives de connexion échouées
    sudo grep "Failed password" /var/log/auth.log
  3. Surveiller le statut de Fail2ban

    Vérifiez si Fail2ban bloque activement les adresses IP malveillantes.

    # Vérifier le statut de Fail2ban
    sudo fail2ban-client status
    # Vérifier le statut d'une prison spécifique (par ex. sshd)
    sudo fail2ban-client status sshd
  1. Vérifier les mises à jour WordPress

    Vérifiez régulièrement les mises à jour du noyau WordPress, des thèmes et des extensions.

    # Accéder à votre installation WordPress
    cd /var/www/example.com/public_html
    # Vérifier les mises à jour WordPress avec WP-CLI
    sudo -u www-data wp core check-update
    sudo -u www-data wp plugin list --update=available
    sudo -u www-data wp theme list --update=available
  2. Examiner les journaux d’erreurs WordPress

    Vérifiez les journaux d’erreurs WordPress pour détecter les erreurs ou avertissements PHP.

    # Vérifier le journal d'erreurs WordPress
    sudo tail -n 100 /var/www/example.com/logs/php_errors.log
  1. Mettre à jour les paquets système

    Maintenez votre système à jour avec les derniers correctifs de sécurité.

    # Mettre à jour la liste des paquets
    sudo apt update
    # Installer les mises à jour disponibles
    sudo apt upgrade -y
    # Supprimer les paquets inutilisés
    sudo apt autoremove -y
  2. Vérifier les accès non autorisés

    Examinez les comptes utilisateurs et l’historique des connexions pour détecter tout accès non autorisé.

    # Lister tous les comptes utilisateurs
    cat /etc/passwd | grep /home
    # Vérifier l'historique des connexions
    last
    # Vérifier les tentatives de connexion échouées
    sudo grep "Failed password" /var/log/auth.log | tail -n 20
  3. Vérifier les règles du pare-feu

    Assurez-vous que les règles de votre pare-feu sont correctement configurées et actives.

    # Vérifier le statut UFW
    sudo ufw status verbose
  1. Appliquer les mises à jour WordPress

    Appliquez les mises à jour en attente du noyau WordPress, des thèmes et des extensions.

    # Accéder à votre installation WordPress
    cd /var/www/example.com/public_html
    # Mettre à jour le noyau WordPress
    sudo -u www-data wp core update
    # Mettre à jour les extensions
    sudo -u www-data wp plugin update --all
    # Mettre à jour les thèmes
    sudo -u www-data wp theme update --all
  2. Tester le fonctionnement du site

    Après avoir appliqué les mises à jour, testez votre site web pour vous assurer que tout fonctionne correctement.

    # Vérifier l'état de santé du site WordPress
    sudo -u www-data wp site health status
  1. Optimiser la base de données WordPress

    Optimisez régulièrement votre base de données WordPress pour améliorer les performances.

    # Accéder à votre installation WordPress
    cd /var/www/example.com/public_html
    # Optimiser la base de données WordPress
    sudo -u www-data wp db optimize
  2. Sauvegarder la base de données WordPress

    Créez des sauvegardes régulières de votre base de données WordPress.

    # Accéder à votre installation WordPress
    cd /var/www/example.com/public_html
    # Sauvegarder la base de données WordPress
    sudo -u www-data wp db export /var/www/example.com/backups/db-backup-$(date +%Y%m%d).sql
  1. Vérifier et optimiser l’espace d’échange (swap)

    Vérifiez que l’espace d’échange est correctement configuré et fonctionnel.

    # Vérifier le statut du swap
    sudo swapon -s
    # Si le swap n'est pas activé ou doit être recréé, suivez les instructions du guide de durcissement serveur :
    # [Server Hardening Guide - Configuring Swap Space](/server-installation-and-configurations/06-server-hardening#62-configuring-swap-space)
  2. Vérifier les paramètres d’optimisation réseau

    Vérifiez que les paramètres d’optimisation réseau sont toujours en place.

    # Vérifier les paramètres d'optimisation réseau
    sudo sysctl -a | grep -e "net.ipv4.tcp_syncookies" -e "net.core.somaxconn" -e "net.ipv4.tcp_max_syn_backlog"
    # Si les paramètres ne sont pas optimaux, suivez les instructions du guide de durcissement serveur :
    # [Server Hardening Guide - Network Layer Optimization](/server-installation-and-configurations/06-server-hardening#65-hardening-and-optimizing-the-network-layer)
  3. Vérifier les paramètres PHP OPcache

    Vérifiez que PHP OPcache est correctement configuré pour des performances optimales.

    # Vérifier les paramètres PHP OPcache
    sudo grep -r "opcache" /etc/php/8.3/fpm/pool.d/
    # Si les paramètres doivent être ajustés, suivez les instructions du guide d'optimisation WordPress :
    # [WordPress Optimization Guide - PHP OPcache](/server-installation-and-configurations/16-optimize-wordpress#166-implementing-php-opcache)
  4. Vérifier la configuration du cache

    Vérifiez que votre solution de mise en cache (FastCGI Cache ou WP Super Cache) fonctionne correctement.

    # Pour FastCGI Cache, vérifier si les fichiers de cache existent
    ls -la /var/run/SITE/
    # Tester le cache avec curl
    curl -I https://example.com
    # Pour WP Super Cache, vérifier le statut de l'extension dans WordPress
    cd /var/www/example.com/public_html
    sudo -u www-data wp plugin status wp-super-cache
  1. Exécuter des analyses de sécurité

    Effectuez des analyses de sécurité régulières pour identifier les vulnérabilités potentielles.

    # Installer et exécuter le scanner de sécurité Lynis
    sudo apt install lynis
    sudo lynis audit system
  2. Vérifier les modifications de fichiers

    Vérifiez que les fichiers critiques du système et de WordPress n’ont pas été modifiés de manière inattendue.

    # Pour les fichiers du noyau WordPress
    cd /var/www/example.com/public_html
    sudo -u www-data wp core verify-checksums
    # Pour les fichiers système, si AIDE est installé
    sudo aide.wrapper --check
  3. Examiner les permissions utilisateur

    Assurez-vous que les permissions des fichiers et répertoires sont correctement définies.

    # Vérifier les permissions des fichiers WordPress
    cd /var/www/example.com/public_html
    find . -type f -exec stat -c "%a %n" {} \; | grep -v "644"
    find . -type d -exec stat -c "%a %n" {} \; | grep -v "755"
    # Si les permissions doivent être corrigées, suivez les instructions du guide de durcissement WordPress :
    # [WordPress Security Guide - File Permissions](/server-installation-and-configurations/15-hardening-wordpress)
  1. Sauvegarde complète du système

    Créez une sauvegarde complète de votre serveur, incluant tous les fichiers et bases de données.

    # Créer un répertoire de sauvegarde s'il n'existe pas
    sudo mkdir -p /var/backups/wordpress
    # Sauvegarder les fichiers WordPress
    sudo tar -czf /var/backups/wordpress/files-backup-$(date +%Y%m%d).tar.gz -C /var/www/example.com .
    # Sauvegarder la base de données WordPress
    cd /var/www/example.com/public_html
    sudo -u www-data wp db export /var/backups/wordpress/db-backup-$(date +%Y%m%d).sql
    # Compresser la sauvegarde de la base de données
    sudo gzip /var/backups/wordpress/db-backup-$(date +%Y%m%d).sql
  2. Tester la restauration des sauvegardes

    Testez périodiquement votre processus de restauration des sauvegardes pour vous assurer que celles-ci sont valides.

    # Créer un répertoire de test
    sudo mkdir -p /var/www/backup-test
    # Extraire les fichiers dans le répertoire de test
    sudo tar -xzf /var/backups/wordpress/files-backup-$(date +%Y%m%d).tar.gz -C /var/www/backup-test
    # Vérifier que les fichiers critiques existent
    ls -la /var/www/backup-test/public_html/wp-config.php
    # Nettoyer le répertoire de test
    sudo rm -rf /var/www/backup-test
  1. Examiner et optimiser la configuration serveur

    Examinez périodiquement la configuration de votre serveur pour identifier les optimisations potentielles.

    # Vérifier la configuration Nginx
    sudo nginx -t
    # Vérifier la configuration PHP-FPM
    sudo php-fpm8.3 -t
    # Vérifier la configuration MariaDB
    sudo mysqlcheck --all-databases --check --optimize
  2. Mettre à jour les certificats SSL

    Assurez-vous que les certificats SSL sont à jour et correctement configurés.

    # Vérifier l'expiration des certificats SSL
    sudo certbot certificates
    # Renouveler les certificats si nécessaire
    sudo certbot renew --dry-run
  1. Nettoyer les révisions d’articles

    Si vous n’avez pas limité les révisions d’articles dans wp-config.php, nettoyez-les manuellement.

    # Accéder à votre installation WordPress
    cd /var/www/example.com/public_html
    # Nettoyer les révisions d'articles avec WP-CLI
    sudo -u www-data wp post delete $(wp post list --post_type=revision --format=ids) --force
  2. Supprimer les thèmes et extensions inutilisés

    Supprimez les thèmes ou extensions qui ne sont pas utilisés.

    # Lister les extensions inactives
    sudo -u www-data wp plugin list --status=inactive
    # Supprimer les extensions inactives
    sudo -u www-data wp plugin delete $(wp plugin list --status=inactive --field=name)
    # Lister les thèmes inactifs
    sudo -u www-data wp theme list --status=inactive
    # Supprimer les thèmes inactifs (sauf les thèmes Twenty* qui sont les thèmes par défaut de WordPress)
    sudo -u www-data wp theme delete $(wp theme list --status=inactive --field=name | grep -v "^Twenty")

Pour des informations plus détaillées sur des tâches de maintenance spécifiques, consultez les guides suivants :

  1. Server Hardening Guide
  2. Firewall Configuration Guide
  3. Fail2ban Guide
  4. LEMP Stack Optimization Guide
  5. WordPress Security Guide
  6. WordPress Optimization Guide

La maintenance régulière est essentielle pour garder votre serveur WordPress sécurisé, optimisé et fiable. En suivant ce guide de maintenance et en établissant un calendrier de maintenance régulier, vous pouvez prévenir de nombreux problèmes courants et garantir que votre serveur continue de fonctionner de manière optimale.

N’oubliez pas d’adapter ce guide à vos besoins spécifiques et à la configuration de votre serveur. Certaines tâches peuvent nécessiter une exécution plus ou moins fréquente en fonction de votre volume de trafic, de vos exigences en matière de sécurité et d’autres facteurs.