Comment créer votre propre serveur Web Caddy sous Linux

Comment créer votre propre serveur Web Caddy sous Linux
Photographie d'un écran d'ordinateur posé sur une table avec un rétroéclairage vert.

Caddy est un serveur Web moderne et facile à utiliser pour Linux. Il fonctionne en rationalisant le processus de création de fichiers de configuration de site et de certificats SSL. Cet article vous guidera tout au long du processus d’installation de Caddy sur un serveur Ubuntu Linux. De plus, il vous montrera également comment utiliser Caddy pour déployer une simple page Web ainsi qu’un proxy inverse SSL.

Pourquoi utiliser Caddy comme serveur Web ?

Bien que Nginx et Apache soient de puissants démons de serveur Web, ils peuvent être lourds et complexes pour un nouvel utilisateur. Caddy réduit cette complexité en fournissant le « Caddyfile », un fichier plat unique avec une syntaxe simple et facile à apprendre même pour les débutants.

Un terminal montrant un exemple de Caddyfile.

Un autre argument de vente de Caddy est qu’il fournit HTTPS pour votre serveur Web dès la sortie de la boîte. Cela le rend pratique pour les utilisateurs qui trouvent la configuration SSL pour leur site Web intimidante et compliquée. En tant que tel, Caddy est parfait si vous recherchez un serveur Web « simple » sous Linux, à la fois facile à entretenir et à utiliser.

Installation de Caddie

La première étape de l’installation de Caddy dans Ubuntu Linux est de vous assurer que vous disposez des outils nécessaires pour importer ses clés et informations de référentiel :

Récupérez la clé de signature du référentiel pour Caddy sur le site Web du développeur :

Téléchargez et enregistrez le fichier référentiel du projet Caddy dans le répertoire « sources.list.d » de votre machine :

Rechargez les référentiels apt de votre système en exécutant ce qui suit :

Installez le package Caddy pour votre système en utilisantapt install :

Gérer votre premier site Web Caddy

Pour exécuter votre premier site Web, créez le dossier racine de votre site dans votre répertoire personnel :

Créez un fichier index.html à l’aide de votre éditeur de texte préféré :

Collez le bloc de code suivant dans votre nouveau fichier HTML :

Enregistrez votre fichier index.html, puis exécutez la commande suivante :

Confirmez que votre serveur Web fonctionne correctement en y accédant à l’aide de votre navigateur.

Une capture d'écran montrant un exemple de site Web exécuté sur localhost:8080.

Créer un site Web à l’aide de Caddyfiles

Bien que l’outil CLI soit idéal pour servir des pages Web simples, Caddy fournit également un « Caddyfile » facile à utiliser pour les configurations plus complexes. Pour commencer, créez un nouveau fichier Caddy sous « /etc/caddy » en utilisant votre éditeur de texte préféré :

Collez le bloc de code suivant dans votre nouveau Caddyfile :

Copiez le fichier index.html de votre répertoire personnel vers « /var/www » de votre système :

Accédez à votre registraire DNS et assurez-vous que vos sous-domaines racine et www possèdent un enregistrement A ou AAAA pointant vers les adresses IPv4 et IPv6 de votre machine.

Une capture d'écran montrant deux enregistrements A pointant vers l'adresse IP de la machine.

Activez le service Caddy intégré sur votre machine :

Vérifiez si votre site Web fonctionne correctement en accédant à votre nom de domaine.

Une capture d'écran montrant l'exemple de site Web fonctionnant avec un nom de domaine externe.

Création d’un proxy inverse SSL avec Caddy

Tout comme Nginx et Apache, vous pouvez également utiliser Caddy comme proxy inverse pour un service interne sur votre machine. Pour ce faire, ouvrez le Caddyfile de votre système :

Collez le bloc de code suivant dans votre Caddyfile :

Remplacez « LOCAL-PORT » par le port de votre application Web. Dans mon cas, je remplacerai le mien par 3001 pour rediriger tout le trafic entrant vers mon serveur Uptime Kuma .

Un terminal affichant une configuration de proxy inverse Caddy modifiée.

Enregistrez votre fichier Caddy, puis rechargez le service Caddy pour appliquer vos nouveaux paramètres :

Testez si votre proxy inverse fonctionne correctement en accédant à votre domaine à l’aide de votre navigateur Web.

Une capture d'écran montrant une instance Uptime Kuma proxy via Caddy.

Déploiement de plusieurs sites Web et services à l’aide de Caddy

Vous pouvez également utiliser le même Caddyfile pour servir à la fois des sites Web et des proxys sous le même hôte. Cela facilite la gestion de plusieurs services différents sans encombrer le répertoire de configuration de votre serveur Web.

Pour commencer, rendez-vous sur la page de téléchargement de Caddy puis tapez « caddy-dns » dans la barre de recherche.

Une capture d'écran mettant en évidence le champ de recherche caddy-dns sur la page de téléchargement de Caddy.

Recherchez le fournisseur DNS qui gère votre nom de domaine. Dans mon cas, j’utilise DigitalOcean .

Sélectionnez votre fournisseur DNS, puis cliquez sur « Télécharger » dans le coin supérieur droit de la page. Cela téléchargera un binaire Caddy personnalisé avec le module approprié pour votre fournisseur DNS.

Une capture d'écran mettant en évidence le bouton Télécharger après avoir sélectionné la version caddy-dns pour DigitalOcean.

Arrêtez le service Caddy à l’aide de systemctl :

Créez une sauvegarde du fichier binaire Caddy d’origine, puis copiez le binaire personnalisé dans votre répertoire « /usr/bin/ ».

Testez si votre binaire Caddy personnalisé fonctionne correctement en vérifiant sa version :

Activation de Caddy SSL pour les domaines Wildcard

Ouvrez le Caddyfile de votre système à l’aide de votre éditeur de texte préféré :

Collez le bloc de code suivant dans votre Caddyfile :

Obtenez une clé API auprès de votre fournisseur DNS. Dans DigitalOcean, vous pouvez l’obtenir en accédant à votre tableau de bord DigitalOcean, puis en cliquant sur API dans la barre latérale gauche de la page.

Une capture d'écran mettant en évidence le bouton API sur le tableau de bord DigitalOcean.

Cliquez sur Générer un nouveau jeton, puis fournissez les détails de votre clé API.

Une capture d'écran montrant les détails du jeton pour les certificats SSL génériques automatisés.

Copiez votre secret API, puis collez-le sur la variable « API-KEY » de votre Caddyfile.

Personnalisez le Caddyfile pour votre configuration spécifique, puis enregistrez-le.

Un terminal affichant un fichier de configuration Caddy multi-site modifié.

Assurez-vous que votre nom de domaine possède les enregistrements A et AAAA appropriés pour votre domaine et sous-domaine.

Redémarrez votre démon Caddy désactivé pour appliquer vos nouveaux paramètres :

Testez si votre configuration « multiservice » fonctionne correctement en ouvrant les deux domaines sur un navigateur Web.

Une capture d'écran montrant les deux services fonctionnant sous SSL avec Caddy.

Apprendre à déployer des services Web simples et sécurisés à l’aide de Caddy n’est que la première étape pour explorer le monde merveilleux de l’auto-hébergement sous Linux. Plongez plus profondément dans cet univers en créant votre propre serveur d’alias de messagerie avec SimpleLogin .

Crédit image : Jonathan Ybema via Unsplash et Wikimedia Commons . Toutes les modifications et captures d’écran par Ramces Red.

Laisser un commentaire

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