Tabla de Contenidos
OpenBSD-6.7 con PHP-FPM 7.4
Veremos como instalar PHP-FPM en una servidor WEB con el demonio httpd en una maquina con OpenBSD-6.7, para ejecutar código PHP.
Resumen
PHP-FPM, PHP-FastCGI Process Manager, es parte del paquete PHP-7 en los paquetes de OpenBSD hoy en día.
Entonces, la instalación de PHP-7, viene con php7_fpm automáticamente.
Te mostraré cómo configurarlo en este artículo.
Ambiente:
Entonces tenemos un Servidor con OpenBSD con:
- OpenBSD 6.7 amd64
- PHP-7.3
Instalación
El primer paso es instalar el paquete PHP:
# pkg_add php Ambiguous: choose package for php a 0: <None> 1: php-5.6.38p0 2: php-7.0.32p1 3: php-7.1.22 4: php-7.2.10 5: php-7.3.18 Your choice:
Elijo “5” debido a cada término de soporte de las versiones de PHP.
Luego se hacen estos directorios/archivos:
$ ls /etc/php* .rw-r--r-- 73k root 13 Jun 11:35 /etc/php-7.4.ini .rw-r--r-- 73k root 12 Jul 16:11 /etc/php-8.0.ini .rw-r--r-- 25k root 13 Jun 11:35 /etc/php-fpm.conf /etc/php-7.4: /etc/php-7.4.sample: /etc/php-8.0: /etc/php-8.0.sample: .rw-r--r-- 26 root 12 Jul 16:11 opcache.ini /etc/php-fpm.d:
Bueno, los archivos .ini en /etc/php-7.3.sample/ son extensiones PHP.
Según la necesidad, copie cada uno de ellos en /etc/php-7.4/ para activar las extensiones:
# cp /etc/php-7.4.sample/*.ini /etc/php-7.4/.
También edite /etc/php-7.3.ini según sea necesario. Y cambie el parámetro siguiente:
;upload_max_filesize = 2M upload_max_filesize = 5M
Además, el manual también se instala como /usr/local/share/doc/pkg-readmes/php-7.4 que declara:
Los principales paquetes php de OpenBSD incluyen php-fpm, FastCGI Process Manager
Esto gestiona grupos de procesos FastCGI: los inicia/reinicia y mantiene un numero minimo y maximo de procesos de reserva segun lo configurado. Puede usar rcctl(8) para habilitar php-fpm en el arranque e iniciarlo en tiempo de ejecucion 2.
- rcctl enable php74_fpm
- rcctl start php74_fpm
Por lo tanto para habilitar y reiniciar el demonio debemos ejecutar, como root en una terminal:
# rcctl enable php74_fpm # rcctl start php74_fpm
Estamos listos, esto debe levantar el demonio y estar en ejecucion.
- Solución de problemas: si no puede iniciar php74_fpm (o php73_fpm), podría ser el error conocido Arreglando php72_fpm en OpenBSD 6.4
Uso
A continuación, tenemos que preparar un servidor web.
Así que editemos `/etc/httpd.conf` para agregar el `socket fastcgi` en secciones de SERVIDORES como esta:
types { include "/usr/share/misc/mime.types" } ext_addr="egress" server "default" { listen on $ext_addr port 80 root "/htdocs" directory index index.php location "*.php*" { fastcgi socket "/run/php-fpm.sock" } }
Tenga en cuenta que chroot funciona en este contexto.
Por lo tanto, el socket fastcgi “/run/php-fpm.sock” en /etc/httpd.conf en realidad significa socket fastcgi “/var/www/run/php-fpm.sock”.
Esto es lo mismo para esa root “/htdocs” significa “/var/www/htdocs”.
Probando
Hagamos /var/www/htdocs/info.php para pruebas como esta:
# vim /var/www/htdocs/info.php <?php phpinfo(); phpinfo(INFO_MODULES); ?>
¡Entonces tu navegar desde tu computador te mostrará todo el phpinfo!