Cómo instalar Nginx, MariaDB y PHP (FEMP) Stack en FreeBSD

Cómo instalar Nginx, MariaDB y PHP (FEMP) Stack en FreeBSD

Este tutorial lo guiará sobre cómo instalar y configurar FBEMP en la última versión de FreeBSD 11.x. FBEMP es un acrónimo que describe la siguiente colección de software:

FreeBSD 11.1. Distribución similar a Unix, servidor web Nginx, sistema de administración de base de datos relacional MariaDB (una bifurcación comunitaria de MySQL) y Lenguaje de programación dinámico PHP que se ejecuta en el lado del servidor.

Requisitos

  1. Instalación de FreeBSD 11.x
  2. 10 cosas que hacer después de la instalación de FreeBSD

Paso 1: Instale el servidor web Nginx en FreeBSD

1.. El primer servicio que instalaremos para nuestra pila FBEMP. en FreeBSD. es el servidor web, representado por el software Nginx.

El servidor web Nginx. tiene más paquetes precompletados disponibles en PUERTOS FreeBSD 11.x. Para obtener una lista de los binarios Nginx. de los repositorios Ports. ejecute los siguientes comandos en la terminal de su servidor.

# ls/usr/ports/www/| grep nginx # pkg search-o nginx  Buscar paquetes de Nginx  Buscar paquetes Nginx Buscar paquetes Nginx

2.. En esta configuración particular, instalaremos la versión del paquete principal de Nginx. emitiendo el siguiente comando. La administración del paquete pkg. le preguntará si desea continuar con la instalación del paquete nginx. Responda con sí (y en la línea de comandos) para iniciar el proceso de instalación.

# pkg install nginx Instalar Nginx en FreeBSD Instalar Nginx en FreeBSD Instalar Nginx en FreeBSD freestar.config.enabled_slots.push (LocationName:” tecmint_incontent “, slotId:” tecmint_incontent “);

3.. Después de instalar el paquete del servidor web Nginx en su sistema, ejecute los siguientes comandos para habilitar el demonio en todo el sistema e iniciar el servicio en su sistema.

# sysrc nginx_enable = “yes” # service nginx start  Iniciar y habilitar Nginx en FreeBSD  Iniciar y habilitar Nginx en FreeBSD Iniciar y habilitar Nginx en FreeBSD

4.. A continuación, usando sockstat. verifique los sockets de red del servicio Nginx, si están vinculados al puerto 80/TCP. emitiendo el siguiente comando. La salida del comando sockstat se canalizará a través de la utilidad grep para reducir los resultados devueltos solo a una cadena nginx.

# sockstat-4 | grep nginx

5.. Finalmente, abra un navegador en una computadora de escritorio en su red y visite la página web predeterminada de Nginx a través del protocolo HTTP. Escriba el FQDN. de su máquina o su nombre de dominio o la dirección IP de su servidor en la URL del navegador archivada para solicitar la página web predeterminada del servidor web Nginx. El mensaje “ ¡Bienvenido a nginx!. debería aparecer en su navegador, como se ilustra en la siguiente captura de pantalla.

http://yourdomain.com http://your_server_IP http://your_machine_FQDN  Verificar Nginx en FreeBSD  Verificar Nginx en FreeBSD Verificar Nginx en FreeBSD

6.. El directorio weboot predeterminado para el contenido web de Nginx se encuentra en /usr/local/www/nginx/ ruta absoluta del sistema. En esta ubicación, debe crear, copiar o instalar archivos de contenido web, como archivos .html o .php, para su sitio web.

Para cambiar esta ubicación, edite el archivo de configuración principal de nginx y cambie la directiva root a reflejar su nueva ruta de webroot.

# nano/usr/local/etc/nginx/nginx.conf

Aquí, busque y actualice la siguiente línea para reflejar su nueva ruta de webroot:

root/path/a/nuevo/webroot;

Paso 2: Instale PHP en FreeBSD

7.. A diferencia del servidor Apache HTTP. Nginx no tiene la capacidad de procesar código PHP de forma nativa. A cambio, el servidor web Nginx pasa solicitudes PHP a un intérprete PHP, como el demonio php-fpm FastCGI. que inspecciona y ejecuta el código. Luego, el código resultante se devuelve a Nginx, que vuelve a ensamblar el código en el formato html solicitado y envía el código al navegador web del visitante.

FreeBSD 11.x. Los repositorios de puertos ofrecen múltiples versiones binarias para el lenguaje de programación PHP, como las versiones PHP 5.6. PHP 7.0. y PHP 7.1. Para mostrar todas las versiones de PHP precompiladas disponibles en FreeBSD 11.x. ejecute los siguientes comandos.

# pkg search-o php # ls/usr/ports/lang/| grep php

