¡Esta es una revisión vieja del documento!
Tabla de Contenidos
OpenBSD-7.7 con PHP-FPM 8.4
Veremos como instalar PHP-FPM en una servidor WEB con el demonio httpd en una maquina con OpenBSD-7.7, para ejecutar codigo PHP.
Resumen
PHP-FPM, PHP-FastCGI Process Manager, es parte del paquete PHP-8 en los paquetes de OpenBSD hoy en dia.
Entonces, la instalacion de PHP-8, viene con php8.4_fpm automaticamente.
Te mostrare como configurarlo en este articulo.
Ambiente:
Entonces tenemos un Servidor con OpenBSD con:
- OpenBSD 7.7 amd64
- PHP-8.4
Instalacion
El primer paso es instalar el paquete PHP:
# pkg_add php Ambiguous: choose package for php a 0: <None> 1: php-8.3.21 2: php-8.4.7 Your choice:
Elijo “2” debido a cada termino 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-8.2.ini .rw-r--r-- 73k root 12 Jul 16:11 /etc/php-8.4.ini .rw-r--r-- 25k root 13 Jun 11:35 /etc/php-fpm.conf /etc/php-8.2: /etc/php-8.2.sample: /etc/php-8.4: /etc/php-8.4.sample: .rw-r--r-- 26 root 12 Jul 16:11 opcache.ini /etc/php-fpm.d:
Bueno, los archivos .ini en /etc/php-8.4.sample/ son extensiones PHP.
Segun la necesidad, copie cada uno de ellos en /etc/php-8.4/ para activar las extensiones:
# cp /etc/php-8.4.sample/*.ini /etc/php-8.4/.
Tambien edite /etc/php-8.4.ini segun sea necesario. Y cambie el parametro siguiente:
;upload_max_filesize = 2M upload_max_filesize = 5M
Ademas, el manual tambien se instala como /usr/local/share/doc/pkg-readmes/php-8.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 php84_fpm
- rcctl start php84_fpm
Por lo tanto para habilitar y reiniciar el demonio debemos ejecutar, como root en una terminal:
# rcctl enable php84_fpm # rcctl start php84_fpm
Estamos listos, esto debe levantar el demonio y estar en ejecucion.
- Solucion de problemas: si no puede iniciar php84_fpm (o php82_fpm), podria ser el error conocido Arreglando php72_fpm en OpenBSD 6.4, reviselo y adaptelo a su version en uso.
Uso
A continuacion, tenemos que preparar un servidor web.
Asi 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 mostrara todo el phpinfo!
Como se podra dar cuenta, si analiza la entrada obsd-67-php, se mantiene practicamente igual que la actual version de OpenBSD-7.7, sin grandes cambios y sin grandes dolores de cabeza para mantener su infraestructura.