Cómo instalar FAMP en FreeBSD 12.1

En este artículo veremos cómo instalar una pila FAMP en FreeBSD 12.1 paso a paso, o lo que es lo mismo, el servidor web Apache con PHP integrado y servicio de bases de datos MariaDB/MySQL. Este entorno es la base de muchas de las aplicaciones web y CMS que puedes montar en tu servidor o VPS FreeBSD.

Antes de instalar FAMP en FreeBSD 12.1

Antes de poder iniciar esta guía de instalación y configuración de la pila FAMP en FreeBSD 12.1 es importante que partas de estos requerimientos básicos:

  • Una máquina FreeBSD 12.1 actualizada.
  • Un usuario con permisos de sudo o el mismo root en su defecto.
  • Conexión a Internet.

A la hora de preparar una pila FAMP en FreeBSD 12.1 se te puede presentar un dilema con el servicio de bases de datos, ya que tanto MariaDB como MySQL servirían. Y para colmo FreeBSD 12.1 ofrece versiones muy recientes de ambos motores. En cualquier caso, elijas el que elijas, en este tutorial te enseñamos a instalar y configurar ambos para la pila FAMP.

Cómo instalar FAMP en FreeBSD 12.1

Para instalar la pila FAMP en FreeBSD 12.1 utilizaremos paquetes procedentes de los repositorios del sistema, por lo que se hace conveniente actualizar estas listas de paquetes:

$ sudo pkg update

El servicio de bases de datos

Empezaremos con la instalación del servicio de bases de datos, que puede ser MariaDB 10.4 ó MySQL 8.0. Si elegimos MariaDB Server, el paquete a instalar sería mariadb104-server:

~$ sudo pkg install -y mariadb104-server

Si por el contrario optamos por MySQL Server, entonces elegiríamos el paquete mysql80-server:

$ sudo pkg install -y mysql80-server

Apache y PHP

Por otro lado instalaremos el servidor web Apache y PHP. Este último se encuentra disponible en varias versiones, entre ellas la última estable 7.3, y la nueva versión 7.4 en fase de pruebas. Esta vez instalaremos PHP 7.3:

~$ sudo pkg install -y apache24 php73-mysqli mod_php73

Pero si prefieres experimentar con PHP 7.4, modifica los paquetes a instalar:

~$ sudo pkg install -y apache24 php74-mysqli mod_php74

Cómo iniciar los servicios de la pila FAMP en FreeBSD 12.1

Tras la descarga e instalación de los paquetes anteriores y sus dependencias disponemos de los nuevos servicios que componen la pila FAMP en FreeBSD 12.1, que debemos configurar para iniciar automáticamente en cada arranque del sistema, y también arrancar manualmente por primera vez.

Servidor de bases de datos

Tanto si has elegido MariaDB como MySQL, el servicio de bases de datos, se habilita para su inicio automático de la misma forma:

$ sudo service mysql-server enable

A continuación lo arrancamos:

$ sudo service mysql-server start

Podremos comprobar que ha quedado activo con la opción status de service:

$ sudo service mysql-server status
mysql is running as pid 1467.

Servidor web

Ahora habilitamos el servidor web:

$ sudo service apache24 enable

Y lo iniciamos por primera vez:

$ sudo service apache24 start

Análogamente, podemos comprobar su estado:

~$ sudo service apache24 status
apache24 is running as pid 1549.

Cómo configurar FAMP en FreeBSD 12.1

Aunque ya están iniciados y habilitados, debemos configurar los servicios de la pila FAMP en FreeBSD 12.1, realizando algunos ajustes necesarios.

MariaDB

La configuración por defecto incluye una base de datos de pruebas y varios usuarios anónimos sin contraseña. Haremos la instalación un poco más segura pasando el script interactivo mysql_secure_installation, con el que podremos:

  • Cambiar el plugin del usuario root a unix_socket para que sólo se pueda acceder como root de FreeBSD 12.1 o con sudo.
  • Asignar una contraseña para root si no queremos usar este plugin (el script lo pregunta igualmente aunque hayamos cambiado el plugin).
  • Eliminar los usuarios anónimos.
  • Desactivar el inicio de sesión remota para root.
  • Eliminar la base de datos de pruebas.
  • Y recargar la tabla de permisos de MariaDB antes de terminar.

MySQL

Si optas por este servicio de bases de datos, su configuración por defecto viene sin bases de datos de pruebas y sin usuarios anónimos, pero root no tiene contraseña.

Si pasamos el script mysql_secure_installation podremos:

  • Activar el plugin que impide la creación de contraseñas débiles.
  • Crear una contraseña para root.