8.. Puede elegir instalar la versión de PHP que considere más adecuada para la aplicación web que ejecuta en su sistema. Sin embargo, en esta guía instalaremos la última versión de PHP.

Para instalar la versión PHP 7.1. y algunos módulos importantes de PHP necesarios para diversas aplicaciones web, ejecute el siguiente comando.

# pkg install php71 php71-mysqli php71-mcrypt php71-zlib php71-gd php71-json mod_php71 php71-mbstring php71-curl

9.. Después de haber instalado los paquetes PHP en su sistema, abra el archivo de configuración PHP-FPM. para Nginx y ajuste los valores de usuario y grupo para que coincidan con el valor del usuario en tiempo de ejecución de Nginx, que es www. Primero, haga una copia de seguridad del archivo con el siguiente comando.

# cp/usr/local/etc/php-fpm.d/www.conf,.backup

Luego, abra el archivo y actualice las siguientes líneas como se presenta en el siguiente ejemplo.

user = www group = www  Configurar PHP-FPM en FreeBSD Configurar PHP-FPM en FreeBSD Configurar PHP-FPM en FreeBSD

10.. Además, cree un archivo de configuración PHP utilizado para producción emitiendo el siguiente comando. En este archivo puede realizar cambios personalizados que se aplicarán al intérprete de PHP en tiempo de ejecución.

# cp/usr/local/etc/php.ini-production/usr/local/etc/php.ini

​​Para Por ejemplo, cambie la configuración date.timezone. para el intérprete de PHP para actualizar la ubicación física de su máquina como se muestra en el siguiente ejemplo. La lista de zonas horarias de PHP se puede encontrar aquí: http://php.net/manual/en/timezones.php.

# vi/usr/local/etc/php.ini

​​Agregue la siguiente zona horaria (establezca la zona horaria como según su país).

date.timezone = Europe/London

También puede ajustar otras variables PHP, como el tamaño máximo del archivo cargado, que se puede aumentar modificando los valores siguientes:

upload_max_filesize = 10M post_max_size = 10M

11.. Una vez que haya realizado la configuración personalizada para PHP, habilite e inicie el demonio PHP-FPM. para aplicar el nuevo configuraciones emitiendo los siguientes comandos.

# sysrc php_fpm_enable = yes # service php-fpm start Iniciar y habilitar PHP-FPM en FreeBSD  Iniciar y habilitar PHP-FPM en FreeBSD Iniciar y habilitar PHP-FPM en FreeBSD

12.. De forma predeterminada, el demonio PHP-FPM. en FreeBSD se enlaza en un socket de red local en el puerto 9000/TCP. Para mostrar los sockets de red PHP-FPM. ejecute el siguiente comando.

# sockstat-4-6 | grep php-fpm

13.. Para que el servidor web Nginx pase los scripts PHP al servidor de puerta de enlace FastCGI. que está escuchando en el socket 127.0.0.1:9000, abra el archivo de configuración principal de Nginx y agregue el siguiente bloque de código como se ilustra en el ejemplo siguiente.

# vi/usr/local/etc/nginx/nginx.conf

Bloque de código FastCGI para nginx:

ubicación ~ \ .php $ root/usr/local/www/nginx; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ request_filename; incluir fastcgi_params;  Configure FastCGI para Nginx en FreeBSD  Configurar FastCGI para Nginx en FreeBSD Configurar FastCGI para Nginx en FreeBSD

14.. Para ver la información PHP actual de su servidor, cree un archivo info.php en la ruta de arranque de Nginx emitiendo el siguiente comando.

# echo “ “| tee/usr/local/www/nginx/info.php

15.. Luego, pruebe y reinicie el demonio Nginx para aplicar la configuración de PHP FastCGI. y visite la información. php en un navegador.

# nginx-t # Prueba el archivo de configuración nginx en busca de errores de sintaxis # service nginx restart

Reemplace la dirección IP o el nombre de dominio en los enlaces siguientes en consecuencia. La página de información de PHP debe mostrar información como se ilustra en la siguiente captura de pantalla.

http://yourdomain.com/info.php http://server_IP-or-FQDN/info.php  Verifique la información de PHP en FreeBSD  Verifique la información PHP en FreeBSD Verifique la información PHP en FreeBSD

Paso 3: Instale MariaDB en FreeBSD

16.. El último componente que falta en su pila FEMP. en la base de datos. MariaDB/MySQL. es uno de los software RDBMS de código abierto más asociados con el servidor web Nginx utilizado para implementar sitios web dinámicos.

En realidad, MariaDB/MySQL. es una de las bases de datos relacionales más utilizadas del mundo. Buscando a través de Puertos FreeBSD. puede encontrar múltiples versiones de MariaDB/MySQL.

En esta guía instalaremos MariaDB. base de datos, que es una bifurcación comunitaria de la base de datos MySQL. Para buscar versiones disponibles de MariaDB. ejecute los siguientes comandos en la terminal.

