Close-up of the Pi logo on a first-generation Pi SBC.
Agence web » Actualités du digital » Comment configurer un site Web sur un Raspberry Pi

Comment configurer un site Web sur un Raspberry Pi

Voulez-vous démarrer votre propre site Web sans payer quelqu'un d'autre pour l'héberger? Vous avez de la chance! Il est en fait facile d'héberger un site Web sur un Raspberry Pi, et vous pouvez avoir votre site opérationnel ce week-end.

Vous n'avez pas besoin du dernier PI pour héberger votre site Web

Bien que vous puissiez penser que vous avez besoin d'un Raspberry Pi 5 pour exécuter un site Web, vous pouvez réellement vous en sortir avec l'hébergement des choses sur un système beaucoup plus ancien.

Personnellement, j'ai un PI 3B déployé dans ma pile réseau en tant qu'hôte Web. Bien que ce ne soit certainement pas le plus rapide, il a facilement géré la gestion de mon blog fantôme. Cependant, un PI 4 serait probablement une meilleure option car il a un peu plus de puissance pour démarrer les choses plus rapidement. Vraiment, toute génération de Raspberry Pi (en dehors de la ligne zéro) est parfaite pour héberger un petit site Web.

Si vous souhaitez passer à un site Web plus grand ou avoir la capacité d'avoir des milliers d'utilisateurs simultanés sur le site, vous aurez besoin de plus de puissance. Cependant, pour quelque chose de petit qui ne fait que commencer, à peu près n'importe quel PI fera l'affaire.

Docker est votre base d'opérations

Docker va être ce qui gère l'intégralité du site Web et de tous les services sur votre Raspberry Pi. Heureusement, c'est assez facile à installer.

En rapport

Docker pour les débutants: tout ce que vous devez savoir

Apprenez à utiliser cet outil de développement incroyablement populaire.

Je vais supposer que vous commencez par un Raspberry Pi en actions exécutant Raspberry Pi OS, car c'est ce que je recommande d'exécuter des tâches de serveur Web sur votre PI.

Pour être opérationnel, vous commencerez par installer Docker sur votre Raspberry Pi, ce qui est assez simple. Suivez simplement les instructions d'installation Debian pour Docker, et vous serez en cours d'exécution en un rien de temps.

Ensuite, je recommande le déploiement de Portainer. Je préfère personnellement l'exécution de Portainer pour mes hôtes docker car cela facilite la gestion, mais vous pouvez ignorer cette étape si vous souhaitez vous en tenir à l'utilisation de la composition traditionnelle de Docker via la ligne de commande.

Pour déployer réellement votre site Web, j'ai construit un fichier Docker Compose pratique qui a tout ce dont vous avez besoin. Le fichier Compose déploiera Nginx Proxy Manager, DDClient, Ghost et une base de données MySQL pour Ghost à utiliser, configurant tout en dehors de vos propres touches ou mots de passe API automatiquement.

Il y a quelques éléments clés qui doivent être modifiés dans le fichier Docker Compose pour qu'il fonctionne, cependant, ce qui sera expliqué au fur et à mesure que je passe par l'article.

Choisissez votre nom de domaine

Avant de déployer réellement votre site Web ou le fichier Docker Compose, vous devrez choisir un domaine, si vous ne l'avez pas déjà fait.

Il existe de nombreux registraires de domaine, mais celui que j'utilise exclusivement ces jours-ci est CloudFlare. J'utilisais des domaines Google et j'ai même essayé NameCheap lorsque les domaines Google ont fermé. Cependant, j'ai atterri sur CloudFlare pour un certain nombre de raisons, dont l'une est le service DNS dynamique gratuit qu'il fournit.

Alors, dirigez-vous vers CloudFlare et prenez ce domaine que vous avez regardé. Ou, si vous avez déjà un domaine, cela fonctionne aussi!

Configurez DNS dynamique pour votre nouveau domaine

Quel que soit le domaine dont vous disposez pour prendre en charge DNS dynamique. Ce que DNS dynamique fait est de mettre à jour automatiquement l'adresse IP de votre domaine si votre adresse IP change.

En rapport

Qu'est-ce que DNS dynamique (DDNS), et comment le configurez-vous?

Dynamic DNS est un hack geek old school qui est toujours aussi utile.

Selon qui est votre fournisseur de services Internet, votre adresse IP peut ne pas changer pendant des années (comme la mienne sur AT&T Fibre), ou elle pourrait changer quotidiennement (comme Internet à domicile 5G de Straight Talk). Quel que soit votre FAI, vous voudrez une configuration DNS dynamique déployée.

La façon dont cela fonctionne est qu'un programme s'exécute sur un ordinateur ou un serveur dans votre maison et se connecte à l'API de votre registraire de domaine, poussant l'adresse IP de votre maison en tant qu'enregistrement DNS pour votre domaine chaque fois qu'il change.

CloudFlare le prend en charge nativement via son API d'édition basée sur des zones. Pour cela, j'ai inclus le conteneur DDClient Docker dans le fichier Docker Compose pour mettre votre site Web en cours d'exécution. Cependant, le conteneur DDClient fonctionne également avec un certain nombre d'autres fournisseurs de domaines, donc si vous n'utilisez pas CloudFlare, vérifiez si le vôtre est répertorié.

La configuration de DDClient est assez facile. Vous voudrez commencer par sélectionner d'abord le domaine dans CloudFlare, puis en cliquant sur « Obtenez vos jetons API » en bas à droite de l'écran.

Sur la page qui apparaît, créez un nouveau jeton API qui est capable de modifier les DNS de zone pour le domaine que vous souhaitez mettre à jour. Cela vous donnera la clé API, que vous entrerez ensuite dans le ddclient.conf déposer. J'ai fourni un exemple de fichier à utiliser sur mon github.

