¿Cómo instalar PHP en NetBSD?

PHP 8.0 incorporó características modernas como: Unión de tipos (Union Types), Argumentos nombrados (Named arguments), expresiones match (Match expressions), compilación en tiempo de ejecución (Just In Time Compilation) entre otras.

En el día de hoy vamos a instalar PHP 8.0 en NetBSD 9.1.

Le puede interesar:

Instalar PHP y PHP-FPM

PHP-FPM es usado conjuntamente con un servidor web como Apache o NGINX y se encarga de servir contenido dinámico, mientras el servidor web se encarga de servir el contenido estático.

PHP-FPM introduce el concepto de pools, cada pool puede recibir conexiones en un socket TPC/IP (IP:Puerto) o en socket UNIX, y puede ejecutarse bajo un usuario y grupo diferente. Cada pool tiene su fichero de configuración.

Para instalar PHP conjuntamente con PHP-FPM ejecute el siguiente comando:

# pkgin install php80-fpm
calculating dependencies...done.

6 packages to install:
  php80-fpm-8.0.3nb5 readline-8.1 php-8.0.3 pcre2-10.36 libxml2-2.9.10nb3 xmlcatmgr-2.2nb1

0 to refresh, 0 to upgrade, 6 to install
10M to download, 69M to install

proceed ? [Y/n]

Una vez terminado el proceso puede explorar las configuraciones por defecto, aquí una muestra de las estructura de directorios:

/usr/pkg/etc/
|-- php-fpm.conf
|-- php-fpm.d
|   `-- www.conf
|-- php.ini

Mostrar versión instalada

# php -v 
PHP 8.0.3 (cli) (built: Mar 29 2021 07:45:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.3, Copyright (c) Zend Technologies

Listar módulos

# php -m 
php -m
[PHP Modules]
Core
ctype
date
dom
...

Puede mostrar todos los módulos disponibles para instalar con el siguiente comando:

# pkgin search '^php80\-'
...
php80-bz2-8.0.3      PHP extension for bzip2 compression
php80-calendar-8.0.3  PHP extension for calendar conversion support
php80-composer-2.0.11  Dependency Manager for PHP
php80-curl-8.0.3nb9  PHP extension for curl functions
...

Para instalar un módulo adicional, por ejemplo curl ejecute:

# pkgin install php80-curl
calculating dependencies...done.

8 packages to install:
  php80-curl-8.0.3nb9 curl-7.76.0 nghttp2-1.43.0 libidn2-2.3.0 libunistring-0.9.10 python38-3.8.8
  libuuid-2.32.1 libffi-3.3nb4

0 to refresh, 0 to upgrade, 8 to install
39K to download, 105M to install

proceed ? [Y/n]

Administrar el proceso php_fpm

En esta parte aprenderemos cómo iniciar, detener o reiniciar el servicio php-fpm, para esto usaremos el «Administrador de sistema» de BSD que está compuesto por los servicios: init, rc y service

Agregar script de inicialización

El paquete php80-fpm nos proporciona un script de ejemplo /usr/pkg/share/examples/rc.d/php_fpm así que bastaría con copiar dicho script para /etc/rc.d

# cp -v /usr/pkg/share/examples/rc.d/php_fpm /etc/rc.d/
/usr/pkg/share/examples/rc.d/php_fpm -> /etc/rc.d/php_fpm

Inicio automático

Añadimos la siguiente línea al fichero /etc/rc.conf la cuál indica que el servicio php_fpm se inicia automáticamente después de un reinicio del sistema operativo.

php_fpm=YES

Comprobar estado

# service php_fpm status 
php_fpm is not running.

Iniciar

# service php_fpm start
Starting php_fpm.

puede comprobar el estado nuevamente

# service php_fpm status
php_fpm is running as pid 1995.

Reiniciar

Para aplicar cualquier modificación realizada al fichero de configuración debe reiniciar el servicio con el siguiente comando:

# service php_fpm restart
Stopping php_fpm.
Starting php_fpm.

En el próximo post mostraremos como integrar PHP-FPM con NGINX.

YouTube video

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.