# ls-al/usr/ports/bases/| grep mariadb # pkg buscar mariadb  Buscar paquetes MariaDB  Buscar paquetes MariaDB Buscar paquetes MariaDB

17.. Para instalar la última versión de MariaDB servidor de base de datos ejecute el siguiente comando. También debe instalar el módulo de controlador de base de datos relacional PHP que utilizan los scripts PHP para conectarse a MySQL.

# pkg install mariadb102-server php71-mysqli

​​ 18.. Una vez instalada la base de datos, habilite el demonio MySQL e inicie el servicio de la base de datos ejecutando los siguientes comandos.

# sysrc mysql_enable = “YES” # service mysql-server start

19.. Además, asegúrese de reiniciar el demonio PHP-FPM. para cargar la extensión del controlador MySQL.

# service php-fpm restart 20.. En el siguiente paso, asegure la base de datos MariaDB. lanzando el script mysql_secure_installation. Utilice el siguiente ejemplo del script de instalación para responder a las preguntas. Básicamente, responda sí (y) a todas las preguntas para proteger la base de datos y escriba una contraseña segura para el usuario root de MySQL. #/usr/local/bin/mysql_secure_installation Salida del script de instalación segura de MySQL NOTA: ¡SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS LOS SERVIDORES MariaDB EN USO DE PRODUCCIÓN! POR FAVOR LEA CADA PASO DETENIDAMENTE. Para iniciar sesión en MariaDB para protegerlo, necesitaremos la contraseña actual para el usuario root. Si acaba de instalar MariaDB y aún no ha establecido la contraseña de root, la contraseña estará en blanco, por lo que solo debe presionar enter aquí. Ingrese la contraseña actual para root (ingrese para ninguna): OK, contraseña usada con éxito, avanzando … Establecer la contraseña de root asegura que nadie pueda iniciar sesión en el usuario root de MariaDB sin la autorización adecuada. ¿Establecer contraseña de root? [S/n] y Nueva contraseña: Vuelva a ingresar la nueva contraseña: ¡La contraseña se actualizó correctamente! Recarga de tablas de privilegios … … ¡Éxito! De forma predeterminada, una instalación de MariaDB tiene un usuario anónimo, lo que permite que cualquiera pueda iniciar sesión en MariaDB sin tener que tener una cuenta de usuario creada para ellos. Esto está diseñado solo para pruebas y para que la instalación sea un poco más fluida. Debe eliminarlos antes de pasar a un entorno de producción. ¿Eliminar usuarios anónimos? [S/n] y … ¡Éxito! Normalmente, a root solo se le debe permitir conectarse desde ‘localhost’. Esto asegura que alguien no pueda adivinar la contraseña de root de la red. ¿Deshabilitar el inicio de sesión de root de forma remota? [S/n] y … ¡Éxito! De forma predeterminada, MariaDB viene con una base de datos llamada ‘prueba’ a la que cualquiera puede acceder. Esto también está diseñado solo para pruebas y debe eliminarse antes de pasar a un entorno de producción. ¿Eliminar la base de datos de prueba y acceder a ella? [Y/n] y-Eliminando la base de datos de prueba … … ¡Éxito!-Eliminando privilegios en la base de datos de prueba … … ¡Éxito! Recargar las tablas de privilegios garantizará que todos los cambios realizados hasta el momento entren en vigor de inmediato. ¿Recargar tablas de privilegios ahora? [S/n] y … ¡Éxito! Limpiando … ¡Todo listo! Si ha completado todos los pasos anteriores, su instalación de MariaDB ahora debería ser segura. ¡Gracias por usar MariaDB!

21.. Para probar la conexión de la base de datos MariaDB desde la consola, ejecute el siguiente comando.

# mysql-u root-p-e “mostrar estado como ‘Conexiones'”

22.. Para proteger aún más MariaDB, que de forma predeterminada escucha las conexiones de red entrantes en el socket 0.0.0.0:3306/TCP. ejecute el siguiente comando para forzar al servicio a enlazar en la interfaz loopback. y prohibir completamente el acceso remoto. Luego, reinicie el servicio MySQL para aplicar la nueva configuración.

# sysrc mysql_args = “-bind-address = 127.0.0.1” # service mysql-server restart  Vincular MariaDB a la dirección de Loopback Vincular MariaDB a la dirección de bucle invertido Vincular MariaDB a la dirección de bucle invertido

Verifica si la vinculación localhost. se aplicó correctamente ejecutando el comando netstat como se muestra en el siguiente ejemplo.

# netstat-an-p tcp

¡Eso es todo! Ha instalado correctamente el servidor web Nginx, la base de datos relacional MariaDB y el lenguaje de programación PHP del lado del servidor en FreeBSD. Ahora puede comenzar a crear páginas web dinámicas para ofrecer contenido web a sus visitantes.