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.
El servidor HTTP de Apache jugó un papel importante en el diseño de lo que es la web hoy en día. Solo tiene una cuota de mercado del 37.3%. Nginx ocupa el segundo lugar en la lista con una cuota de mercado del 32.4%. Microsoft IIS y LiteSpeed ocupan los puestos 3 y 4 con una cuota de mercado del 7.8% y 6.9% respectivamente.
Recientemente, me encontré con un servidor web llamado Caddy. Cuando intenté averiguar sus características y lo implementé para probarlo, debo decir que es increíble. Un servidor web que es portátil y no necesita ningún archivo de configuración. Pensé que era un proyecto muy interesante y quería compartirlo contigo. ¡Aquí hemos dado una oportunidad a Caddy!
¿Qué es Caddy?
Caddy es una alternativa a un servidor web Apache, fácil de configurar y usar. Matthew Holt – El líder del proyecto de Caddy afirma que Caddy es un servidor web de propósito general, diseñado para los humanos y probablemente sea el único de su tipo.
Caddy es el primer servidor web que puede adquirir y renovar automáticamente los certificados SSL/TLS utilizando Let’s Encrypt.
Características de Caddy
- Peticiones HTTP rápidas utilizando HTTP/2.
- Servidor web capaz con la mínima configuración y despliegue sin complicaciones.
- La encriptación TLS garantiza la encriptación entre las aplicaciones y los usuarios que se comunican a través de Internet. Puede usar sus propias claves y certificados.
- Fácil de desplegar/usar. Solo un archivo único y sin dependencia de ninguna plataforma.
- No se requiere instalación.
- Ejecutables portátiles.
- Ejecución en múltiples CPUs/Núcleos.
- Tecnología avanzada de WebSockets: sesión de comunicación interactiva entre el navegador y el servidor.
- Genera documentos Markdown en el servidor al vuelo.
- Soporte completo para el último IPv6.
- Crea un registro en un formato personalizado.
- Sirve FastCGI, Proxy Inverso, Reescritura y Redirecciones, URL Limpia, compresión Gzip, Exploración de directorios, Virtual Hosts y Encabezados.
- Disponible para todas las plataformas conocidas: Windows, Linux, BSD, Mac, Android.
¿Qué hace diferente a Caddy?
- Caddy tiene como objetivo servir la web como debería ser en el año 2020 y no de manera tradicional.
- Está diseñado no solo para atender solicitudes HTTP, sino también a humanos.
- Cargado con las últimas características: HTTP/2, IPv6, Markdown, WebSockets, FastCGI, plantillas y otras características listas para usar.
- Ejecuta los ejecutables sin necesidad de instalarlos.
- Documentación detallada con la menor descripción técnica posible.
- Desarrollado teniendo en cuenta las necesidades y la facilidad de diseño, desarrollo y publicación de blogs.
- Soporte para Virtual Host: define tantos sitios como desees.
- Adecuado para ti, sin importar si tu sitio es estático o dinámico. Si eres humano, es para ti.
- Concéntrate en qué lograr y no en cómo lograrlo.
- Disponibilidad de soporte para la mayoría de las plataformas: Windows, Linux, Mac, Android, BSD.
- Por lo general, tienes un archivo Caddy por sitio.
- Configuración en menos de 1 minuto, incluso si no eres muy hábil con la computadora.
Entorno de prueba
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
Instalación del servidor web Caddy en Linux
No importa en qué plataforma estés ni qué tipo de arquitectura estés utilizando, Caddy proporciona paquetes binarios listos para usar que se pueden instalar utilizando tu administrador de paquetes predeterminado, como se muestra.
Instala Caddy en Fedora, RedHat, CentOS
Estaremos instalando la última versión del servidor web Caddy desde el repositorio CORP en Fedora o RHEL/CentOS 8.
# dnf install 'dnf-command(copr)' # dnf copr enable @caddy/caddy # dnf install caddy
En RHEL/CentOS 7 usa los siguientes comandos.
# yum install yum-plugin-copr # yum copr enable @caddy/caddy # yum install caddy
Instala Caddy en Debian y 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
Una vez instalado el servidor web Caddy, puedes iniciar, habilitar y verificar el estado del servicio utilizando los siguientes comandos systemctl.
# systemctl start caddy # systemctl enable caddy # systemctl status caddy
Ahora abre tu navegador y apunta tu navegador a la siguiente dirección y deberías poder ver la página de bienvenida de Caddy.
http://Server-IP OR http://yourdomain.com

Configuración de dominios con Caddy
Para configurar un dominio, primero necesitas apuntar los registros DNS A/AAAA de tu dominio a este servidor en tu panel de control de DNS. Luego, crea un directorio raíz de documentos para tu sitio web "ejemplo.com"
en la carpeta /var/www/html
como se muestra.
$ mkdir /var/www/html/example.com
Si estás utilizando SELinux, necesitas cambiar el contexto de seguridad del archivo para el contenido 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
Ahora abre y edita el archivo de configuración de Caddy en /etc/caddy/Caddyfile
.
# vim /etc/caddy/Caddyfile
Reemplaza :80
con tu nombre de dominio y cambia la raíz del sitio a /var/www/html/example.com
como se muestra.

Recarga el servicio de Caddy para guardar el cambio de configuración.
# systemctl reload caddy
Ahora crea cualquier página HTML (puedes crear la tuya propia) y guarda la página en el directorio raíz del documento para tu sitio web.
# touch /var/www/html/example.com/index.html
Agrega el siguiente código HTML de muestra a la página de inicio de tu sitio 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
Ahora visita nuevamente tu sitio para ver tu página.

Si todo está configurado correctamente, tu dominio se servirá a través de un protocolo HTTPS indicando que tu conexión es segura.
Conclusión
Si eres nuevo y quieres configurar un servidor web sin ensuciarte las manos con la configuración, esta herramienta es para ti. Incluso si eres un usuario experimentado que necesita un servidor web instantáneo y simple, Caddy vale la pena probarlo. Con un poco de configuración, también puedes establecer permisos de carpeta, control de autenticación, páginas de error, Gzip, redireccionamiento HTTP y otros, si necesitas configurar un servidor web más complejo y avanzado.
No consideres a Caddy como un reemplazo de Apache o Nginx. Caddy no está diseñado para manejar entornos de producción de alto tráfico. Está diseñado para una configuración rápida de servidor web cuando tu preocupación es la velocidad y la fiabilidad.
Referencias
Guía completa del usuario / Documentación completa del Servidor Web Caddy
Hemos presentado esta documentación que tiene como objetivo una revisión rápida e instrucciones de instalación con imágenes donde sea necesario. Si encuentras cualquier ventaja/desventaja del proyecto o cualquier sugerencia, puedes proporcionárnosla en nuestra sección de comentarios.
Para mí, este proyecto aún es joven, pero funciona sin problemas y parece poderoso y prometedor. El mayor punto a favor que veo es que Caddy no necesita llevar su archivo de configuración a todas partes. Su objetivo es proporcionar lo mejor de Nginx, Lighttpd, vagrant y Websocketd. Eso es todo desde mi lado. Mantente conectado a Tecmint. Felicitaciones.
Source:
https://www.tecmint.com/install-caddy-web-server-in-centos-ubuntu/