Montar un servidor VPS con Caddy Server Parte 2

Para configurar Caddy Server hay que crear un achivo llamado Caddyfile que es algo parecido a los virtualhost de apache, el archivo de Caddyfile tiene que estar donde instalamos caddy server, en este caso en el directorio / del servidor, dentro de ese archivo ponemos algo parecido a esto, el directorio root es donde ponemos los archivos de nuestra web, el fastcgi es la localización del php que habiamos instalado previamente, pero en concreto el archivo phpx.x-fpm.sock, dependiendo de la versión de php que instales

midomio.es {
root /var/www/html/
fastcgi / /var/run/php/php7.0-fpm.sock php {
ext .php
split .php
index index.php
}
gzip
}
www.midominio.es {
                 redir https://midominio.es{uri}
}

Si queremos hacer subdominios de nuestro dominio, previamente tenemos que añadir los regitros al dns y en el archivo de Caddyfile añadir lo siguiente:

fotos.midominio.es {
  root /var/www/html/fotos
fastcgi / /var/run/php/php7.0-fpm.sock php {
ext .php
split .php
index index.php
}
gzip
}

Una vez tenemos configurado Caddy Server procedemos a arrancarlo, entramos por ssh y ponemos:

cd /

./caddy

Estes comandos ponen en marcha Caddy mientras tenemos la sesión ssh abierta, lo mejor es hacer lo siguiente:

cd /
nohup ./caddy &
cat nohup.out

Usando estos comandos hacemos que el proceso de Caddy Server no dependa de la sesión ssh y no se cierre.

En caso de querer instalar WordPress en Caddy Server hay que hacer lo siguente en el archivo Caddyfile:

 blog.midomio.es {  
  root /var/www/html/blog/  
  fastcgi / /var/run/php/php7.0-fpm.sock php {  
  ext .php  
  split .php  
  index index.php  
  }  
  gzip  
  # PHP-FPM with Unix socket  
  fastcgi / /var/run/php/php7.0-fpm.sock php  
  header / {  
  # Enable HTTP Strict Transport Security (HSTS) to force clients to always  
  # connect via HTTPS (not recommended if only experimenting with HTTPS)  
  Strict-Transport-Security “max-age=31536000;”  
  # Enable cross-site filter (XSS) and tell browser to block detected attacks  
  X-XSS-Protection “1; mode=block”  
  # Prevent some browsers from MIME-sniffing a response away from the declared Content-Type  
  X-Content-Type-Options “nosniff”  
  # Disallow the site to be rendered within a frame (clickjacking protection)  
  # X-Frame-Options “DENY”  
  # Disallow loading of resources from other sites  
  # Content-Security-Policy “default-src ‘self’; script-src ‘self’ maxcdn.bootstrapcdn.com code.jq$  
  }
 
 # Routing for WordPress  
  rewrite / {  
  if {path} not_match ^\/wp-admin  
  to {path} {path}/ /index.php?_url={query}  
  }  
  }

Para más información sobre Caddyfile: https://caddyserver.com/docs/caddyfile

Ver: Como instalar WordPress en Caddy Server