A web server is a server-side application designed to process HTTP requests between client and server. HTTP is the basic and very widely used network protocol.
Le serveur HTTP Apache a joué un rôle important dans la conception du web tel qu’il est aujourd’hui. Il détient à lui seul une part de marché de 37,3%. Nginx arrive en deuxième position avec une part de marché de 32,4%. Microsoft IIS et LiteSpeed se classent respectivement 3e et 4e avec une part de marché de 7,8% et 6,9%.
Récemment, j’ai découvert un serveur web nommé Caddy. Lorsque j’ai essayé de me renseigner sur ses fonctionnalités et que je l’ai déployé pour le tester, je dois dire que c’est incroyable. Un serveur web portable qui n’a pas besoin de fichier de configuration. J’ai pensé que c’était un projet très intéressant et j’ai voulu le partager avec vous. Nous avons donc décidé de donner une chance à Caddy !
Qu’est-ce que Caddy ?
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 polyvalent, conçu pour les humains, et qu’il est probablement le seul de son genre.
Caddy est le premier serveur web capable d’acquérir et de renouveler automatiquement les certificats SSL/TLS en utilisant Let’s Encrypt.
Fonctionnalités de Caddy
- Requêtes HTTP rapides grâce à HTTP/2.
- Serveur web performant avec une configuration minimale et un déploiement sans tracas.
- Chiffrement TLS assurant le cryptage entre les applications et les utilisateurs communiquant sur Internet. Vous pouvez utiliser vos propres clés et certificats.
- Facile à déployer/utiliser. Un seul fichier et aucune dépendance vis-à-vis de la plateforme.
- Aucune installation requise.
- Exécutables portables.
- Exécution sur plusieurs CPU/Cœurs.
- Technologie avancée des WebSockets – session de communication interactive entre le navigateur et le serveur.
- Transformation instantanée des documents Markdown côté serveur.
- Prise en charge complète de la dernière version d’IPv6.
- Crée un journal dans un format personnalisé.
- Sert FastCGI, Proxy inverse, Réécriture et Redirections, URL propres, Compression Gzip, Navigation dans les répertoires, Hôtes virtuels et En-têtes.
- Disponible pour toutes les plates-formes connues – Windows, Linux, BSD, Mac, Android.
Qu’est-ce qui rend Caddy différent ?
- Caddy vise à servir le web tel qu’il devrait l’être en 2020 et non pas de manière traditionnelle.
- Il est conçu non seulement pour servir les requêtes HTTP mais aussi pour les humains.
- Chargé des dernières fonctionnalités – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, modèles et autres fonctionnalités prêtes à l’emploi.
- Exécutez les exécutables sans avoir besoin de les installer.
- Documentation détaillée avec la description technique la moins complexe possible.
- Développé en tenant compte des besoins et de la facilité d’utilisation des concepteurs, développeurs et blogueurs.
- Prise en charge des hôtes virtuels – Définissez autant de sites que vous le souhaitez.
- Adapté à vous – peu importe si votre site est statique ou dynamique. Si vous êtes humain, c’est pour vous.
- Concentrez-vous sur ce que vous voulez accomplir et non pas sur la façon d’y parvenir.
- Disponibilité de la prise en charge pour la plupart des plates-formes – Windows, Linux, Mac, Android, BSD.
- Généralement, vous avez un fichier Caddy par site.
- Configurer en moins d’une minute, même si vous n’êtes pas très à l’aise avec l’informatique.
Environnement de test
I will be testing it on the CentOS server, as well as Debian Server, but the same instructions also work on RHEL and Debian based distributions. For both the server I am going to use 64-bit executables.
Operating Systems: CentOS 8 and Debian 10 Buster Caddy Version: v2.0.0
Installation du serveur Web Caddy sous Linux
Peu importe la plateforme sur laquelle vous vous trouvez et le type d’architecture que vous utilisez, Caddy fournit des paquets binaires prêts à l’emploi, qui peuvent être installés à l’aide de votre gestionnaire de paquets par défaut comme indiqué.
Installer Caddy sous Fedora, RedHat, CentOS
Nous installerons la dernière version du serveur Web Caddy depuis le dépôt CORP sous Fedora ou RHEL/CentOS 8.
# dnf install 'dnf-command(copr)' # dnf copr enable @caddy/caddy # dnf install caddy
Sous RHEL/CentOS 7, utilisez les commandes suivantes.
# yum install yum-plugin-copr # yum copr enable @caddy/caddy # yum install caddy
Installer Caddy sous 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.
# systemctl start caddy # systemctl enable caddy # systemctl status caddy
Maintenant, ouvrez votre navigateur et pointez-le vers l’adresse suivante. Vous devriez pouvoir voir la page de bienvenue de Caddy.
http://Server-IP OR http://yourdomain.com

Configuration des domaines avec Caddy
Pour configurer un domaine, vous devez d’abord pointer les enregistrements DNS A/AAAA de votre domaine vers ce serveur dans le panneau de contrôle DNS. Ensuite, créez un répertoire racine de document pour votre site Web "example.com"
dans 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é du fichier pour le contenu Web./etc/caddy/Caddyfile
.
# 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 de Caddy à /etc/caddy/Caddyfile
.
# vim /etc/caddy/Caddyfile
Remplacez :80
par votre nom de domaine et modifiez la racine du site en /var/www/html/example.com
comme indiqué.

Rechargez le service Caddy pour enregistrer la modification de la configuration.
# systemctl reload caddy
Créez maintenant une page HTML (vous pouvez créer la vôtre) et enregistrez la page dans le répertoire racine du document pour votre site web.
# touch /var/www/html/example.com/index.html
Ajoutez le code HTML d’exemple suivant à la page d’accueil 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
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 rapide et simple, Caddy vaut la peine d’être essayé. Avec une petite configuration, vous pouvez également définir les autorisations de dossier, contrôler l’authentification, les pages d’erreur, le Gzip, la redirection HTTP, et autres, si vous avez besoin de configurer un serveur web plus complexe et avancé.
Ne considérez pas Caddy comme un 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é.
Références
Guide complet de l’utilisateur / Documentation complète du Serveur Web Caddy
Nous avons apporté cette documentation qui vise une révision rapide et des instructions d’installation avec des images partout où cela est nécessaire. Si vous rencontrez des avantages/inconvénients du projet ou toute suggestion, vous pouvez nous en faire part dans notre section de commentaires.
Pour moi ce projet est encore jeune mais fonctionne parfaitement et semble puissant et prometteur. Le plus grand point positif 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 ma part. Restez connecté à Tecmint. Félicitations
Source:
https://www.tecmint.com/install-caddy-web-server-in-centos-ubuntu/