¿Cómo instalar php 7.1 en Caddy Server? (Debian 9)

PHP 7.1 no está disponible a través de los repositorios Debian predeterminados, por lo que agregaremos el repositorio "packages.sury.org/php", actualizaremos el sistema e instalaremos los paquetes PHP 7.1.

sudo apt-get install apt-transport-https

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

sudo apt update

Para instalar la última versión de PHP 7.1 y todos los módulos necesarios, ejecute:

sudo apt install php7.1-common php7.1-readline php7.1-fpm php7.1-cli php7.1-gd php7.1-mysql php7.1-mcrypt php7.1-curl php7.1-mbstring php7.1-opcache php7.1-json

Cambiamos algunas configuraciones predeterminadas de PHP:

sudo sed -i "s/memory_limit = .*/memory_limit = 256M/" /etc/php/7.1/fpm/php.ini

sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/7.1/fpm/php.ini

sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.1/fpm/php.ini

sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.1/fpm/php.ini

Una vez finalizado el proceso de instalación, inicie y habilite su servicio PHP-FPM con los siguientes comandos:

systemctl start php7.1-fpm

systemctl enable php7.1-fpm

A continuación, abra el archivo de configuración PHP-FPM con su editor de texto:

nano /etc/php/7.1/fpm/pool.d/www.conf

Encuentra las siguientes líneas:

user = www-data
group = www-data

Y cámbialos como a continuación:

user = caddy
group = caddy

Continúa y encuentra las líneas "listen.owner", quitales el ";" y cámbialas para que se vean a continuación:

listen.owner = caddy
listen.group = caddy
listen.mode = 0660

Encuentra la línea que comienza con "escuchar" y cambia el valor como a continuación:

listen = 127.0.0.1:9000

Una vez hechos esos cambios en el archivo /etc/php/7.1/fpm/pool.d/www.conf. Guardamos y cerramos el modo edición. Después reiniciamos el servicio PHP-FPM para que los cambios tengan efecto:

systemctl restart php7.1-fpm

Configuramos el php para nuestro sitio web

Para ello empezamos editando el CaddyFile:

nano /etc/caddy/Caddyfile

dominio.es {
tls admin@dominio.es
root /var/www/
fastcgi / 127.0.0.1:9000 php
gzip
}

Después de editar el CaddyFile y guardarlos cambios procedemos a reinicar Caddy para que se apliquen los cambios:

systemctl restart caddy

Ahora vamos a probar si el PHP y del servidor web esta funcionando correctamente

Para ello vamos a crear un archivo llamado "info.php" en el directorio raíz nuestro servidor web:

nano /var/www/info.php

Pega el siguiente código en el archivo info.php y guarda los cambios:

<?php
phpinfo();
?>

Ahora puedes abrir tú navegador y ver si tú dominio o su dirección IP pública (por ejemplo, http://dominio.es/info.php) si ve la siguiente página, entonces su PHP y Caddy está funcionando bien: