Cómo instalar FAMP en FreeBSD 12

En esta entrada vamos a explicar cómo instalar FAMP en FreeBSD 12 paso a paso. Quizás te suene raro el término FAMP y hayas visto más el de LAMP. Son términos muy parecidos ya que a fin de cuentas se trata de una pila con Apache, MySQL y PHP sobre el sistema operativo. En el caso de LAMP el sistema es Linux, por lo que en FreeBSD cambiamos la L por una F y tenemos FAMP (FreeBSD NO es Linux). Al final de esta guía tendrás todos estos componentes funcionando perfectamente sincronizados.

Antes de instalar FAMP en FreeBSD 12

Para seguir con éxito esta guía de instalación de FAMP en FreeBSD 12, necesitarías cumplir estos requisitos:

  • Un sistema FreeBSD 12 actualizado.
  • Conexión a Internet.
  • Acceso a línea de comandos con usuario privilegiado (sudo) o el mismo root.
  • Una mínima experiencia en consola, editando archivos, navengando entre archivos y directorios en el sistema, etc.

Si estas leyendo este tutorial es casi seguro que ya cumples estos requerimientos, así que prepárate, que allá vamos.

Cómo instalar FAMP en FreeBSD 12

Todo el software que vamos a usar par instalar la pila FAMP en FreeBSD 12 procede de los repositorios oficiales del sistema. Así que lo lógico es actualizar las listas de paquetes y, preferiblemente, los paquetes instalados:

$ sudo pkg update

Con el sistema actualizado es el momento de instalar los paquetes necesarios. Estos son apache24, mysql80-server, mod_php73 y php73-mysqli:

$ sudo pkg install -y apache24 php73-mysqli mod_php73 mysql80-server

Una vez descargados e instalados todos estos paquetes y sus dependencias tendremos dos nuevos servicios en el sistema, mysql-server y apache24.

En otros sistemas la instalación prácticamente deja configurados todos los elementos de la pila, pero en FreeBSD 12 vamos a tener que hacer unos cuantos ajustes. Nada grave, sólo un poco de trabajo extra.

Activar e iniciar el servicio de bases de datos

El primer servicio que levantaremos será MySQL Server 8.0. El nombre del servcio es mysql_server y el primer paso es activarlo:

$ sudo service mysql-server enable
mysql enabled in /etc/rc.conf
$

A continuación lo iniciamos:

$ sudo service mysql-server start
Starting mysql.
$

Ya tenemos MySQL Server 8.0 listo para aceptar conexiones. No necesitas pasar el script mysql_secure_installation, ya que la instalación deja el sistema con los valores seguros por defecto.

El cliente de consola mysql se ha instalado como dependencia, por lo que puedes conectar como usuario root de MySQL siendo root de FreeBSD o usando sudo. No tiene contraseña:

$ sudo mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.16 Source distribution

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@localhost [(none)]>

Ya puedes crear usuarios, bases de datos, etc.

Configurar PHP

PHP buscará su configuración para los scripts y aplicaciones en este lenguaje en el archivo /usr/local/etc/php.ini. El problema es que tras la instalación este archivo no existe.

Sin embargo, en la misma ruta existen los archivos php.ini-development y php.ini-production. Son archivos preconfigurados para entornos de desarrollo o producción.

Sólo tienes que elegir cuál de los dos entornos se ajusta a tu servidor FAMP y crear un enlace simbólico al archivo correspondiente llamándolo php.ini.

En este ejemplo se trata de un entorno de desarrollo, así que crearemos el enlace consecuentemente:

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

Sólo queda configurar la zona horaria dentro de nuestro nuevo archivo de configuración de PHP. Editaremos php.ini:

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

Y buscaremos la directiva date.timezone:

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

Podemos ver que está desactivada y no tiene ningún valor. La activaremos eliminando el carácter ; inicial y le asignaremos el valor de nuestra zona horaria (en la URL http://php.net/date.timezone indicada en el comentario puedes encontrar todos los valores que admite esta directiva).

date.timezone = Europe/Madrid

Finalmente, guardamos los cambios.

Activar e iniciar el servidor web

Es el turno de Apache y la primera acción será activarlo:

$ sudo service apache24 enable
apache24 enabled in /etc/rc.conf
$

Pero en esta ocasión todavía no vamos a lanzar el servicio, y es que aunque durante la instalación se ha añadido la carga del módulo de PHP en la configuración de Apache, no se ha creado una configuración de este módulo de PHP. Por lo tanto no funciona, pero lo vamos a solucionar rápidamente.

Crearemos un archivo de configuración para el módulo en la ruta /usr/local/etc/apache24/modules.d/:

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

Puedes poner el nombre que quieras, pero debe empezar por tres números seguidos de un guión bajo y terminar por .conf. Esta nomenclatura es para especificar el orden de carga si hubiera varios archivos de configuración de módulos en la ruta.

Incluye este contenido en el nuevo archivo:

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

Hemos terminado con la configuración de Apache para PHP.

Ahora, si confías en mí, vamos a ajustar rápidamente el archivo de configuración principal de Apache para evitar una molesta alerta cada vez que inicia Apache, tanto en consola como en los archivos de registro.

Editamos el archivo principal de configuración, el famoso httpd.conf:

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

Buscaremos la directiva ServerName:

#ServerName www.example.com:80

La directiva está desactivada, así que le asignaremos un valor adecuado y la activaremos eliminando el carácter # inicial:

ServerName freebsd12.local:80

Puedes poner el nombre corto de la máquina o el completo. Esto evitará los mensajes de alarma relacionados.

Y a continuación lanzamos el servicio:

$ sudo service apache24 start
Performing sanity check on apache24 configuration:
Syntax OK
Starting apache24.
$

Ni rastro de alertas o errores. Y ya tenemos el servicio de Apache en ejecución usando PHP.

Comprobar la pila FAMP en FreeBSD 12

Creamos un script de prueba de PHP en la misma carpeta de la página web por defecto (/usr/local/www/apache24/data/):

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

El contenido es mínimo, una sola línea de código bastará:

<?php phpinfo(); ?>

Ahora accedemos al servidor FAMP desde un navegador, usando como URL su dirección IP, nombre de máquina o dominio, añadiendo la ruta /info.php. En este ejemplo uso el dominio local freebsd12.local, por lo que la URL sería http://freebsd12.local/info.php

como instalar famp en freebsd 12

Y vemos que PHP funciona perfectamente, mostrando la versión instalada y multitud de datos sobre su configuración.

Listo, ya tienes la pila FAMP instalado en tu sistema FreeBSD 12.

Conclusión

Ahora ya sabes cómo instalar una pila FAMP en FreeBSD 12. Habrás comprobado que tiene algo más de trabajo que en otros sistemas, pero siguiendo todos los pasos en el orden correcto y sabiendo qué hacemos en cada momento no tiene mayor dificultad.

Ya puedes comenzar tu desarrollo de aplicaciones web o simplemente proporcionar el backend que muchos CMS y aplicaciones requieren para funcionar.

Si tienes alguna duda, pregunta, sugerencia, notificación nada mejor que dejar un comentario.

¡Apoya este sitio!

¿Pensabas que instalar un FAMP en FreeBSD 12 iba a ser difícil? ¿Estabas cansado de dar vueltas sin llegar a ningún sitio? Pues si estás emocionado y agradecido por haberlo conseguido, cualquier mínima contribución será bienvenida para el mantenimiento de este sitio y elaboración de nuevas guías. ¡Gracias!

Valora esta entrada

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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *