Cómo instalar FAMP en FreeBSD 13

En este artículo vamos a ver cómo instalar la pila FAMP en FreeBSD 13 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 sobre bases de datos.

Antes de instalar la pila FAMP en FreeBSD 13

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

  • Una máquina FreeBSD 13 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 13

Para instalar los componentes de la pila FAMP en FreeBSD 13, 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 7.4, 8.0 y 8.1.

Por ejemplo, para la versión 7.4:

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

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

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

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 instalaremos la última versión disponible con el siguiente comando:

~$ sudo pkg install -y mysql80-server

Y si prefieres MariaDB instalaremos la última versión con este otro comando:

~$ sudo pkg install -y mariadb106-server

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

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.29 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 una contraseña para root y así no necesitar sudo:

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

Si lo hacemos, podemos cerrar la sesión:

> exit

Y volver a acceder, esta vez usando la nueva contraseña:

~$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.6.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,plugin from mysql.user;
+-------------+-----------+-----------------------+
| User        | Host      | plugin                |
+-------------+-----------+-----------------------+
| mariadb.sys | localhost | mysql_native_password |
| root        | localhost | mysql_native_password |
| mysql       | localhost | mysql_native_password |
|             | localhost |                       |
|             | freebsd13 |                       |
+-------------+-----------+-----------------------+
5 rows in set (0.001 sec)

>

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 13. Los borraremos:

> drop user ''@localhost;
> drop user ''@freebsd13;

Ya podemos cerrar la sesión:

> exit

Un ajuste que seguramente queremos hacer es cambiar el juego de caracteres por defecto latin1 a utf8mb4. Para ello editamos el archivo de configuración:

~$ 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, normalmente, suele ser /var/run/mysql/mysql.sock:

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

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 13:

...
ServerName freebsd13.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 13

Para comprobar el funcionamiento de la pila LAMP en nuestro sistema FreeBSD 13 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 13 que usamos para preparar este tutorial es accesible en el subdominio freebsd13.local.lan, así que podemos usar http://freebsd13.local.lan/info.php como URL:

como instalar la pila famp en freebsd 13

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 13

Incluso la última disponible:

como configurar la pila famp en freebsd 13

¡Todo listo!

Conclusión

Ahora que sabes cómo instalar y configurar la pila LAMP en FreeBSD 13 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

Ads Blocker Image Powered by Code Help Pro

¡Detectado un bloqueador de publicidad!

Hemos detectado que está usando extensiones para bloquear anuncios prublicitarios. Por favor, ayúdenos desactivando dicho bloqueador para este sitio web. ¡Gracias!