¿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.

Los tutoriales aquí en LibreByte están disponible bajo una licencia de software libre. Si le gusta mi trabajo considere:
Comprar un Hosting/VPS o Servidor Dedicado en MCKHost

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

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