Cómo instalar PHP en FreeBSD 12

Cómo instalar PHP en FreeBSD 12

En esta entrada vamos a ver cómo instalar PHP en FreeBSD 12 paso a paso, un complemento perfecto para integrar con nuestro servidor web, dotándolo de potentes capacidades de desarrollo y despliegue de aplicaciones web.

Cómo instalar PHP en FreeBSD 12

Para instalar PHP en FreeBSD 12 utilizaremos los repositorios oficiales del sistema. Una búsqueda entre los paquetes de PHP de que disponemos nos revelará que la última versión disponible es PHP 7.3.

Los paquetes que instalaremos con pkg son php73, al que añadiremos mod_php73, el módulo para el servidor web Apache:

$ sudo pkg install php73 mod_php73

[...]

$

Se descarga PHP junto a las dependencias que necesite.

Cómo probar PHP en FreeBSD 12

Si quisiéramos probar PHP podemos hacerlo directamente en consola. Creamos un pequeño script guardado en un archivo, por ejemplo, test.php:

<?php
echo "hola, mundo\n\n";
?>

Una vez guardado y de vuelta en consola invocamos PHP para que procese nuestro pequeño script de prueba:

$ php test.php
hola, mundo

$

Y vemos que hace lo que se espera, imprimir un mensaje en la consola. PHP está funcionando en nuestro sistema FreeBSD.

Cómo configurar Apache para PHP en FreeBSD 12

Durante la instalación del módulo de PHP, mod_php73, se activa en la configuración de Apache. Podemos comprobarlo buscándolo en httpd.conf:

$ grep -i php /usr/local/etc/apache24/httpd.conf
LoadModule php7_module        libexec/apache24/libphp7.so
$

Pero si observamos, es lo único que ha incluido el instalador en la configuración del servidor web. Hay que terminar la configuración manualmente.

El servidor web Apache por defecto lee todas las configuraciones almacenadas en /usr/local/etc/apache24/Includes/. Así que vamos a crear el archivo /usr/local/etc/apache24/Includes/php.conf con la configuración para el módulo de PHP en el que incluiremos lo siguiente:

  • Que se tengan en cuenta como archivos índice los archivos index.php.
  • Que las extensiones .php y .phps sean tratadas como aplicaciones PHP.

Para ello necesitamos un bloque <IfModule dir_module> y un par de bloques <FilesMatch>.

Así quedaría este nuevo archivo php.conf:

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

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

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

Ahora recargamos la configuración del servidor web para que los cambios tomen efecto:

$ sudo service apache24 reload
Performing sanity check on apache24 configuration:
Syntax OK
Performing sanity check on apache24 configuration:
Syntax OK
Performing a graceful restart
$

En este momento Apache integra PHP y es capaz de interpretar los archivos .php.

Comprobar el funcionamiento de PHP

Vamos a crear un pequeño script PHP llamado, por ejemplo, info.php en alguna ubicación fácilmente accesible vía web para probarlo a través del navegador. Si no has modificado la configuración del servidor web, puedes crearlo como /usr/local/www/apache24/data/info.php con este contenido:

<?php phpinfo(); ?>

Ahora accedemos a través del navegador añadiendo /info.php a http://localhost, al dominio o a la dirección IP del servidor (o como corresponda si lo has ubicado y llamado de forma diferente), y obtendremos lo siguiente:

como instalar php en freebsd 12
Probando PHP en FreeBSD 12

Cómo configurar PHP para Apache en FreeBSD

El módulo de PHP del servidor web lee su configuración específica de un archivo que por defecto NO existe. En /usr/local/etc/ tenemos php.ini-development y php.ini-production, versiones de configuración para entornos de desarrollo y de producción respectivamente.

Tenemos que crear un enlace simbólico llamado php.ini a uno de los dos archivos anteriores, concretamente al que represente el entorno en que está funcionando nuestro servidor. Si es un VPS FreeBSD ofreciendo servicios en Internet, el enlace debería ser a php.ini-production. En caso de que se trate de un servidor de desarrollo o pruebas, sería a php.ini-development.

La decisión que tomemos afecta al rendimiento, comportamiento ante errores, etc. Suponiendo que fuera un entorno de desarrollo enlazaríamos así:

$ sudo ln -s /usr/local/etc/php.ini-development /usr/local/etc/php.ini
$

Hecho este cambio, editamos php.ini para establecer la zona horaria del servidor, que no viene configurada por defecto. Buscaremos la cláusula date.timezone:

[...]

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

[...]

Y cambiamos el valor de nuestra zona horaria. Tal y como informan los comentarios, en http://php.net/date.timezone encontraremos los valores para todas las zonas horarias mundiales. En este ejemplo, el servidor está en España, por lo que el valor será Europe/Madrid:

[...]

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Madrid

[...]

Cada vez que realicemos ajustes en php.ini necesitaremos recargar la configuración del servidor web.

Cómo instalar módulos PHP en FreeBSD

Tarde o temprano necesitarás instalar módulos PHP en FreeBSD. Puedes buscar en los repositorios buscando según la versión de PHP que tengas instalada. En este ejemplo el sistema tiene instalado PHP 7.3, así que podríamos buscar entre los módulos disponibles.

Por ejemplo, para buscar el módulo de MySQL para PHP 7.3 puedes buscarlo con pkg de la siguiente forma:

$ pkg search php73 |grep -i ^php73 |grep -i mysql
php73-mysqli-7.3.0             The mysqli shared extension for php
php73-pdo_mysql-7.3.0          The pdo_mysql shared extension for php
php73-pear-MDB2_Driver_mysql-1.5.0.b4 PEAR MySQL MDB2 driver
php73-pear-MDB2_Driver_mysqli-1.5.0.b4 PEAR MySQL MDB2 driver
$

Cuando sepas qué módulo necesitas, se instala como cualquier otro paquete:

$ sudo pkg install php73-mysqli

[...]

$

Después de instalar cualquier módulo de PHP hay que recargar la configuración o reiniciar el servidor web.

Te recomiendo algunos módulos PHP cuya instalación es muy recomendable ya que, por ejemplo, son requeridos por WordPress y otros CMS:

  • php73-curl
  • php73-gd
  • php73-json
  • php73-mbstring
  • php73-mysqli
  • php73-zlib

Conclusión

Ahora que ya sabes cómo instalar PHP en FreeBSD 12 integrado con tu servidor web estás listo para desarrollar potentes aplicaciones web interactivas.

Si tienes cualquier duda o pregunta, quieres informar de algún error o tienes alguna sugerencia para nuevos artículos, déjame un comentario.

Apoya este sitio

Si este artículo te ha resuelto algún problemón o te a ahorrado tiempo, quizás quieras echarnos una mano con una mínima aportación para el mantenimiento de este sitio y la redacción de más y mejores artículos.

¡Gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (4 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies