GNU/Linux >> Tutoriales Linux >  >> FreeBSD

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

Este tutorial lo guiará sobre cómo instalar y configurar FBEMP en FreeBSD 11.x último lanzamiento. 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 gestión de bases de datos relacionales 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 nuestro FBEMP apilar en FreeBSD es el servidor web, representado por Nginx software.

Nginx El servidor web tiene más paquetes precompilados disponibles en FreeBSD 11.x PORTS . Para obtener una lista de Nginx binarios de Puertos repositorios, emita los siguientes comandos en la terminal de su servidor.

# ls /usr/ports/www/ | grep nginx
# pkg search -o nginx

2. En esta configuración particular, instalaremos la versión del paquete principal de Nginx emitiendo el siguiente comando. El paquete la administración de paquetes 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

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

4. Luego, usando el sockstat comando, verifique los sockets de red del servicio Nginx, si están vinculados a 80/TCP puerto, 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 la 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

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 .html o .php archivos, para su sitio web.

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

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

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

root	/path/to/new/webroot;

Paso 2:Instalar PHP en FreeBSD

7. A diferencia de Apache HTTP servidor, Nginx no tiene la capacidad de procesar código PHP de forma nativa. A cambio, el servidor web Nginx pasa las solicitudes de PHP a un intérprete de PHP, como php-fpm FastCGI. daemon, 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 lo envía 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 PHP 5.6 , PHP 7.0 y PHP 7.1 comunicados 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 optar por 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 PHP 7.1 release y algunos módulos importantes de PHP requeridos 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. Una vez que haya instalado los paquetes de PHP en su sistema, abra PHP-FPM archivo de configuración 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 ejemplo a continuación.

user = www
group = www

10. Además, cree un archivo de configuración de PHP utilizado para la 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

Por ejemplo, cambie la fecha.zona horaria configuración 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 según su país).

date.timezone = Europe/London

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

upload_max_filesize = 10M
post_max_size = 10M

11. Después de haber realizado la configuración personalizada para PHP, habilite e inicie PHP-FPM daemon para aplicar las nuevas configuraciones emitiendo los siguientes comandos.

# sysrc php_fpm_enable=yes
# service php-fpm start

12. Por defecto, PHP-FPM El demonio en FreeBSD se une a un socket de red local en el puerto 9000/TCP . Para mostrar PHP-FPM los sockets de red ejecutan el siguiente comando.

# sockstat -4 -6| grep php-fpm

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

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

Bloque de código FastCGI para nginx:

 location ~ \.php$ {
        root	/usr/local/www/nginx;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;    
        include        fastcgi_params;
        	}

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

# echo "<?php phpinfo(); ?>" | tee /usr/local/www/nginx/info.php

15. Luego, pruebe y reinicie el demonio Nginx para aplicar el PHP FastCGI configuración y visite el info.php página en un navegador.

# nginx -t # Test nginx configuration file for syntax errors
# service nginx restart

Reemplace la dirección IP o el nombre de dominio en los enlaces a continuación según corresponda. 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

Paso 3:Instale MariaDB en FreeBSD

16. El último componente que falta en tu FEMP pila en la base de datos. MariaDB/MySQL es uno de los software RDBMS de código abierto más asociado 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 en el mundo. Buscando a través de Puertos de 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 MySQL base de datos. Para buscar versiones disponibles de MariaDB , emita los siguientes comandos en la terminal.

# ls -al /usr/ports/databases/ | grep mariadb
# pkg search mariadb

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

# pkg install mariadb102-server php71-mysqli

18. Después de instalar 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 PHP-FPM daemon para cargar la extensión del controlador MySQL.

# service php-fpm restart
20. On the next step, secure MariaDB database by launching mysql_secure_installation script. Use the below sample of the installation script in order to answer the questions. Basically, say yes (y) for all asked questions to secure the database and type a strong password for MySQL root user.
# /usr/local/bin/mysql_secure_installation
Salida del script de instalación segura de MySQL
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using 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 "show status like ‘Connections’"

22. Para asegurar aún más MariaDB, que por defecto escucha las conexiones de red entrantes en 0.0.0.0:3306/TCP socket, emita el siguiente comando para obligar al servicio a vincularse en loopback interfaz y rechazar por completo 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

Verifique si localhost el enlace se aplicó con éxito ejecutando el comando netstat como se muestra en el siguiente ejemplo.

# netstat -an -p tcp

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


FreeBSD
  1. Cómo instalar Nginx, PHP y MySQL (LEMP Stack) en OpenSUSE Leap 42.1

  2. Cómo instalar Nginx con PHP y MySQL (LEMP Stack) en CentOS 7

  3. Cómo instalar Linux, Nginx, MariaDB, PHP (LEMP Stack) en CentOS 7 / RHEL 7

  4. Cómo instalar Apache, MariaDB y PHP (FAMP) Stack en FreeBSD

  5. Cómo instalar la pila Apache, MariaDB y PHP (FAMP) en FreeBSD 11

Cómo instalar Linux, Nginx, MySQL, PHP (LEMP Stack) en Ubuntu 18.04

Cómo instalar WordPress con FAMP Stack en FreeBSD

Cómo instalar LEMP Stack (Nginx, MariaDB y PHP) en AlmaLinux 8

Cómo instalar Nginx y PHP en Debian 10

Cómo instalar Linux, Nginx, MariaDB y PHP (LEMP) en Fedora 22

Cómo instalar FEMP (FreeBSD 10, Nginx, MySQL, PHP) en una nube o servidor VPS