Recherche de site Web

Comment héberger un site Web avec HTTPS à l'aide de Caddy sous Linux


Un serveur Web est une application côté serveur conçue pour traiter les requêtes HTTP entre le client et le serveur. HTTP est le protocole réseau de base et très largement utilisé.

Le serveur HTTP Apache a joué un rôle important dans la conception de ce qu'est le Web aujourd'hui. Elle détient à elle seule une part de marché de 37,3%. Nginx arrive en deuxième position de la liste avec une part de marché de 32,4 %. Microsoft IIS et LiteSpeed arrivent aux numéros 3 et 4 avec une part de marché de 7,8 % et 6,9 % respectivement.

Récemment, je suis tombé sur un serveur Web nommé Caddy. Lorsque j'ai essayé de me renseigner sur ses fonctionnalités et de le déployer pour les tests, je dois dire que c'est incroyable. Un serveur Web portable et ne nécessitant aucun fichier de configuration. J'ai trouvé que c'était un projet très cool et je voulais le partager avec vous. Ici, nous avons essayé Caddy !

Qu'est-ce que Caddie ?

Caddy est une alternative à un serveur Web Apache facile à configurer et à utiliser. Matthew Holt – Le chef de projet de Caddy affirme que Caddy est un serveur Web à usage général, qu'il prétend être conçu pour les humains et qu'il est probablement le seul de son genre.

Caddy est le seul premier serveur Web capable d'acquérir et de renouveler automatiquement les certificats SSL/TLS à l'aide de Let's Encrypt.

Caractéristiques du Caddy

  1. Requêtes HTTP rapides utilisant HTTP/2.
  2. Serveur Web capable avec une configuration minimale et un déploiement sans tracas.
  3. Le cryptage TLS garantit le cryptage entre les applications communicantes et les utilisateurs sur Internet. Vous pouvez utiliser vos propres clés et certificats.
  4. Facile à déployer/utiliser. Un seul fichier et aucune dépendance sur aucune plateforme.
  5. Aucune installation requise.
  6. Exécutables portables.
  7. Exécuté sur plusieurs processeurs/cœurs.
  8. Technologie avancée WebSockets – session de communication interactive entre le navigateur et le serveur.
  9. Documents Server Markdown à la volée.
  10. Prise en charge complète du dernier IPv6.
  11. Crée un journal dans un format personnalisé.
  12. Servez FastCGI, le proxy inverse, la réécriture et les redirections, l'URL propre, la compression Gzip, la navigation dans les répertoires, les hôtes virtuels et les en-têtes.
  13. Disponible pour toutes les plateformes connues – Windows, Linux, BSD, Mac, Android.

Qu'est-ce qui rend le caddie différent ?

  1. Caddy vise à servir le Web comme il se doit en 2020 et non de manière traditionnelle.
  2. Il est conçu non seulement pour servir les requêtes HTTP mais aussi pour les humains.
  3. Chargé des dernières fonctionnalités – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, modèles et autres fonctionnalités prêtes à l'emploi.
  4. Exécutez les exécutables sans avoir besoin de l’installer.
  5. Documentation détaillée avec la moindre description technique.
  6. Développé en gardant à l'esprit les besoins et la facilité des concepteurs, des développeurs et des blogueurs.
  7. Support Virtual Host – Définissez autant de sites que vous le souhaitez.
  8. Adapté pour vous, peu importe si votre site est statique ou dynamique. Si vous êtes humain, c'est pour vous.
  9. Vous vous concentrez sur ce qu’il faut réaliser et non sur la manière d’y parvenir.
  10. Disponibilité du support pour la plupart des plates-formes – Windows, Linux, Mac, Android, BSD.
  11. Habituellement, vous disposez d’un fichier Caddy par site.
  12. Installation en moins d’une minute, même si vous n’êtes pas très familier avec l’ordinateur.
Environnement de test

Je vais le tester sur le serveur CentOS, ainsi que sur le serveur Debian, mais les mêmes instructions fonctionnent également sur RHEL et Debian distributions basées. Pour les deux serveurs, je vais utiliser des exécutables 64 bits.

Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0

