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