El servidor web Caddy es un servidor web gratuito de código abierto escrito en el idioma go. Es mejor conocido por su funcionalidad HTTP y la activación predeterminada de HTPPS. Puede ejecutarse en los sistemas más populares, incluidos Windows, OS X y Linux.

Este artículo le mostrará cómo instalar el servidor web Caddy en Ubuntu 18.04 VPS.

Información general

Esto significa que puede mover su sitio de Windows a Linux sin preocuparse por problemas de compatibilidad.

Algunas de sus funciones incluyen;

  • Es autónomo, por lo que no se requiere compilación, ya que está escrito en el lenguaje go, no tiene dependencias externas.
  • Fácil de usar: evita el uso de expresiones regulares, ya que son un poco complicadas.
  • Seguro por defecto
  • El uso de complementos puede ampliar las funciones que ofrece Caddy.
  • Escribe todos los errores en un archivo de registro para una rápida resolución de problemas.
  • Caddy se puede utilizar como un proxy inverso o una biblioteca en su programa Go.
  • Caddy es rápido; Se pueden utilizar más CPU.

requisito

  • Servidor VPS con Ubuntu 18.04
  • Cliente SSH

Cómo instalar y configurar el servidor web Caddy en un VPS Ubuntu 18.04

SSH al servidor VPS

Inicie sesión en su VPS a través de SSH de la siguiente manera.

$ ssh user@vps_IP

Actualizar paquetes

Actualice los paquetes ejecutando los siguientes comandos en la terminal.

$ sudo apt-get update && apt-get -y upgrade
$ sudo apt-get install curl

Instale el servidor web caddy

Luego ejecute el siguiente comando para instalar el servidor web caddy.

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

También puede instalar caddy con algunas características adicionales, use el -S cambiar con una coma

$ curl https://getcaddy.com | bash -s realip,expires,upload

Entonces podemos agregar ahora cap_net_bind_servicecapability for caddy to bind to ports less than 1024

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

Configurar carrito

Ahora necesitamos configurar los directorios que almacenarán los archivos de configuración de caddy y los certificados SSL. Entonces ejecute los siguientes comandos.

$ sudo mkdir /etc/caddy
$ sudo chown -R root:www-data /etc/caddy
$ sudo mkdir /etc/ssl/caddy
$ sudo chown -R www-data:root /etc/ssl/caddy
$ sudo chmod 0770 /etc/ssl/caddy
$ sudo touch /etc/caddy/Caddyfile
$ sudo mkdir /var/www
$ sudo chown www-data: /var/www

Después de eso, necesitamos crear un script de configuración systemD. Entonces haz lo siguiente:

$ sudo nano /lib/systemd/system/caddy.service

Luego agregue lo siguiente al archivo de servicios de caddy:

[Unit]
Description=Caddy HTTP/2 web server
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target
[Service]
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
User=www-data
Group=www-data
; Letsencrypt-issued certificates will be written to here in this directory
Environment=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
LimitNPROC=64
PrivateTmp=true
PrivateDevices=true
ProtectHome=true
ProtectSystem=full
ReadWriteDirectories=/etc/ssl/caddy
; The following additional security directives only work with systemd v229 or later.
; They further restrict privileges that can be gained by caddy. Uncomment if you want.
; You may need to add capabilities required by the plugins in use.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true
[Install]
WantedBy=multi-user.target

Guarde el archivo presionando Control + X y luego sobrescribiendo el archivo caddy original. Luego, ejecute los siguientes comandos para permitir que Caddy se ejecute en el arranque.

sudo systemctl enable caddy.service

Probando la instalación

Crearemos un pequeño sitio web y un archivo caddy. Así que ingrese lo siguiente en su caparazón.

$ sudo mkdir -p /var/www/my-domain.com
$ sudo echo "Caddy" > /var/www/my-domain.com/index.html
$ sudo chown -R www-data: /var/www/my-domain.com

Luego ingrese lo siguiente para agregar nuestro dominio al archivo caddy.

$ sudo nano /etc/caddy/Caddyfile

Luego agregue lo siguiente:

my-domain.com {
    root /var/www/ ateamagencies.000webhostapp.com
}

Luego guarde el archivo, cierre el Bloc de notas y reinicie el carrito.

$ sudo systemctl restart caddy.service

Ahora ve con tu navegador https:// ateamagencies.000webhostapp.com la página de prueba que acabamos de crear.

Conclusión

Si bien Caddy no es exactamente único, tiene ventajas significativas sobre otros servidores web.

Estas propiedades hacen de Caddy, entre otras cosas, una excelente alternativa a los servidores web convencionales. Después de instalar Caddy en nuestro sistema, esperamos que disfrute de estas funciones.