Cómo instalar PHP en FreeBSD 13

En esta ocasión vamos a ver cómo instalar PHP en FreeBSD 13 paso a paso, de tal manera que puedas trabajar con este potente lenguaje de programación en aplicaciones web o de consola sobre tu servidor o VPS FreeBSD.

Antes de instalar PHP en FreeBSD 13

Si quieres completar los pasos de esta guía de instalación de PHP en FreeBSD 13 es importante cumplir los siguientes requisitos mínimos:

  • Un sistema FreeBSD 13 actualizado.
  • Un servicio web.
  • Acceso a línea de comandos con privilegios de sudo.
  • Conexión a Internet.

En caso de que no dispongas aún del entorno mínimo es muy probable que te interese consultar previamente nuestra guía de instalación de Apache en FreeBSD 13.

Pero si ya cumples estos requisitos es hora de regular la altura de la mesa de trabajo a la posición más cómoda y abrir una terminal de consola.

Cómo instalar PHP en FreeBSD 13

Vamos a instalar PHP en FreeBSD 13 desde los repositorios del sistema, por lo que el primer paso será actualizar su información:

~$ sudo pkg update

En el momento de redactar este tutorial FreeBSD 13 ofrece las siguientes versiones de PHP: 8.1, 8.2 y 8.3.

Para instalar una u otra versión basta con saber que los paquetes correspondientes comienzan su nombre con el prefijo phpXX-, siendo XX 81, 82 u 83. Es decir, tenemos paquetes que empiezan por php81-, php82- y php83-.

Por ejemplo, para instalar PHP 8.1 en FreeBSD 13 usaríamos el siguiente comando:

~$ sudo pkg install -y php81

Para instalar PHP 8.2 usaríamos este otro:

~$ sudo pkg install -y php82

Y para instalar PHP 8.3 usaríamos el siguiente:

~$ sudo pkg install -y php83

Además de la versión, a la hora de instalar PHP en FreeBSD 13 debemos tener en cuenta con qué servicio web vamos a trabajar. En este tutorial tendremos en cuenta los dos servicios web más usados.

Instalación de PHP en FreeBSD 13 para Apache

En este caso la integración de PHP con el servicio web se realizará a través de un módulo específico, que instalaremos teniendo en cuenta la versión de PHP que queremos utilizar. Por ejemplo, para PHP 8.1:

~$ sudo pkg install -y mod_php81

Para PHP 8.2:

~$ sudo pkg install -y mod_php82

Y para PHP 8.3:

~$ sudo pkg install -y mod_php83

Para integrar PHP con el servicio web, editamos el archivo de configuración de Apache:

~$ sudo nano /usr/local/etc/apache24/httpd.conf

Buscamos la directiva DirectoryIndex:

...
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
...

Y añadimos el nombre de archivo index.php:

...
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
...

Además, al final del archivo, añadiremos los siguientes bloques:

...
<FilesMatch "\.php$">
        SetHandler application/x-httpd-php
</FilesMatch>

<FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
</FilesMatch>

Guardamos los cambios y reiniciamos el servicio:

~$ sudo service apache24 restart

Instalación de PHP en FreeBSD 13 para Nginx

En este caso el servicio web interactúa con el servicio PHP-FPM, que por defecto está inactivo, así que lo activamos:

~$ sudo service php-fpm enable

Y lo iniciamos:

~$ sudo service php-fpm start

Ahora editamos el archivo de configuración principal de Nginx:

~$ sudo nano /usr/local/etc/nginx/nginx.conf

Localizamos esta sección:

...
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
...

Está desactivada por comentarios, por lo que eliminaremos algunos de los caracteres # inciales y haremos los cambios mostrados en las directivas root y fastcgi_params:

...
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           /usr/local/www/nginx;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
...

Guardamos los cambios y recargamos la configuración del servicio web:

~$ sudo service nginx reload

Cómo probar PHP en FreeBSD 13

La forma más fácil y rápida de probar PHP en FreeBSD 13 es ver si funciona la versión de consola o CLI, usando el comando php:

~$ php -v
PHP 8.1.27 (cli) (built: Mar 30 2024 02:30:40) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.3.1, Copyright (c) Zend Technologies

El comando anterior nos muestra la versión de PHP instalada en FreeBSD 13 gracias al parámetro -v, y por supuesto sirve para todas las versiones:

~$ php -v
PHP 8.3.1 (cli) (built: Mar 30 2024 02:58:59) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.3.1, Copyright (c) Zend Technologies

Si lo que queremos es probar la integración de PHP con el servicio web de FreeBSD 13 crearemos un pequeño script que sea accesible desde un navegador.

