El Caddy o Caddy web server es un servidor web de código abierto habilitado para HTTP/2 escrito en Go. Caddy puede funcionar en varios sistemas, incluyendo los que funcionan con Linux, Windows, Mac OS, Android, y sistemas operativos BSD. Caddy tiene muchas características y puede instalarse como servidor web y como proxy inverso para su aplicación. Las características más notables del servidor web de Caddy son el HTTPS automático activado por defecto sin configuración extra.
En este tutorial, os mostraré paso a paso cómo instalar y configurar el servidor web del Caddy con PHP-FPM 7.x en Ubuntu 16.04. Instalaremos Caddy en el entorno local, y luego configuraremos PHP-FPM para aplicaciones basadas en PHP.
Lo que haremos
- Instalar Caddy web server
- Configurar Caddy web server
- Ejecutar Caddy como un servicio en Systemd en Ubuntu 16.04
- Instalar PHP y PHP-FPM 7.0
- Configurar Caddy web server con PHP-FPM
- Testear
Instalar Caddy web server
En este paso, instalaremos el servidor web del Caddy usando el script de instalación. El script descargará automáticamente el archivo binario y lo extraerá al directorio bin.
Descarga el script de instalación y hazlo ejecutable.
wget https://getcaddy.com -O getcaddy chmod +x getcaddy
Ahora ejecuta el script de instalación con sudo.
sudo ./getcaddy personal http.ipfilter,http.ratelimit
Nota:
- getcaddy = script de instalación del caddy.
- personal = licencia para nuestra instalación.
- http.ipfileter ... = incluyen la instalación de plugins para el caddy.
Espera la instalación del servidor web del caddy y obtendrás el resultado. El servidor web del Caddy ha sido instalado en Ubuntu 16.04.
Configuración básica del servidor web Caddy
En este paso, configuraremos el servidor web Caddy. Crearemos un nuevo usuario llamado 'caddy', crearemos un nuevo directorio para el archivo de configuración de caddy, un nuevo directorio para los archivos de registro de caddy y un nuevo directorio para el directorio raíz web de Caddy.
Crear un nuevo usuario 'caddy' usando la opción '/bin/false'
como se muestra abajo.
useradd -M -s /bin/false caddy
Ahora ejecuta el siguiente comando mkdir
para crear el directorio de caddy.
mkdir -p /etc/caddy mkdir -p /var/log/caddy mkdir -p /var/www/html
Y cambiar la ownership(propiedad) al usuario del caddy.
chown -R caddy:root /etc/caddy /var/log/caddy
A continuación, crearemos un nuevo archivo de configuración del caddy llamado Caddyfile
. Ve al directorio /etc/caddy
y crea la configuración con el comando vim
.
cd /etc/caddy/ vim Caddyfile
Pega la configuración básica de caddy allí.
http://hakase-labs.co { root /var/www/html log /var/log/caddy/hakase-labs.log tls off gzip }
Salva y sale.
Nota:
- tls off = estamos ejecutando el caddy en el servidor local, si estás en el servidor en vivo, habilita la opción.
La configuración básica del servidor web del Caddy ha sido completada.
Ejecutar Caddy como un servicio en Systemd en Ubuntu 16.04
En este paso, ejecutaremos el servidor web del caddy como servicio en el sistema systemd y crearemos el archivo index.html para nuestro servidor web del caddy.
Crea un nuevo archivo de servicio llamado caddy.service
usando VIM..
vim /etc/systemd/system/caddy.service
Pega la siguiente configuración allí.
[Unit] Description=Caddy HTTP/2 web server [Service] User=caddy Group=caddy Environment=CADDYPATH=/etc/caddy ExecStart=/usr/local/bin/caddy -agree=true -log=/var/log/caddy/caddy.log -conf=/etc/caddy/Caddyfile -root=/dev/null ExecReload=/bin/kill -USR1 $MAINPID LimitNOFILE=1048576 LimitNPROC=64 [Install] WantedBy=multi-user.target
Guarda y sale
Ahora recarga el programa de systemd y empieza el servicio de caddy usando el comando systemctl como se muestra a continuación.
systemctl daemon-reload systemctl start caddy
Habilitarlo para que se lance siempre en el arranque del sistema.
systemctl enable caddy
El servidor web del Caddy está funcionando como un servicio en Ubuntu 16.04. A continuación, crearemos un nuevo archivo index.html bajo el directorio raíz de la web /var/www/html
.
Ve a ese directorio y crea el archivo index.html usando los siguientes comandos.
cd /var/www/html echo '<h1><center>Caddy web server</center></h1>' > index.html
Ahora cambia el dueño del archivo al usuario y grupo de "caddy".
chown -R caddy:caddy /var/www/html
Se ha creado el archivo index.html. Abre el navegador web y escribe la dirección del nombre de dominio que has escrito en la configuración de Caddyfile
, el mío es:
http://ma-no.org/
Y obtendrás así la página de índice que hemos creado.
Instalar PHP y PHP-FPM 7.0
En este paso, instalaremos los paquetes PHP-FPM del repositorio de Ubuntu.
Ejecuta el comando apt
abajo.
sudo apt install -y php7.0-fpm php7.0-cli curl
Después de que la instalación se complete, configuraremos el archivo de configuración para PHP-FPM.
Ve al directorio /etc/php/7.0/fpm
y edita el archivo de configuración de pool www.conf
usando vim.
cd /etc/php/7.0/fpm vim pool.d/www.conf
Descomenta estas líneas abajo.
listen.owner = www-data listen.group = www-data listen.mode = 0660
Guarda y sale.
Ahora añade el usuario caddy
al grupo www-data
.
usermod -a -G www-data caddy
Inicia el servicio PHP-FPM y habilítalo para que se lance cada vez que arranque el boot del sistema.
systemctl start php7.0-fpm systemctl enable php7.0-fpm
La instalación y configuración de PHP-FPM para la instalación del servidor web de nuestro Caddy ha sido completada.
Revisa el proceso del archivo de sockets PHP-FPM usando el comando netstat
a continuación.
netstat -pl | grep php
Configurar el servidor web de Caddy con PHP-FPM
Después de la instalación y configuración de PHP-FPM, añadiremos el soporte de PHP-FPM al servidor web Caddy.
Ve al directorio de configuración /etc/caddy
y edita el archivo de configuración Caddyfile
usando vim.
cd /etc/caddy vim Caddyfile
Ahora agrega la siguiente configuración PHP-FPM para el caddy bajo el paréntesis de tu nombre de dominio como se indica a continuación.
http://hakase-labs.co { root /var/www/html log /var/log/caddy/hakase-labs.log errors /var/log/caddy/errors.log tls off gzip # PHP-FPM Configuration for Caddy fastcgi / /run/php/php7.0-fpm.sock php { ext .php split .php index index.php } }
Guarda y sale.
Reinicia el servidor web caddy y el servicio PHP-FPM..
systemctl restart caddy systemctl restart php7.0-fpm
La configuración del servidor web Caddy con PHP-FPM ha sido completada.
Prueba del servidor
Ve al directorio raíz de la web /var/ww/html
y crea el archivo phpinfo info.php
.
cd /var/www/html echo '<?php phpinfo(); ?>' > info.php
Abre tu navegador y escribe la instalación de la URL del servidor web Caddy como se indica a continuación.
http://ma-no.org/info.php
Y obtendrás la página de información de PHP. La instalación para el servidor web Caddy con PHP-FPM en Ubuntu 16.04 se ha completado con éxito.
Referencias
Luigi Nori
He has been working on the Internet since 1994 (practically a mummy), specializing in Web technologies makes his customers happy by juggling large scale and high availability applications, php and js frameworks, web design, data exchange, security, e-commerce, database and server administration, ethical hacking. He happily lives with @salvietta150x40, in his (little) free time he tries to tame a little wild dwarf with a passion for stars.
Artículos relacionados
Muchos sitios web no se abrirán en los viejos teléfonos inteligentes Android en 2021
Si tienes un viejo teléfono inteligente Android, este puede ser el momento adecuado para actualizar, ya que no podrás acceder a una gran parte de la web el año que…
Solucionar Problemas html acentos y eñes: charset UTF-8 / ISO-8859-1 en PHP
La codificación de las páginas web (charset) es un problema recurrente para los webmasters, porque: Depende del editor en que se haya hecho la web, si en el trabajamos por defecto…
Como lograr instalar certificados SSL gratis en Wordpress con Cloudflare
Este artículo es parte de una serie de artículos sobre la optimización de Wordpress con Cloudflare y algunos tipos de servidores, se aconseja leer estos artículos antes: Speed up your site…
Temblad. Listos para la nueva actualización de Google Penguin?
Listos para otro cambio? BruceClay.com, como un vigente, nos advierte: “La próxima actualización de Google Penguin, de la que se espera llegue a finales de año, eliminará los enlaces spam de manera…
Certificados HTTPS gratis para todos!! Con Let's Encrypt
Let's Encrypt ha abierto al público la beta para generar y obtener certificados https gratis, permitiendo que cualquiera pueda obtener certificados gratuitos TLS y configurar sitios web en HTTPS en…
Winginx, servidor nginx completo para windows
Cuando necesitamos montar un servidor Apache en Windows o Mac tenemos opciones de WAMP y MAMP muy populares como por ejemplo XAMPP, pero se hacen mas populares servidores como Nginx. Nginx…
Tutorial Intermedio de mod_rewrite
Con el módulo mod-rewrite, se pueden editar muchas tareas del servidor o los requisitos previos para las tareas de redireccionamiento. Las reglas están archivadas en el archivo .htaccess. El manejo…