Installation du serveur Web Caddy sous Linux

Peu importe la plate-forme et le type d'architecture que vous utilisez, caddy fournit des packages binaires prêts à l'emploi, qui peuvent être installés à l'aide de votre gestionnaire de packages par défaut, comme indiqué.

Installer Caddy dans Fedora, RedHat, CentOS

Nous installerons la dernière version du serveur Web Caddy à partir du référentiel CORP sous Fedora ou RHEL/CentOS 8.

dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy

Sur RHEL/CentOS 7, utilisez les commandes suivantes.

yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy

Installez Caddy dans Debian et Ubuntu

echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
sudo apt update
sudo apt install caddy

Une fois le serveur Web Caddy installé, vous pouvez démarrer, activer et vérifier l'état du service à l'aide des commandes systemctl suivantes.

systemctl start caddy
systemctl enable caddy
systemctl status caddy

Ouvrez maintenant votre navigateur et pointez votre navigateur vers l'adresse suivante et vous devriez pouvoir voir la page d'accueil du caddy.

http://Server-IP
OR
http://yourdomain.com

Configuration de domaines avec Caddy

Pour configurer un domaine, vous devez d’abord faire pointer les enregistrements DNS A/AAAA de votre domaine vers ce serveur dans votre panneau de contrôle DNS. Ensuite, créez un répertoire racine de document pour votre site Web "example.com" sous le dossier /var/www/html comme indiqué.

mkdir /var/www/html/example.com

Si vous utilisez SELinux, vous devez modifier le contexte de sécurité des fichiers pour le contenu Web.

chcon -t httpd_sys_content_t /var/www/html/example.com -R
chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

Maintenant, ouvrez et modifiez le fichier de configuration du caddy dans /etc/caddy/Caddyfile.

vim /etc/caddy/Caddyfile

Remplacez :80 par votre nom de domaine et remplacez la racine du site par /var/www/html/example.com comme indiqué.

Rechargez le service Caddy pour enregistrer la modification de configuration.

systemctl reload caddy

Créez maintenant n’importe quelle page HTML (vous pouvez créer la vôtre) et enregistrez la page dans le répertoire racine du document de votre site Web.

touch /var/www/html/example.com/index.html

Ajoutez l’exemple de code HTML suivant à la page d’index de votre site Web.

echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html

Maintenant, visitez à nouveau votre site pour voir votre page.

Si tout est correctement configuré, votre domaine sera servi via un protocole HTTPS indiquant que votre connexion est sécurisée.

Conclusion

Si vous êtes débutant et que vous souhaitez configurer un serveur Web sans vous salir les mains avec la configuration, cet outil est fait pour vous. Même si vous êtes un utilisateur expérimenté qui a besoin d'un serveur Web simple et instantané, Caddy vaut la peine d'être essayé. Avec un peu de configuration, vous pouvez également définir l'autorisation des dossiers, contrôler l'authentification, les pages d'erreur, Gzip, la redirection HTTP et autres, si vous avez besoin de configurer un serveur Web plus complexe et avancé.

Ne prenez pas Caddy en remplacement d'Apache ou de Nginx. Caddy n'est pas conçu pour gérer un environnement de production à fort trafic. Il est conçu pour une configuration rapide du serveur Web lorsque votre préoccupation est la vitesse et la fiabilité.

Les références

Guide d'utilisation complet/Documentation complète de Caddy Web Server

Nous avons apporté cette documentation qui vise à un examen rapide et des instructions d'installation avec des images si nécessaire. Si vous rencontrez des avantages/inconvénients du projet ou des suggestions, vous pouvez nous les faire part dans notre section commentaires.

Pour moi ce projet est trop jeune mais fonctionne toujours parfaitement et semble puissant et prometteur. Le plus gros avantage que je vois est que Caddy n’a pas besoin de transporter son fichier de configuration partout. Il vise à offrir le meilleur de Nginx, Lighttpd, vagrant et Websocketd. C'est tout de mon côté. Restez connecté à Tecmint. Gloire