Cómo instalar FAMP en FreeBSD 14

En este artículo vamos a ver cómo instalar la pila FAMP en FreeBSD 14 paso a paso, un conjunto de servicios que nos permitirán instalar o desarrollar sobre nuestro servidor o VPS FreeBSD potentes aplicaciones web que trabajan con bases de datos.

Antes de instalar la pila FAMP en FreeBSD 14

Si quieres seguir los pasos de esta guía de instalación de la pila FAMP en FreeBSD 14 será necesario satisfacer básicamente los siguientes requerimientos:

  • Una máquina FreeBSD 14 actualizada.
  • Un usuario con permisos de sudo.
  • Acceso a Internet.

Como ya cumplirás todos estos requisitos, es el momento de regular la altura más cómoda para nuestra mesa y abrir una terminal de consola.

Cómo instalar la pila FAMP en FreeBSD 14

Para instalar los componentes de la pila FAMP en FreeBSD 14, es decir, Apache, PHP y MySQL o MariaDB, usaremos paquetes procedentes de los repositorios del sistema, por lo que el primer paso será actualizar su información:

~$ sudo pkg update

Ahora ya podemos instalar los paquetes de los distintos servicios necesarios.

Apache y PHP

Instalaremos el servicio web y el lenguaje de programación teniendo en cuenta la versión de este último que nos interese, ya que disponemos de la 8.1, 8.2 y 8.3.

Por ejemplo, para la versión 8.1:

~$ sudo pkg install -y apache24 php81-mysqli mod_php81

O si preferimos la versión más reciente, la 8.3:

~$ sudo pkg install -y apache24 php83-mysqli mod_php83

Tras la instalación de estos paquetes y sus dependencias ya dispondremos del servicio web Apache trabajando con PHP en forma de módulo.

MySQL o MariaDB

En cuanto al servicio de bases de datos tenemos dos opciones, MySQL o MariaDB.

En el caso de optar por MySQL disponemos de las versiones 8.0 (paquete mysql80-server) y 8.1 (paquete mysql81-server); por ejemplo, la versión 8.0 se instalaría con el siguiente comando:

~$ sudo pkg install -y mysql80-server

Y si prefieres MariaDB tienes las versiones 10.6 (paquete mariadb106-server) y 10.11 (paquete mariadb1011-server), siendo la más reciente la que instalaremos en este tutorial con este otro comando:

~$ sudo pkg install -y mariadb1011-server

Configuración de los elementos de la pila FAMP en FreeBSD 14

MySQL

El servicio está listo para iniciar, así que lo habilitamos:

~$ sudo service mysql-server enable

Y lo iniciamos:

~$ sudo service mysql-server start

Por defecto el usuario root no tiene contraseña, algo que deberíamos solucionar de inmediato conectando al servicio con el cliente de consola mysql:

~$ mysql -u root

Crearemos la contraseña de root con el siguiente comando:

> alter user root@localhost identified by 'XXXXXXXX';

Y cerramos la sesión:

> exit

Ahora para acceder al servicio como root hay que usar la nueva contraseña, por ejemplo, con el cliente mysql:

~ $ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.35 Source distribution
...
>

MariaDB

Habilitamos el servicio:

~$ sudo service mysql-server enable

Y lo iniciamos:

~$ sudo service mysql-server start

Para iniciar sesión como root con el cliente de consola mysql hay que usar sudo:

~$ sudo mysql

Iniciada la sesión, opcionalmente podríamos crear un usuario administrador alternativo con contraseña:

> grant all privileges on *.* to instalador@localhost identified by 'XXXXXXXX' with grant option;

Si lo hacemos, podemos cerrar la sesión:

> exit

Y volver a acceder, esta vez usando el nuevo administrador con su contraseña:

~ $ mysql -u instalador -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.11.7-MariaDB FreeBSD Ports
...
>

En cualquier caso, hay algunas acciones que podemos realizar para mejorar la seguridad del servicio, como eliminar la base de datos de pruebas:

> drop database test;

También hay usuarios anónimos, lo que podemos comprobar con la siguiente sentencia:

> select user,host from mysql.user;
...
|             | freebsd14 |
|             | localhost |
...
>

Concretamente son dos los usuarios anónimos que se crean, uno con acceso desde localhost y otro con el nombre de la máquina FreeBSD 14. Los borraremos:

> drop user ''@localhost;
> drop user ''@freebsd14;

Por último vamos a comprobar con qué juego de caracteres trabaja por defecto el servicio:

> show variables like '%character%';
...
| character_set_database   | latin1                           |
...
| character_set_server     | latin1                           |
...
>

Comprobamos que se usa latin1 en lugar de UTF-8.

Ya podemos cerrar la sesión:

> exit

Para cambiar el juego de caracteres por defecto de latin1 a utf8mb4 editamos el archivo de configuración principal:

~$ sudo nano /usr/local/etc/mysql/conf.d/server.cnf

Y en la sección [server] añadimos las dos siguientes directivas:

