[{"data":1,"prerenderedAt":175},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-wordpress-ma-fr":6,"promo-bar-likely":174},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-heberger-wordpress-ma-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":34,"sections":35,"ctaTitle":114,"ctaBody":115,"ctaButton":116,"ctaUrl":117,"relatedPosts":118},73,"heberger-wordpress",{"fr":10,"en":12,"ar":13,"es":14},"host-wordpress-on-your-own-vps","استضافة-wordpress-على-خادم-vps-الخاص-بك","alojar-wordpress-en-un-vps","Héberger WordPress sur votre propre VPS","Hébergez WordPress sur votre VPS pour des performances et un contrôle maximaux : Docker, MariaDB, cache, reverse proxy et SSL.",7,0,false,"2026-04-08T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[28],{"id":17,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-wordpress-poster.svg",{"categorySlug":24,"appSlug":33},"wordpress","WordPress propulse plus de 40 % du web, mais l'hébergement mutualisé bride ses performances. Sur un VPS dédié avec Docker, vous obtenez vitesse, isolation et liberté totale de configuration. Voici un déploiement robuste, sécurisé et rapide.",[36,40,50,53,78,81,84,108,111],{"type":37,"title":38,"body":39},"h2","Pourquoi auto-héberger WordPress sur un VPS","L'hébergement mutualisé partage CPU, RAM et même la base de données avec des centaines d'autres sites : votre vitesse dépend des voisins, et l'accès SSH ou la configuration fine du serveur sont souvent verrouillés. Un VPS vous donne des ressources allouées à votre machine, le contrôle total de PHP-FPM, du serveur web, du cache objet (Redis) et du cache de pages. Pour une agence qui gère plusieurs sites clients, c'est aussi la possibilité de tout isoler en conteneurs sur une seule machine, avec des sauvegardes et des déploiements maîtrisés, là où le mutualisé impose ses limites et ses surcoûts.",{"type":41,"title":42,"items":43},"ul","Les gains d'un WordPress sur VPS",[44,45,46,47,48,49],"Ressources CPU\u002FRAM allouées à votre machine : moins de ralentissements dus aux voisins","Contrôle total de PHP-FPM, du serveur web et des extensions","Cache objet Redis et cache de pages pour des temps de réponse divisés","Accès SSH\u002FWP-CLI complet pour automatiser maintenance et déploiements","Isolation par conteneur : plusieurs sites clients sur un seul VPS","Sauvegardes et règles de sécurité définies par vous, sans surcoût par site",{"type":37,"title":51,"body":52},"Prérequis réalistes","Un VPS 2 vCPU \u002F 2 Go de RAM tient confortablement un site WordPress avec un trafic modéré ; passez à 4 Go avec Redis, WooCommerce ou plusieurs sites. Il vous faut Docker + Compose, une base MariaDB ou MySQL, idéalement Redis pour le cache objet, et un domaine `votredomaine.com` avec son certificat SSL. Prévoyez un peu de réglage PHP (`upload_max_filesize`, `memory_limit`) selon vos médias et extensions.",{"type":54,"title":55,"steps":56},"steps","Déploiement pas à pas",[57,60,63,66,69,72,75],{"title":58,"body":59},"Composer WordPress, MariaDB et Redis","Dans `docker-compose.yml`, déclarez `wordpress:php8.3-fpm` ou `wordpress:apache`, un service `mariadb:11` et `redis:alpine`. Persistez `wp-content` et la base dans des volumes nommés, sur un réseau Docker interne.",{"title":61,"body":62},"Renseigner la base et les secrets","Passez `WORDPRESS_DB_*` et des mots de passe forts via variables d'environnement. Ajoutez les clés de sécurité (salts) générées depuis l'API officielle WordPress dans `WORDPRESS_CONFIG_EXTRA`.",{"title":64,"body":65},"Lancer et installer WordPress","Démarrez avec `docker compose up -d` puis ouvrez votre domaine pour l'assistant d'installation. Mieux : automatisez via WP-CLI (`wp core install`) pour des déploiements reproductibles d'un site à l'autre.",{"title":67,"body":68},"Placer le reverse proxy et le SSL","Configurez Nginx\u002FCaddy en HTTPS devant WordPress. Ajustez `client_max_body_size` pour les uploads, activez la compression gzip\u002Fbrotli et le cache des assets statiques (images, CSS, JS) avec des en-têtes `Cache-Control` longs.",{"title":70,"body":71},"Activer le cache objet Redis","Installez un plugin de cache objet (ex. Redis Object Cache), pointez-le vers le service `redis`, et activez-le : les requêtes répétées à la base sont servies depuis la mémoire, allégeant fortement MariaDB.",{"title":73,"body":74},"Durcir et sauvegarder","Désactivez l'édition de fichiers dans l'admin (`DISALLOW_FILE_EDIT`), limitez les tentatives de connexion, et planifiez une sauvegarde nocturne de `wp-content` + dump SQL vers un stockage objet distant.",{"title":76,"body":77},"Se connecter la première fois","Ouvrez l'URL du site : WordPress lance son installation en 5 minutes — langue, titre du site, puis création de VOTRE identifiant administrateur avec le mot de passe et l'e-mail de votre choix. Terminez-la sans attendre, une installation inachevée est offerte au premier visiteur.",{"type":79,"body":80},"tip","Pour des performances qui rivalisent avec les plateformes managées les plus rapides, ajoutez un cache de pages complet en amont de PHP : un plugin générant des fichiers HTML statiques servis directement par Nginx (via `try_files`), ou un module FastCGI cache. Vos pages publiques ne touchent alors plus du tout PHP ni MariaDB, ce qui permet à un VPS modeste d'encaisser des milliers de visiteurs simultanés, tout en gardant le back-office et le panier (WooCommerce) exclus du cache.",{"type":37,"title":82,"body":83},"Alerte PHP du 21\u002F10\u002F2026 (PHP2Shell) : mettre à jour WordPress ne corrige pas PHP","Le 21 octobre 2026, le projet PHP a publié des versions de sécurité pour deux failles d'exécution de code à distance, CVE-2026-109618 et CVE-2026-109619. Le correctif se trouve dans PHP lui-même : les versions corrigées sont 8.5.12, 8.4.27, 8.3.36 et 8.2.35. Votre WordPress peut donc être à jour (cœur, thèmes, extensions) tout en tournant sur un PHP vulnérable, puisque le tableau de bord de mises à jour ne touche jamais à l'interpréteur. Avec la stack de cet article, PHP vit dans l'image Docker `wordpress` : tant que vous n'avez pas récupéré une image reconstruite sur une version corrigée et recréé le conteneur, la faille reste ouverte. Pour le détail des deux failles, lisez l'article php2shell-cve-2026-109618-109619-mettre-a-jour-php ; pour la reconstruction des images, php2shell-docker-wordpress-reconstruire-images-php.",{"type":54,"title":85,"steps":86},"Vérifier puis corriger en cinq gestes",[87,90,93,96,99,102,105],{"title":88,"body":89},"Lire la version PHP réellement servie","Le plus fiable est dans WordPress : Outils > Santé du site > Infos > Serveur affiche la version PHP qui exécute vos pages. Sur un VPS sans Docker, méfiez-vous de `php -v` : il interroge le binaire en ligne de commande, qui peut être une autre version que celle de PHP-FPM, laquelle sert vos visiteurs. Interrogez le service lui-même avec `php-fpm -v` (ou `php-fpm8.3 -v` sur Debian et Ubuntu).",{"title":91,"body":92},"Contrôler la version dans le conteneur","Avec Docker, lancez `docker compose exec wordpress php -v` : l'image embarque un seul PHP, donc ce résultat vaut pour le FPM ou le mod_php du conteneur. Comparez-le aux versions corrigées ci-dessus, en gardant la même branche (8.3.x doit atteindre 8.3.36, pas 8.4.27).",{"title":94,"body":95},"Récupérer l'image à jour","Exécutez `docker compose pull && docker compose up -d`. Le pull télécharge la dernière image publiée pour votre tag (par exemple `wordpress:php8.3-fpm`), et `up -d` recrée le conteneur dessus. Vos volumes nommés conservent `wp-content` et la base. Si `php -v` affiche encore une ancienne version, l'image corrigée n'est pas encore publiée pour ce tag : revenez-y plus tard, ou changez de branche PHP si votre site la supporte.",{"title":97,"body":98},"Redémarrer PHP-FPM","Une mise à jour de paquet ou de fichiers ne change pas le code déjà chargé par les processus en cours. Sur un serveur classique, redémarrez le service avec `systemctl restart php8.3-fpm` (adaptez le numéro de version) ; avec Docker, la recréation du conteneur suffit, sinon `docker compose restart wordpress`. Un simple reload est moins sûr qu'un restart pour être certain que tous les workers sont renouvelés.",{"title":100,"body":101},"Chercher des traces d'exploitation","Une mise à jour ferme la porte, elle ne dit pas si quelqu'un est déjà entré. Parcourez les journaux d'accès et d'erreur de Nginx ou d'Apache (`docker compose logs --since 72h wordpress` avec Docker) à la recherche de plantages de workers PHP-FPM, de messages « out of memory » répétés et de requêtes inhabituelles de gros volume. Dans `wp-content`, listez les fichiers `.php` modifiés récemment avec `find wp-content -name '*.php' -mtime -7`, surtout dans `uploads`, où aucun script ne devrait se trouver. Au moindre doute, restaurez depuis une sauvegarde saine et changez les mots de passe et les salts.",{"title":103,"body":104},"Automatiser le contrôle avec WP-CLI et cron","Notez que `wp --info` renvoie la version du PHP en ligne de commande, pas celle de PHP-FPM : gardez-le pour les scripts, pas pour juger l'exposition web. Planifiez plutôt une tâche cron hebdomadaire qui exécute `docker compose pull` puis compare le résultat de `docker compose exec wordpress php -v` à la version attendue, et vous prévient par e-mail en cas d'écart. Ainsi, la prochaine alerte de sécurité PHP ne dépend plus de votre mémoire.",{"title":106,"body":107},"Vérifier de nouveau","Rouvrez Santé du site et relancez `php -v` dans le conteneur : les deux doivent afficher une version corrigée. Notez la date de l'opération dans votre journal de maintenance, et recommencez à chaque nouvelle publication de sécurité PHP.",{"type":79,"title":109,"body":110},"Atténuation partielle, pas un correctif","Pour CVE-2026-109619, l'avis PHP indique de désactiver `session.upload_progress.enabled` dans le `php.ini` ou le pool FPM, puis de redémarrer tous les workers ; `ini_set()` et `.user.ini` ne suffisent pas. Cela réduit l'exposition le temps de planifier la mise à jour, mais seule la mise à jour de PHP corrige réellement les deux failles.",{"type":79,"title":112,"body":113},"La documentation officielle","Pour la configuration avancée et les options propres à l'outil, référez-vous à la \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fdocumentation\" target=\"_blank\" rel=\"noopener noreferrer\">documentation officielle de WordPress\u003C\u002Fa>. Ce guide couvre la mise en ligne sur VPS ; la doc éditeur reste la référence pour les réglages fins, les mises à jour majeures et les cas d'usage spécifiques.","WordPress rapide, sur votre VPS","Le VPS Cloud ServOrbit vous donne des ressources chiffrées par offre, du SSD et Docker pour un WordPress bien plus rapide que le mutualisé. Template optimisé Redis + cache inclus.","Accélérer mon WordPress","\u002Fvps-cloud",[119,138,156],{"id":120,"slug":121,"slugs":122,"title":126,"excerpt":127,"readTime":128,"views":129,"isPinned":19,"noindex":19,"publishedAt":130,"updatedAt":131,"category":132,"categories":133,"featuredImage":29,"bgImage":30,"posterImage":135,"relatedSolution":136},71,"heberger-nextcloud",{"fr":121,"en":123,"ar":124,"es":125},"hosting-nextcloud-on-your-own-vps","استضافة-nextcloud-على-خادمك-الـvps-الخاص","alojar-nextcloud-en-su-propio-vps","Héberger Nextcloud sur VPS : guide NC 35, PHP 8.3 et MariaDB 11","Hébergez Nextcloud sur VPS : Docker Compose, Redis, sauvegarde MariaDB, envois de plus de 40 Go derrière Cloudflare et alternative à Office 2021.",20,1,"2026-04-10T00:00:00+00:00","2026-11-08T16:32:50+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[134],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-nextcloud-poster.svg",{"categorySlug":24,"appSlug":137},"nextcloud",{"id":139,"slug":140,"slugs":141,"title":145,"excerpt":146,"readTime":147,"views":129,"isPinned":19,"noindex":19,"publishedAt":148,"updatedAt":149,"category":150,"categories":151,"featuredImage":29,"bgImage":30,"posterImage":153,"relatedSolution":154},72,"heberger-ghost",{"fr":140,"en":142,"ar":143,"es":144},"hosting-ghost-on-your-own-vps","استضافة-ghost-على-خادمك-الـvps-الخاص","alojar-ghost-en-un-vps","Héberger Ghost sur VPS : guide complet 2026","Déployez Ghost v6 sur votre VPS avec Caddy, MySQL, Ghost CLI et Stripe Tax : installation, reverse proxy TLS, mise à jour et dépannage des erreurs fréquentes.",10,"2026-04-09T00:00:00+00:00","2026-11-04T16:30:25+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[152],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-ghost-poster.svg",{"categorySlug":24,"appSlug":155},"ghost",{"id":157,"slug":158,"slugs":159,"title":163,"excerpt":164,"readTime":165,"views":129,"isPinned":19,"noindex":19,"publishedAt":166,"updatedAt":131,"category":167,"categories":168,"featuredImage":29,"bgImage":30,"posterImage":170,"relatedSolution":171},74,"heberger-gitea",{"fr":158,"en":160,"ar":161,"es":162},"host-gitea-on-your-own-vps","استضافة-gitea-على-خادم-vps-الخاص-بك","alojar-gitea-en-un-vps","Héberger Gitea sur votre propre VPS en 2026","Déployez Gitea 1.25 sur VPS avec Docker et SSL. Guide : Gitea Actions CI\u002FCD, comparatif Gitea vs Forgejo v16, administration quotidienne, dépannage SSH et HTTPS.",13,"2026-04-07T00:00:00+00:00",{"id":17,"name":23,"slug":24,"color":25,"icon":26},[169],{"id":17,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-gitea-poster.svg",{"categorySlug":172,"appSlug":173},"developpement","gitea",true,1794270735874]