Cómo instalar Caddy Web Server en Linux

En estos días, HTTPS es clave cuando se aloja un sitio web. Sin él, sus usuarios podrían estar filtrando datos muy personales de su sitio web al mundo. Para solucionar este problema, muchos webmasters de Linux han comenzado a utilizar las herramientas LetsEncrypt, ya que facilitan la generación de un certificado. Aún así, por muy fácil que sea LetsEncrpyt, habilitarlo en Nginx o Apache en Linux puede ser un poco complicado. Afortunadamente, existe una forma mejor. Presentamos el servidor web Caddy. Es un servidor web que tiene HTTPS habilitado de forma predeterminada. Si está harto de tener que lidiar con los certificados SSL, Caddy puede ser justo lo que necesita.

Instalación de Caddy

La instalación del servidor web Caddy funciona prácticamente igual sin importar el sistema operativo del servidor que esté utilizando. La razón por la que Caddy es tan fácil de instalar es que el desarrollador elige usar un script Bash descargable para instalar el software, en lugar de agregar repositorios de software de terceros o instalarlo mediante binarios.

En este tutorial, usaremos Ubuntu Server, aunque ejecutar Caddy web Server también funcionará bien en la mayoría de los demás sistemas operativos Linux, incluso en los de escritorio. Para comenzar, asegúrese de tener la aplicación Curl en su PC con Linux. Si no lo hace, abra una terminal, busque en su administrador de paquetes «curl» e instálelo.

  Las 5 mejores herramientas de cifrado de Linux para instalar

Nota: determine si ya tiene curl ejecutando curl en la terminal. Si aparece el diálogo de «ayuda» para el programa, tienes Curl en tu máquina Linux.

curl https://getcaddy.com | bash -s personal

El servidor web Caddy es de uso gratuito para uso personal, pero debe especificarlo. ¿Planea utilizar Caddy en un entorno empresarial? Ejecute el comando de instalación con:

curl https://getcaddy.com | bash -s commercial

Ejecutar Curl lo canalizará a través de Bash e iniciará automáticamente el proceso de instalación. El instalador de Caddy tardará en descargar el binario del servidor web y colocarlo en el directorio / usr / local / bin /. Si la instalación se realiza correctamente, verá un mensaje que dice «Se instaló correctamente».

En este punto, deberá modificar el binario Caddy. Ejecute el siguiente comando en la terminal, con privilegios de sudo.

sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy

Configurar Caddy

Caddy está instalado en el servidor. El siguiente paso del proceso es configurar la estructura del directorio. Empiece por conseguir una terminal raíz. Hacer esto hará que la modificación de carpetas en el sistema de archivos sea mucho más rápida, ya que no necesitará ingresar sudo para cada comando, seguido de una contraseña.

En la mayoría de los sistemas, los usuarios pueden iniciar sesión directamente en la cuenta raíz con:

su

En el servidor Ubuntu, sin embargo, la cuenta raíz está bloqueada por razones de seguridad. Para evitar esto, obtenga un shell de root con sudo.

sudo -s

Ahora que tenemos acceso root, creemos los directorios necesarios para que el servidor Caddy funcione correctamente.

mkdir /etc/caddy

mkdir /etc/ssl/caddy

Nota: Si su servidor ya tiene un directorio / var / www /, omita este último comando mkdir.

mkdir /var/www

A continuación, cree un nuevo «Caddyfile» dentro de / etc / caddy /.

touch /etc/caddy/Caddyfile

Con el comando chmod, actualice los permisos para la subcarpeta Caddy dentro de / etc / ssl /.

chmod 0770 /etc/ssl/caddy

Por último, utilice el directorio / var / www /:

chown www-data: /var/www

Caddy Systemd File

La mayoría de los servidores, especialmente el servidor Ubuntu, hacen un uso intensivo del sistema de inicio systemd. Sin embargo, dado que el servidor web se instala a través del script Bash, no hay un archivo systemd. En cambio, necesitaremos hacer el nuestro. Utilice el comando táctil para crear un nuevo archivo de servicio en blanco.

touch /lib/systemd/system/caddy.service

Abra el nuevo archivo caddy.service y pegue el siguiente código en él:

  Cómo hacer que Gimp se parezca a Adobe Photoshop en Linux

[Unit]
Descripción = servidor web Caddy HTTP / 2
Documentación = https: //caddyserver.com/docs
Después = network-online.target
Wants = network-online.target

[Service]
Reiniciar = en caso de falla
StartLimitInterval = 86400
StartLimitBurst = 5

Usuario = www-data
Grupo = www-data
; Los certificados emitidos por Letsencrypt se escribirán en este directorio.
Entorno = CADDYPATH = / etc / ssl / caddy

ExecStart = / usr / local / bin / caddy -log stdout -agree = true -conf = / etc / caddy / Caddyfile -root = / var / tmp
ExecReload = / bin / kill -USR1 $ MAINPID

LimitNOFILE = 1048576
Límite NPROC = 64

PrivateTmp = verdadero
PrivateDevices = verdadero
ProtectHome = verdadero
ProtectSystem = lleno
ReadWriteDirectories = / etc / ssl / caddy

; Las siguientes directivas de seguridad adicionales solo funcionan con systemd v229 o posterior.
; Además, retoman los privilegios que puede obtener un caddie. Descomenta si quieres.
; Tenga en cuenta que es posible que deba agregar las capacidades requeridas por cualquier complemento en uso.
; CapabilityBoundingSet = CAP_NET_BIND_SERVICE
; AmbientCapabilities = CAP_NET_BIND_SERVICE
; NoNewPrivileges = verdadero

  Cómo cambiar el nombre de host de la computadora Linux

[Install]
WantedBy = multi-user.target

Hay mucho código para el archivo caddy.service, así que haga todo lo posible para asegurarse de que todo esté allí. Cuando esté seguro, guarde los cambios presionando la combinación de teclado Ctrl + X. Salga del editor con Ctrl + X.

systemctl enable caddy.service

systemctl start caddy.service

Después de configurar systemd, todo debería estar listo para funcionar.

Configurar dominios

Caddy, como cualquier otro servidor web, necesita un poco de configuración antes de usarlo. Comience creando una carpeta de dominio:

Nota: asegúrese de cambiar el nombre de «test-domain.org» con su dominio.

mkdir -p /var/www/test-domain.org/

A continuación, edite el archivo Caddyfile que creamos anteriormente.

nano /etc/caddy/Caddyfile

Pegue el siguiente código para activar su nuevo dominio:

my-domain.com {
root /var/www/test-domain.org
}

Reinicie el servicio Caddy systemd para guardar los cambios. Cuando el servicio termina de reiniciarse, Caddy está listo para usarse en su servidor.

systemctl restart caddy.service