Héberger un blog WordPress à domicile en 3 étapes

Si vous tenez un petit blog privé comme celui-ci et que vous disposez d'une connexion internet suffisamment rapide (le téléchargement est particulièrement important), vous pouvez envisager de l'héberger directement chez vous. Cela présente certains avantages, mais aussi de nouveaux défis. J'explique ici les étapes nécessaires pour accueillir 100 à 200 visiteurs par jour avec votre propre domaine depuis chez vous.

J'explique ici les étapes nécessaires pour accueillir 100 à 200 visiteurs par jour avec votre propre domaine depuis chez vous.

Engagement en temps : 3 heures et 30 minutes

Configurer un "serveur" (Nginx, PHP, MySQL sur Raspberry Pi)

Tout d'abord, le blog (dans ce cas WordPress) doit fonctionner sur un système au sein de son propre réseau. Pour que la consommation d'énergie ne gâche pas complètement les économies potentielles, j'utilise un Odroid C2, mais un Raspberry Pi ferait tout aussi bien l'affaire.

Pour les distributions Linux basées sur Debian, vous pouvez simplement suivre les instructions courantes comme celle de Spinupwp.com pour installer Nginx, PHP (j'utilise l'actuel PHP 8) et MySQL ou MariaDB. Compilez vous-même Nginx n'est pas nécessaire, car la version actuelle "mainline" est également disponible sous forme de paquetage pour ARM.

En fin de compte, WordPress devrait être accessible sous l'adresse IP du serveur dans le réseau local (dans mon cas : http://192.168.0.150) - en termes de mots de passe sécurisés, bien sûr, la même chose s'applique qu'avec un appareil sur Internet, bien que vous puissiez simplement aussi libérer l'accès à certains répertoires uniquement pour les adresses IP du réseau local.

Libérer les ports et configurer le DDNS

Pour que le serveur soit joignable, le routeur (j'utilise un Fritzbox 7590), une libération de port doit être configurée et un service DynDNS (par exemple no-ip.com) doit être utilisé pour s'assurer que l'adresse IP actuelle est connue sous un nom de domaine. Seuls le port 80 pour les connexions HTTP (nécessaire pour obtenir un certificat Let's Encrypt) et le port 443 pour les connexions HTTPS sont libérés. Les libérations de ports pour SSH ou FTP ne doivent pas être configurées, le moins de ports libérés étant le mieux.

À la fin de cette étape, la configuration de WordPress devrait être accessible à https://meine-subdomain.no-ip.com pour continuer avec Cloudflare.

Configurer Cloudflare comme CDN et caching

Cloudflare peut être utilisé gratuitement pour masquer sa propre adresse IP (particulièrement important dans cette configuration) ainsi que pour mettre en cache les demandes et soulager le serveur réel (puisqu'un Rasbperry Pi n'a pas les performances d'un vrai serveur). Il fait également office de CDN et raccourcit les temps de réponse pour les utilisateurs d'autres régions du monde.

Le sous-domaine du service DynDNS défini à l'étape 2 est maintenant stocké comme une entrée CNAME dans la configuration de Cloudflare. Résultat : mis en cache via Cloudflare, le blog est désormais diffusé par un Raspberry Pi entre vos quatre murs.

Avantages et inconvénients de l'hébergement à domicile :

Bien sûr, il y a aussi des inconvénients : d'une part, il faut alimenter un autre appareil en électricité et en Internet, et d'autre part, il faut bien sûr s'occuper soi-même du logiciel et de l'installation (mais comme avec un "vrai" serveur). D'autre part, vous pouvez suivre l'ensemble du processus qui permet à un site web d'être présent sur l'internet et ce qui est nécessaire pour cela.

Les avantages sont que vous pouvez effectuer des sauvegardes pratiquement "localement" dans votre propre réseau et économiser les quelque 5 euros par mois que coûte une petite instance chez DigitalOcean ou d'autres hébergeurs. L'hébergement web pur est disponible à moindre coût, mais si vous voulez vous occuper vous-même de la configuration de Nginx et de PHP, l'"hébergement à domicile" est une alternative viable à mon avis.d

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrançais
Retour haut de page