El resto de opciones son irrelevantes, debido a la configuración por defecto de MySQL.

Un factor importante a tener en cuenta con MySQL 8.0 en una pila FAMP es que este servicio usa por defecto el plugin de autenticación de usuarios caching_sha2_password que no es compatible con clientes antiguos o de terceros, como pueden ser las extensiones habituales de PHP.

Tenemos dos opciones, o creamos los usuarios para las aplicaciones web con el plugin tradicional mysql_native_password que funciona sin problemas, o seleccionamos este plugin como por defecto en el servicio.

Para crear un usuario de MySQL compatible con la autenticación tradicional, lo haríamos así, una vez iniciada sesión con el cliente mysql:

> create user USUARIO identified with mysql_native_password by 'XXXXXXXX';

Si es molesto tener que crear los usuarios teniendo en cuenta el plugin, cambiaremos el valor por defecto de este plugin en el servicio, editando el archivo de configuración my.cnf:

$ sudo nano /usr/local/etc/mysql/my.cnf

Incluiremos la directiva default_authentication_plugin dentro de la sección mysqld:

...
[mysqld]
...
default_authentication_plugin   = mysql_native_password
...

Aplicaremos los cambios reiniciando el servicio MySQL:

$ sudo service mysql-server restart

Cualquier usuario que se cree desde este momento tendrá asignado el plugin mysql_native_password si no se especifica otra cosa.

PHP

Debemos preparar el archivo de configuración principal php.ini ya que no existe inicialmente. La instalación crea los archivos php.ini-development y php.ini-production, con una serie de valores preparados para entornos de desarrollo y producción respectivamente.

Podemos copiar o enlazar el archivo que nos interese como php.ini, en este caso haremos lo apropiado para un entorno de desarrollo:

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

A continuación podemos editarlo para realizar ajustes de configuración:

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

Sea cual sea el archivo del que partamos, hay que configurar la zona horaria del servidor, modificando la directiva date.timezone:

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

Esta directiva está desactivada, así que la activaremos y le asignaremos el valor que corresponda:

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

Si no conoces el valor adecuado para tu zona horaria, puedes consultarlo en la documentación online de PHP, en la página https://www.php.net/manual/es/timezones.php.

Guardados los cambios, se debe recargar la configuración del servidor web, pero lo haremos más adelante, ya que aún hay que configurar Apache.

Apache

A diferencia de otros sistemas, la instalación de PHP para Apache en FreeBSD 12.1 no deja configurado el conjunto.

Crearemos un archivo de configuración para el módulo de PHP:

$ sudo nano /usr/local/etc/apache24/modules.d/010_php73.conf

Es obligatorio que el nombre del archivo de configuración comience por tres cifras (para indicar el orden de carga si hay más archivos) seguidas del carácter subrayado y la extensión .conf.

Crearemos una configuración en la que indicamos el archivo índice de PHP (index.php) y el tratamiento general para los archivos con extensiones de PHP:

DirectoryIndex index.php

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

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

Es el momento de reiniciar Apache para que carguen todas las configuraciones de PHP y el propio Apache:

$ sudo service apache24 restart

Cómo probar la pila FAMP en FreeBSD 12.1

Para comprobar el funcionamiento de este entorno o pila FAMP crearemos un pequeño script PHP en el directorio de archivos de la página web por defecto de FreeBSD 12.1:

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

Bastará incluir una única línea de código:

<?php phpinfo();

Guardados los cambios y cerrado el archivo, podemos acceder ya mediante un navegador, añadiendo la ruta /info.php a la dirección IP o dominio del servidor FreeBSD 12.1:

como instalar famp en freebsd 12.1

De esta forma tan práctica comprobamos que Apache y PHP están perfectamente integrados y podremos comprobar muchos aspectos de su configuración actual.

Ya puedes comenzar con tus desarrollos o con la instalación de las aplicaciones que requieren este entorno.

Conclusión

Ahora sabes cómo instalar y configurar una pila tipo FAMP en FreeBSD 12.1 con distintas versiones de PHP y con el motor de bases de datos de tu elección, MariaDB o MySQL. El camino para el desarrollo o instalación de potentes aplicaciones web está preparado.

Si tienes alguna sugerencia, notificación, duda, pregunta, etc. puedes dejar un comentario.

¡Apoya este sitio!

Y si gracias a esta pequeña guía de instalación y configuración del entorno o pila FAMP en FreeBSD 12.1 has conseguido montarlo en tu servidor o VPS, tal vez te apetezca agradecérnoslo. Cualquier mínima aportación ayuda al mantenimiento de este sitio y creación de más tutoriales de FreeBSD 12.1.

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 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