Búsqueda de sitios web

Cómo alojar un sitio web con HTTPS usando Caddy en Linux


Un servidor web es una aplicación del lado del servidor diseñada para procesar solicitudes HTTP entre el cliente y el servidor. HTTP es el protocolo de red básico y muy utilizado.

El servidor HTTP Apache jugó un papel importante en el diseño de lo que es la web hoy. Sólo él 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 el 6,9% respectivamente.

Recientemente, me encontré con un servidor web llamado Caddy. Cuando traté de preguntar sobre sus características y lo implementé para realizar pruebas, debo decir que es asombroso. Un servidor web que es portátil y no necesita ningún archivo de configuración. Me pareció un proyecto genial y quería compartirlo con vosotros. ¡Aquí le hemos dado una oportunidad a Caddy!

¿Qué es Caddy?

Caddy es una alternativa a un servidor web apache fácil de configurar y utilizar. Matthew Holt – El líder del proyecto Caddy afirma que Caddy es un servidor web de propósito general, afirma estar diseñado para humanos y que probablemente sea el único de su tipo.

Caddy es el único servidor web que puede adquirir y renovar certificados SSL/TLS automáticamente utilizando Let's Encrypt.

Características del carrito

  1. Solicitudes HTTP rápidas utilizando HTTP/2.
  2. Servidor web capaz con la mínima configuración y una implementación sin complicaciones.
  3. El cifrado TLS garantiza el cifrado entre las aplicaciones que se comunican y los usuarios a través de Internet. Puede utilizar sus propias claves y certificados.
  4. Fácil de implementar/usar. Un solo archivo y sin dependencia de ninguna plataforma.
  5. No requiere instalación.
  6. Ejecutables portátiles.
  7. Ejecute en múltiples CPU/núcleos.
  8. Tecnología avanzada WebSockets: sesión de comunicación interactiva entre el navegador y el servidor.
  9. Documentos de Markdown del servidor sobre la marcha.
  10. Soporte completo para el último IPv6.
  11. Crea un registro en un formato personalizado.
  12. Sirve FastCGI, proxy inverso, reescritura y redirecciones, URL limpia, compresión Gzip, exploración de directorios, hosts virtuales y encabezados.
  13. Disponible para todas las plataformas conocidas: Windows, Linux, BSD, Mac, Android.

¿Qué hace que Caddy sea diferente?

  1. Caddy tiene como objetivo servir la web como debería ser en el año 2020 y no al estilo tradicional.
  2. Está diseñado no sólo para atender solicitudes HTTP sino también para humanos.
  3. Cargado con las funciones más recientes: HTTP/2, IPv6, Markdown, WebSockets, FastCGI, plantillas y otras funciones listas para usar.
  4. Ejecute los ejecutables sin necesidad de instalarlo.
  5. Documentación detallada con la mínima descripción técnica.
  6. Desarrollado teniendo en cuenta la necesidad y facilidad de diseñadores, desarrolladores y blogueros.
  7. Soporte de host virtual: defina tantos sitios como desee.
  8. Adecuado para usted, no importa si su sitio es estático o dinámico. Si eres humano es para ti.
  9. Te concentras en qué lograr y no en cómo lograrlo.
  10. Disponibilidad de soporte para la mayoría de las plataformas: Windows, Linux, Mac, Android, BSD.
  11. Normalmente, tiene un archivo Caddy por sitio.
  12. Configúrelo en menos de 1 minuto, incluso si no es muy amigable con las computadoras.
Entorno de prueba

Lo probaré en el servidor CentOS, así como en el servidor Debian, pero las mismas instrucciones también funcionan en RHEL y Debian. distribuciones basadas. Para ambos servidores voy a utilizar ejecutables de 64 bits.

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 y qué tipo de arquitectura esté utilizando, caddy proporciona paquetes binarios listos para usar, que pueden instalarse utilizando su administrador de paquetes predeterminado, como se muestra.

Instalar Caddy en Fedora, RedHat, CentOS

Instalaremos 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 utilice los siguientes comandos.

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

Instalar 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, puede iniciar, habilitar y verificar el estado del servicio utilizando los siguientes comandos systemctl.

systemctl start caddy
systemctl enable caddy
systemctl status caddy

Ahora abra su navegador y apunte su navegador a la siguiente dirección y debería poder ver la página de bienvenida del caddy.

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

Configurar dominios con Caddy

Para configurar un dominio, primero debe apuntar los registros DNS A/AAAA de su dominio a este servidor en su panel de control de DNS. A continuación, cree un directorio raíz de documentos para su sitio web "example.com" en la carpeta /var/www/html como se muestra.

mkdir /var/www/html/example.com

Si está utilizando SELinux, debe cambiar el contexto de seguridad del archivo para el contenido 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

Ahora abra y edite el archivo de configuración del caddy en /etc/caddy/Caddyfile.

vim /etc/caddy/Caddyfile

Reemplace :80 con su nombre de dominio y cambie la raíz del sitio a /var/www/html/example.com como se muestra.

Vuelva a cargar el servicio Caddy para guardar el cambio de configuración.

systemctl reload caddy

Ahora cree cualquier página HTML (puede crear la suya propia) y guarde la página en el directorio raíz de documentos de su sitio web.

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

Agregue el siguiente código HTML de muestra a la página de índice de su 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 visite nuevamente su sitio para ver su página.

Si todo está configurado correctamente, su dominio se entregará a través de un protocolo HTTPS que indica que su conexión es segura.

Conclusión

Si eres novato y quieres configurar un servidor web sin ensuciarte las manos con la configuración, esta herramienta es para ti. Incluso si usted es un usuario experimentado que necesita un servidor web instantáneo y simple, vale la pena probar Caddy. Con un poco de configuración, también puede establecer permisos de carpeta, controlar la autenticación, páginas de error, Gzip, redireccionamiento HTTP y otros, si necesita configurar un servidor web más complejo y avanzado.

No tome a Caddy como reemplazo de Apache o Nginx. Caddy no está diseñado para manejar entornos de producción con mucho tráfico. Está diseñado para una configuración rápida del servidor web cuando lo que le preocupa es la velocidad y la confiabilidad.

Referencias

Guía de usuario completa/Documentación completa de Caddy Web Server

Hemos traído esta documentación que tiene como objetivo una revisión rápida e instrucciones de instalación con imágenes cuando sea necesario. Si encuentra algún pro o contra del proyecto o alguna sugerencia, puede comunicárnoslo en nuestra sección de comentarios.

Para mí, este proyecto es demasiado joven y aún así funciona perfectamente y parece potente 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 ofrecer lo mejor de Nginx, Lighttpd, vagrant y Websocketd. Eso es todo por mi parte. Manténgase conectado con Tecmint. Prestigio