...
[server]
...
character_set_server    = utf8mb4
collation_server        = utf8mb4_unicode_ci
...

Guardamos el archivo y reiniciamos el servicio:

~$ sudo service mysql-server restart

PHP

Debemos realizar algunos ajustes en el archivo php.ini, siendo el primer paso crear dicho fichero a partir de uno de los dos archivos de muestra preinstalados, php.ini-development y php.ini-production. Uno de los archivos está orientado a entornos de desarrollo y el otro a entornos de producción.

Si estamos preparando un servidor de desarrollo crearemos el archivo php.ini a partir del archivo php.ini-development:

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

Y si se trata de un servidor para producción lo haremos con el otro archivo:

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

Ahora podemos editar el nuevo archivo php.ini:

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

Un ajuste que deberíamos realizar siempre es configurar la zona horaria del servidor a través de la directiva date.timezone:

...
;date.timezone =
...

Activamos esta directiva eliminando el carácter ; inicial y le damos el valor adecuado a nuestra zona horaria:

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

Si no conoces el valor de la zona horaria que te interese puedes consultarla en esta sección de la documentación de PHP.

Otro ajuste muy importante es la ubicación del archivo de socket del servicio de bases de datos, así que buscaremos las siguientes directivas:

...
pdo_mysql.default_socket=
...
mysqli.default_socket =
...

Y les daremos el valor adecuado que para MariaDB suele ser /var/run/mysql/mysql.sock:

...
pdo_mysql.default_socket=/var/run/mysql/mysql.sock
...
mysqli.default_socket = /var/run/mysql/mysql.sock
...

Mientras que para MySQL sería /tmp/mysql.sock:

...
pdo_mysql.default_socket=/tmp/mysql.sock
...
mysqli.default_socket = /tmp/mysql.sock
...

En cualquier caso conviene comprobar que sea ese el archivo de socket, cambiando el valor si fuera otro.

Cualquier otro ajuste necesario se haría de forma similar.

Ya podemos guardar y cerrar este archivo.

Servicio web

Aunque no es necesario, para evitar continuos mensajes de aviso es interesante realizar el siguiente ajuste en el archivo de configuración principal:

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

Buscamos la directiva ServerName:

...
#ServerName www.example.com:80
...

Eliminamos el carácter # al inicio de línea y cambiamos el valor por el nombre de la máquina FreeBSD 14:

...
ServerName freebsd14.local.lan:80
...

Ya podemos guardar el archivo.

Este ajuste nos ahorrará continuos mensajes de aviso sobre la no existencia del nombre del servidor.

Por otro lado configuraremos el módulo de PHP creando un archivo como el siguiente:

~$ sudo nano /usr/local/etc/apache24/Includes/php.conf

El contenido será el siguiente:

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

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

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

Guardamos el archivo y el servicio web quedará listo para ser usado con el resto de la configuración por defecto, así que lo habilitamos:

~$ sudo service apache24 enable

Y lo iniciamos:

~$ sudo service apache24 start

Cómo comprobar el funcionamiento de la pila FAMP en FreeBSD 14

Para comprobar el funcionamiento de la pila LAMP en nuestro sistema FreeBSD 14 podemos crear un sencillo script en PHP que lanzaremos desde un navegador.

Creamos este archivo:

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

El contenido será únicamente la siguiente línea:

<?php phpinfo();

Guardamos el archivo y abrimos un navegador web, donde introduciremos como URL la dirección (IP, nombre DNS, dominio, localhost si trabajamos localmente, etc.) y el nombre del script.

Por ejemplo, la máquina FreeBSD 14 que usamos para preparar este tutorial es accesible en el subdominio freebsd14.local.lan, así que podemos usar http://freebsd14.local.lan/info.php como URL:

como instalar la pila famp en freebsd 14

Se mostrará gran cantidad de información sobre la configuración y funcionamiento del servicio web y el módulo PHP, indicando la versión instalada.

El resultado es el mismo para cualquier versión:

como instalar y configurar la pila famp en freebsd 14

Incluso la última disponible:

como configurar la pila famp en freebsd 14

¡Todo listo!

Conclusión

Ahora que sabes cómo instalar y configurar la pila LAMP en FreeBSD 14 ya tienes la base mínima necesaria para empezar a desarrollar potentes aplicaciones web, o para instalar las de terceros.

Si te ha surgido alguna duda, tienes sugerencias, quieres notificar algún error, etc. puedes dejar un comentario. Los comentarios se moderan para tratar de evitar el SPAM, pero se revisan a diario.

¡Apoya comoinstalar.me!

¿Ya funciona en tu máquina gracias a nuestra guía? Si es así y quieres agradecérnoslo cualquier pequeña contribución al mantenimiento y desarrollo de este sitio siempre es bienvenida. Además, se priorizan las solicitudes de actualización de los tutoriales y la ayuda a posibles problemas durante la instalación.

Puedes ayudarnos dejando una popina desde 1 $ con PayPal:

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

¡Gracias!

Valora esta entrada

5/5 - (1 voto)

Deja un comentario