À l'intérieur du fichier ddclient.conf, vous ajouterez également votre domaine et toutes les entrées que vous souhaitez mettre à jour. Par défaut, il ne fait que mettre à jour le @ Entrée de votre domaine, qui est la racine (donc votredomain.com). Cependant, vous pouvez également ajouter d'autres sous-domaines ici que vous voudrez peut-être utiliser, comme www, blog, magasinou autre chose.

Ninx Proxy Manager gère le routage de votre site Web et les certificats SSL

Nginx Proxy Manager est la façon dont vous allez gérer le routage du trafic Web vers le conteneur Ghost Docker.

Une fois Nginx Proxy Manager déployé, vous ajouterez simplement un nouvel hôte proxy avec le domaine que vous souhaitez, l'adresse IP de votre Raspberry Pi et le port sur lequel Ghost fonctionne. Le port 2368 est la valeur par défaut.

Assurez-vous de cliquer sur l'onglet SSL et de générer un nouveau certificat SSL pour votre site Web. Ceci est crucial pour fournir une navigation sécurisée à vos visiteurs.

Ghost est la meilleure plate-forme de site Web débutant

Bien qu'il existe de nombreuses plateformes de blogs et de sites Web, je recommande fortement de commencer par Ghost. Il est léger, facile à déployer et simple à utiliser. J'ai construit de nombreux sites Web au fil des ans, et Ghost est mon go-to personnel maintenant.

Ghost utilise le langage Markdown pour écrire à la fois des pages et des messages, et c'est une des raisons pour lesquelles j'aime vraiment l'utiliser. Vous n'avez pas à utiliser Markdown, car il est possible de formater les publications en ligne. Cependant, il est juste plus rapide de taper ## si vous voulez une rubrique H2, etc.

Ghost est également extrêmement léger et rapide. Il n'y a pas une tonne de plugins pour alourdir votre site comme avec d'autres plateformes, et il est vraiment conçu pour faire une chose et bien faire: être un site Web. Il n'y a pas de portion de commerce électronique, et vous ne pouvez pas transformer Ghost en forum.

Cependant, il y a une chose que Ghost fait différemment, ce qui le fait vraiment briller: les abonnements. Ghost est conçu pour être un blog ou un site Web, mais aussi un site membre. Vous pouvez le configurer avec Stripe et offrir différents niveaux d'adhésion pour développer votre base d'abonnés. Pensez-y comme sous-dos ou Patreon, mais hébergé sur votre propre serveur.

Ce n'est que l'une des raisons pour lesquelles j'aime le fantôme. L'option pour les abonnements est là si vous le souhaitez, mais ce n'est pas nécessaire si vous n'en avez pas besoin. Personnellement, je construis deux sites Web qui exploiteront la partie abonnements des abonnements de Ghost, et je pense que c'est une force massive pour la plate-forme.

Avant de finaliser votre pile et de déployer votre serveur, vous devez effectuer quelques ajustements de dernière minute dans le fichier Compose.

Pour commencer, mettez à jour le Variable d'environnement URL du conteneur Ghost-Server pour être l'URL de votre site Web. Vous voudrez également générer un mot de passe de base de données réellement sécurisé et une entrée serveur fantôme et fantôme-DB conteneurs.

Une fois que vous avez obtenu votre ddclient.conf Fichier tous fixes et mettez à jour le fichier Docker Compose avec votre site Web fantôme et les informations de base de données, vous êtes prêt à partir!

Je veux dire que cette partie peut prendre un certain temps. J'ai déployé mon site fantôme sur mon Raspberry Pi 3 B, et il a fallu environ 15 à 20 minutes avant qu'il ne soit complètement opérationnel. La base de données MySQL en particulier a mis un certain temps à se lancer et à être pleinement prête. Donc, donnez-lui simplement du temps une fois que vous le déployez et utilisez ce temps pour finaliser certaines choses dans votre réseau.

Assurez-vous que le transfert de port est configuré sur votre routeur

Afin d'accéder à votre site Web depuis l'extérieur de votre réseau local, vous devrez ouvrir quelques ports sur votre routeur.

Pour accéder à votre nouveau site Web auto-hébergé, nous allons nous concentrer sur deux ports: 80 et 443. La façon dont vous ouvrez ces ports varie du routeur au routeur et, selon votre FAI, peut ne pas être possible.

En rapport

Comment faire avancer sur votre routeur

Apprenez à transmettre les ports en toute sécurité et sans vous exposer.

Cependant, une fois que vous arrivez à la zone de transfert de port de votre routeur, voici ce que vous voudrez faire.

Configurez le Port externe 80 pour transmettre à Port interne 8080et le Port externe 443 pour transmettre à Port interne 4443. Ce sont les deux ports utilisés par Nginx Proxy Manager, et c'est ainsi que vous pourrez réellement accéder à votre site Web depuis l'extérieur de votre réseau local.


C'est ça! Si vous avez suivi ce guide, votre site Web devrait maintenant être en direct! À ce stade, vous voudrez passer et commencer à personnaliser le thème fantôme, à construire vos pages et à trouver vos niveaux d'abonnement – si c'est quelque chose que vous souhaitez faire.

Maintenant, consultez ces sept conteneurs Docker qui alimentent mon réseau domestique. Si vous hébergez votre propre site Web, l'un de mes services préférés à déployer sur mon réseau est la hausse de Kuma, car cela peut aider à surveiller le temps de disponibilité de votre site Web sans payer quelqu'un d'autre pour le surveiller pour vous.

★★★★★