En el caso de trabajar con Apache crearemos el archivo en la ruta correspondiente:

~$ sudo nano /usr/local/www/apache24/data/info.php

Y si se trata de Nginx haremos lo propio:

~$ sudo nano /usr/local/www/nginx/info.php

El contenido en ambos casos será el siguiente:

<?php phpinfo();

Una vez guardados los cambios, podemos acceder desde un navegador a este script indicando la dirección (IP, nombre DNS, dominio, localhost si trabajamos localmente, etc.) añadiendo el nombre del archivo que acabamos de crear.

Por ejemplo, la máquina FreeBSD 13 que hemos usado para realizar este tutorial es accesible en el subdominio freebsd13.local.lan, y hemos creado el script info.php, así que podemos usar http://freebsd13.local.lan/info.php como URL.

Una combinación de Apache con PHP 8.1 mostraría algo como esto:

como instalar php en freebsd 13

O, por ejemplo, con PHP 8.3:

como instalar y configurar php en freebsd 13

Cómo configurar PHP en FreeBSD 13

A continuación vamos a ver cómo configurar PHP en FreeBSD 13, ya que aunque hemos visto que la instalación funciona se basa en valores por defecto a los que habría que añadir unos mínimos ajustes.

Sea cual sea la versión que instalemos tendremos que crear el archivo de configuración de PHP a partir de uno de los dos archivos de ejemplo que nos proporciona la instalación, php.ini-development y php.ini-production. El primero está orientado a entornos de desarrollo de aplicaciones y el segundo lo está a servicios en producción que serán utilizados por usuarios finales.

Por tanto, si queremos que se muestren mensajes de error en caso de fallo para ayudar a depurar las aplicaciones PHP, por ejemplo, elegiremos el archivo php.ini-development:

~$ sudo cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini

Y si necesitamos ocultar este tipo de mensajes por tratarse de un sistema en producción, elegiremos php.ini-production:

~$ sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Ahora editaremos el nuevo archivo de configuración:

~$ sudo nano /usr/local/etc/php.ini

Buscamos la directiva date.timezone:

...
;date.timezone =
...

La activamos borrando el carácter inicial ; y le damos el valor adecuado para nuestra zona horaria, por ejemplo para España peninsular:

...
date.timezone = Europe/Madrid
...

Si no conoces el valor de la zona horaria que te interesa, puedes consultarlo en la documentación oficial.

Una vez guardados los cambios, habrá que recargar la configuración del servicio web si trabajamos con Apache:

~$ sudo service apache24 reload

O del servicio PHP si usamos Nginx:

~$ sudo service php-fpm reload

Cualquier otra configuración que debas hacer en PHP se realizará repitiendo el proceso anterior.

Conclusión

Ahora que sabes cómo instalar PHP en FreeBSD 13 ya puedes usar la potencia de este lenguaje de programación tanto para desarrollar e instalar aplicaciones web como aplicaciones de consola en tu servidor o VPS.

¡Apoya comoinstalar.me!

¿Ya funciona este lenguaje de programación en tu propia máquina? Si es así y quieres agradecérnoslo, siempre es bienvenida cualquier mínima aportación al mantenimiento y creación de más artículos y tutoriales.

Puedes ayudarnos dejando una propina de tan sólo 1 $ desde PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

2 comentarios en «Cómo instalar PHP en FreeBSD 13»

  1. Saludos. Quería comentarles que en FreeBSD 13.2 cuanto instalo mod_php82 apache24 deja de funcionar, no corre. Arroja lo siguiente.

    root@freebsd132:/usr/local/etc/apache24# service apache24 restart
    Performing sanity check on apache24 configuration:
    Syntax OK
    apache24 not running? (check /var/run/httpd.pid).
    Performing sanity check on apache24 configuration:
    Syntax OK
    Starting apache24.
    root@freebsd132:/usr/local/etc/apache24# service apache24 status
    apache24 is not running.
    root@freebsd132:/usr/local/etc/apache24#

    He hecho de todo y no he conseguido que funcione, probé con php83 pero tampoco funcionó, lo que me toca probar con php81.

    Responder
    • Hola, Jose. Acabo de revisar el tutorial sobre FreeBSD 13.3 instalando varias versiones de PHP y no he tenido problema alguno. Seguramente al modificar el archivo de configuración del servicio web para introducir los ajustes de PHP es posible que se haya colado alguna errata. Revisa la configuración para que coincida exactamente con lo que se muestra en el tutorial.

      También puedes obtener pistas de qué puede estar ocurriendo consultando el archivo /var/log/httpd-error.log.

      Responder

Deja un comentario