Cómo instalar FEMP en FreeBSD 12

En este artículo explicamos cómo instalar una pila FEMP en FreeBSD 12 paso a paso, de modo que al final dispondrás del servidor web Nginx con PHP y servicio de bases de datos MariaDB/MySQL en tu servidor o VPS FreeBSD.

Antes de instalar FEMP en FreeBSD 12

Si tienes intención de seguir esta guía de instalación y configuración de la pila FEMP en FreeBSD 12, debes partir de las siguientes condiciones mínimas:

  • Una máquina FreeBSD 12 actualizada.
  • Acceso a consola como root o un usuario con privilegios de sudo.
  • Conexión a Internet.

Cómo instalar FEMP en FreeBSD 12

Para instalar la pila FEMP en FreeBSD 12 usaremos los paquetes de los que disponemos en los repositorios del sistema, por lo que es buena idea empezar actualizando las listas de paquetes:

~$ sudo pkg update

Es el momento de instalar los paquetes necesarios con el comando pkg:

~$ sudo pkg install -y nginx php73 php73-mysqli mariadb104-server

Puedes personalizar la instalación sustituyendo MariaDB por MySQL, indicando el paquete mysql80-server en lugar de mariadb104-server. Y también puedes cambiar la versión de PHP cambiando los paquetes con php73 por php71, php72 ó php74.

En cualquier caso, tras la descarga e instalación de estos paquetes y sus dependencias se crean tres nuevos servicios en FreeBSD 12, llamados nginx, mysql-server y php-fpm. Ninguno de estos servicios está en ejecución ni habilitado para su inicio automático junto a FreeBSD 12, por lo que tendremos que habilitarlos y arrancarlos manualmente.

MariaDB/MySQL

Independientemente de si has instalado MariaDB o MySQL, el servicio se llama igual, mysql-server. Habilitamos el servicio:

~$ sudo service mysql-server enable

Y a continuación lo arrancamos:

~$ sudo service mysql-server start

PHP

En el caso del servicio php-fpm lo habilitaremos:

~$ sudo service php-fpm enable

Y lo iniciaremos:

~$ sudo service php-fpm start

Nginx

Para el servidor web, habilitamos el servicio nginx:

~$ sudo service nginx enable

Y lo iniciamos:

~$ sudo service nginx start

Cómo configurar FEMP en FreeBSD 12

Aunque los servicios ya están habilitados e iniciados, es necesario configurar la pila LEMP en FreeBSD 12 para que todos los engranajes giren a la vez.

MariaDB/MySQL

Para asignar una contraseña al usuario root del servicio de bases de datos, y eliminar la base de pruebas y los usuarios anónimos, lanzaremos el script interactivo mysql_secure_installation:

~$ sudo mysql_secure_installation

Por ejemplo, en el caso de MariaDB el script comienza  pidiendo la contraseña actual de root, que no tiene.

Se nos preguntará si queremos que el usuario root use autenticación por contraseña o mediante el plugin unix_socket, eligiendo lo que nos interese.

Al resto de preguntas, sobre la base de datos de pruebas, usuarios anónimos, acceso remoto de root, etc. contestaremos afirmativamente.

PHP

La configuración de PHP para el servicio PHP-FPM se lee del archivo php.ini que aún no existe. El paquete de PHP instala los archivos de muestra php.ini-production y php.ini-development para entornos de producción y desarrollo, respectivamente. Podemos crear un enlace simbólico a uno de estos archivos, o copiarlo, como php.ini.

Si, por ejemplo, se trata de un entorno de desarrollo, creamos un enlace simbólico a php.ini-development:

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

Para cualquier ajuste que necesitemos realizar editaremos php.ini:

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

Un ajuste que siempre debe hacerse es el de la zona horaria del servidor, a través de la directiva date.timezone:

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

Le daremos el valor que corresponda y eliminaremos el carácter ; inicial para activarla:

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

Hecho este o cualquier otro cambio, una vez guardado el archivo php.ini hay que recargar la configuración del servicio PHP-FPM para que entren en vigor:

~$ sudo service php-fpm reload

Nginx

Vamos a crear un directorio para configuraciones adicionales de Nginx:

~$ sudo mkdir /usr/local/etc/nginx/include.d/

Y creamos un archivo de configuración para conectar Nginx con el servicio PHP-FPM:

~$ sudo nano /usr/local/etc/nginx/include.d/php-fpm.conf

El contenido será este:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
}

Editamos la configuración del sitio web por defecto de Nginx, en el archivo nginx.conf:

~$ sudo nano /usr/local/etc/nginx/nginx.conf

Dentro del bloque server principal, en el bloque location de la carpeta raíz de documentos web, colocaremos una directiva include que cargue el archivo de configuración de PHP-FPM:

...
    server {
...
        location / {
            root   /usr/local/www/nginx;
            index  index.html index.htm;
            include include.d/php-fpm.conf;
        }
...

Esta directiva include se debe añadir de forma similar en las configuraciones de los servidores virtuales (si existen).

Terminados los cambios, recargamos la configuración de Nginx:

~$ sudo service nginx reload

Cómo probar FEMP en FreeBSD 12

Para probar la pila FEMP en FreeBSD 12 crearemos un pequeño script realizado en PHP fácilmente accesible vía web:

~$ sudo nano /usr/local/www/nginx/info.php

Con este contenido:

<?php phpinfo();

Guardamos los cambios y accedemos desde un navegador, añadiendo la ruta /info.php a la dirección IP o dominio del servidor FreeBSD 12 en el que hemos instalado la pila FEMP:

instalar y configurar femp en freebsd 12

Conclusión

Ya sabes cómo instalar y configurar la pila FEMP en FreeBSD 12, con lo que podrás instalar y desarrollar aplicaciones web sobre tu servidor o VPS, usando como servidor web Nginx.

¡Apoya este sitio!

¿Ya tienes el entorno funcionando gracias a esta guía de instalación y configuración de la pila FEMP en FreeBSD 12? Si es así y te apetece agradecérnoslo, cualquier pequeña aportación ayuda mucho al mantenimiento de este sitio y la creación de más tutoriales de FreeBSD 12. ¡Gracias!

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