Cómo crear su propio servidor web Caddy en Linux

Cómo crear su propio servidor web Caddy en Linux
Una fotografía de un monitor de computadora encima de una mesa con luz de fondo verde.

Caddy es un servidor web moderno y fácil de usar para Linux. Funciona agilizando el proceso de creación de archivos de configuración del sitio y certificados SSL. Este artículo lo guiará a través del proceso de instalación de Caddy en un servidor Ubuntu Linux. Además, también le mostrará cómo utilizar Caddy para implementar una página web sencilla, así como un proxy inverso SSL.

¿Por qué utilizar Caddy como servidor web?

Si bien Nginx y Apache son poderosos demonios de servidores web, pueden resultar difíciles de manejar y complejos para un nuevo usuario. Caddy reduce esa complejidad al proporcionar «Caddyfile», un único archivo plano con una sintaxis simple que es fácil de aprender incluso para principiantes.

Una terminal que muestra un Caddyfile de ejemplo.

Otro punto de venta de Caddy es que proporciona HTTPS para su servidor web desde el primer momento. Esto lo hace útil para los usuarios que encuentran difícil y complicado configurar SSL para su sitio web . Como tal, Caddy es perfecto si busca un servidor web «sin complicaciones» en Linux que sea fácil de mantener y usar.

Instalación del carrito

El primer paso para instalar Caddy en Ubuntu Linux es asegurarse de tener las herramientas para importar las claves y la información del repositorio:

Obtenga la clave de firma del repositorio para Caddy del sitio web del desarrollador:

Descargue y guarde el archivo del repositorio del proyecto Caddy en el directorio “sources.list.d” de su máquina:

Vuelva a cargar los repositorios aptos de su sistema ejecutando lo siguiente:

Instale el paquete Caddy para su sistema usando apt install:

Ejecutando su primer sitio web Caddy

Para ejecutar su primer sitio web, cree la carpeta raíz de su sitio en su directorio de inicio:

Crea un archivo index.html usando tu editor de texto favorito:

Pegue el siguiente bloque de código dentro de su nuevo archivo HTML:

Guarde su archivo index.html y luego ejecute el siguiente comando:

Confirme que su servidor web esté funcionando correctamente navegando hasta él con su navegador.

Una captura de pantalla que muestra un sitio web de muestra ejecutándose en localhost:8080.

Crear un sitio web usando Caddyfiles

Si bien la herramienta CLI es excelente para ofrecer páginas web simples, Caddy también proporciona un “Caddyfile” fácil de usar para configuraciones más complejas. Para comenzar, cree un nuevo Caddyfile en “/etc/caddy” usando su editor de texto favorito:

Pega el siguiente bloque de código dentro de tu nuevo Caddyfile:

Copie el archivo index.html de su directorio de inicio al “/var/www” de su sistema:

Vaya a su registrador de DNS y asegúrese de que sus subdominios raíz y www tengan un registro A o AAAA que apunte a las direcciones IPv4 e IPv6 de su máquina.

Una captura de pantalla que muestra dos registros A que apuntan a la dirección IP de la máquina.

Habilite el servicio Caddy integrado en su máquina:

Compruebe si su sitio web funciona correctamente navegando hasta su nombre de dominio.

Una captura de pantalla que muestra el sitio web de muestra trabajando con un nombre de dominio externo.

Crear un proxy inverso SSL con Caddy

Al igual que Nginx y Apache, también puedes usar Caddy como proxy inverso para un servicio interno en tu máquina. Para hacer esto, abra el Caddyfile de su sistema:

Pega el siguiente bloque de código dentro de tu Caddyfile:

Reemplace «LOCAL-PORT» con el puerto de su aplicación web. En mi caso, reemplazaré el mío con 3001 para redirigir todo el tráfico entrante a mi servidor Uptime Kuma .

Un terminal que muestra una configuración de proxy inverso Caddy modificada.

Guarde su Caddyfile, luego vuelva a cargar el servicio Caddy para aplicar su nueva configuración:

Pruebe si su proxy inverso funciona correctamente navegando a su dominio utilizando su navegador web.

Una captura de pantalla que muestra una instancia de Uptime Kuma transmitida a través de Caddy.

Implementación de múltiples sitios web y servicios usando Caddy

También puede utilizar el mismo Caddyfile para servir sitios web y servidores proxy bajo el mismo host. Esto facilita la administración de múltiples servicios diferentes sin saturar el directorio de configuración de su servidor web.

Para comenzar, vaya a la página de descargas de Caddy y luego escriba «caddy-dns» en la barra de búsqueda.

Una captura de pantalla que resalta el cuadro de búsqueda de caddy-dns en la página de descarga de Caddy.

Busque el proveedor de DNS que administra su nombre de dominio. En mi caso, estoy usando DigitalOcean .

Seleccione su proveedor de DNS, luego haga clic en «Descargar» en la esquina superior derecha de la página. Esto descargará un binario Caddy personalizado con el módulo apropiado para su proveedor de DNS.

Una captura de pantalla que resalta el botón Descargar después de seleccionar la compilación caddy-dns para DigitalOcean.

Detenga el servicio Caddy usando systemctl:

Cree una copia de seguridad del archivo binario Caddy original y luego copie el binario personalizado en su directorio “/usr/bin/”.

Pruebe si su binario Caddy personalizado funciona correctamente verificando su versión:

Habilitación de Caddy SSL para dominios comodín

Abra el Caddyfile de su sistema usando su editor de texto favorito:

Pega el siguiente bloque de código dentro de tu Caddyfile:

Obtenga una clave API de su proveedor de DNS. En DigitalOcean, puede obtener esto yendo a su panel de DigitalOcean y luego haciendo clic en API en la barra lateral izquierda de la página.

Una captura de pantalla que resalta el botón API en el panel de DigitalOcean.

Haga clic en Generar nuevo token y luego proporcione los detalles de su clave API.

Una captura de pantalla que muestra los detalles del token para los certificados comodín SSL automatizados.

Copie su secreto de API, luego péguelo en la variable «API-KEY» en su Caddyfile.

Personalice el Caddyfile para su configuración específica y luego guárdelo.

Un terminal que muestra un archivo de configuración Caddy multisitio modificado.

Asegúrese de que su nombre de dominio tenga los registros A y AAAA apropiados para su dominio y subdominio.

Reinicie su demonio Caddy deshabilitado para aplicar su nueva configuración:

Pruebe si su configuración «multiservicio» funciona correctamente abriendo ambos dominios en un navegador web.

Una captura de pantalla que muestra los dos servicios que se ejecutan bajo SSL con Caddy.

Aprender a implementar servicios web simples y seguros usando Caddy es solo el primer paso para explorar el maravilloso mundo del autohospedaje en Linux. Sumérgete más profundamente en este universo creando tu propio servidor de alias de correo electrónico con SimpleLogin .

Crédito de la imagen: Jonathan Ybema a través de Unsplash y Wikimedia Commons . Todas las modificaciones y capturas de pantalla realizadas por Ramces Red.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *