Ubuntu: instale un servidor web – NGINX / PHP / MariaDB

En este tutorial veremos cómo instalar y configurar un servidor en Ubuntu con los siguientes componentes:

  • Nginx
  • PHP
  • MariaDB

También explicaré cómo poner phpmyadmin para administrar el servidor MariaDB y cómo configurar vhosts.

En este tutorial, no usaremos los repositorios oficiales de la distribución, sino los repositorios de los distintos componentes para instalar las últimas versiones.

Requisito previo

Tenga un servidor Ubuntu recién instalado y actualizado con acceso root o sudo y acceso a Internet.

Instalación de los distintos componentes

En esta parte vamos a instalar los distintos componentes del servidor Web y comprobar su correcto funcionamiento.

Instalar Nginx

Antes de instalarlo, agregaremos el repositorio de oficina de Nginx.

Ingrese el siguiente comando para crear un archivo de lista donde completaremos las URL.

En el editor nano, ingrese las líneas debajo que son la configuración del repositorio:

Presione las teclas del teclado Crtl + X y guarde los cambios.

Tienes que adaptar las fuentes del repositorio a la versión de Ubuntu, en el tutorial estoy en la versión 18.04.X, entonces estoy usando bionic.

Agregue las firmas del depósito usando los siguientes comandos:

Actualice los paquetes con el comando:

En la captura de pantalla a continuación, podemos ver que se ha consultado el repositorio de nginx:

Instale nginx con el siguiente comando:

La opción -y le permite no tener una solicitud de confirmación para la instalación

Nginx ahora está instalado, ahora vamos a hacer algunas comprobaciones, configuraciones y ver algunos comandos antes de pasar a la instalación de PHP.

Verifique la configuración de nginx:

Este comando es muy útil, sobre todo a la hora de realizar un cambio de configuración, te permite comprobar que es correcto antes de volver a cargarlo.

Inicie el servicio nginx:

Si todo va bien el comando no devuelve nada

Configure el inicio automático del servicio:

sudo systemctl enable nginx

Verifique el servicio nginx:

systemctl status nginx

Este comando le permite verificar el estado del servicio y desde cuándo se ha estado ejecutando.

Mostrar versión de nginx

Configurar el usuario de nginx

Este paso de configuración es importante, especialmente si desea utilizar php (php-fpm) en el servidor web.

Al instalar nginx desde el repositorio oficial, el servicio está configurado para ejecutarse con el usuario nginx y php con el usuario www-data. Es necesario modificar la configuración de nginx para usar el mismo usuario que php.

Éditer le fichier /etc/nginx/nginx.conf :

Buscar:

Reemplazar con :

Guarde el archivo de configuración.

Recargue la configuración:

Pruebe el servidor Nginx

Desde una computadora, abra un navegador de Internet e ingrese la dirección IP o el nombre de la máquina y verifique que el mensaje ¡Bienvenido a nginx! se visualiza.

Instalar PHP

Ahora que el servidor web está en su lugar, pasaremos a instalar PHP, como para nginx, agregaremos el repositorio ppa: ondrej / php que permite tener las últimas versiones de PHP y tener varias versiones simultáneamente .

En este tutorial instalaremos la versión 7.3 y 7.4 de PHP y veremos cómo posteriormente configurar un vhost para usar una versión específica de PHP.

Agregar depósito

Ingrese los siguientes comandos:

Se requiere confirmación al ejecutar el comando: sudo add-apt-repository ppa: ondrej / php

Actualice los paquetes usando el comando:

sudo apt update

Ver versiones de PHP disponibles

Ingrese el comando apt install php7. y haz una pestaña.

Puede ver todos los paquetes PHP disponibles en el repositorio.

Instalar una versión de PHP

Para una instalación en nginx, es importante no ingresar el comando sudo apt install php7.X porque este comando instalará dependencias incluyendo apache2.

Para usar PHP con NGINX, debe instalar PHP en modo FPM.

Para instalar PHP ingrese el siguiente comando (adapte según la versión deseada):

Una vez que se complete la instalación, ingrese el siguiente comando para probar el funcionamiento correcto:

PHP en modo FPM, funciona como un servicio, es posible verificar su estado usando el siguiente comando adaptando la versión de php instalada:

systemclt status php7.3-fpm

Para instalar otra versión de PHP simultáneamente, simplemente repita la operación cambiando el comando con la versión deseada.

Configurar NGINX y PHP

Ahora configuraremos nginx para usar PHP y probaremos que funcione.

Edite el archivo vhost predeterminado:

Añada antes de final} las siguientes líneas adaptándose a la versión de PHP disponible:

Verifique la configuración usando el comando: sudo nginx -t

Recargue la configuración: sudo systemctl reload nginx

Para probar cómo funciona php, crearemos un archivo phpinfo.php:

Ingrese el código PHP a continuación:

Guardar el archivo.

Desde un navegador de Internet, llame a la página http: //ip_server/phpinfo.php

Si la página phpinfo.php está bien.

Instalar MariaDB

Nuestro servidor web está casi completo, ahora tenemos que instalar MariaDB para tener una base de datos.

Agregar el depósito

Una vez más, necesitamos agregar el repositorio para tener la última versión. Vaya a la siguiente URL: Download MariaDB Server – MariaDB.org y seleccione la distribución y la versión de MariaDB para tener la url de las fuentes.

Ingrese los siguientes comandos para agregar el repositorio:

Actualice la lista de paquetes con el comando:

Instalación de MariaDB

En cuanto a PHP, ingrese el comando apt install mariadb- + tab para mostrar los paquetes disponibles.

Para el ejemplo, instalaremos la versión 10.5, ingrese el siguiente comando para realizar la instalación:

Una vez finalizada la instalación, ingrese el siguiente comando para verificar el correcto funcionamiento del servidor MariaDB:

Creación de una cuenta de administración

Por defecto, la cuenta root no tiene contraseña y solo es accesible desde la consola, para evitar modificar esta cuenta crearemos una cuenta de administración que podremos usar con otra herramienta. como phpmyadmin.

Ingrese el siguiente comando para cambiar al modo mysql

Ingrese las siguientes líneas (solicitudes) para crear una cuenta adminsql, cambie la contraseña antes de realizar pedidos.

Instalar PHPMYADMIN

Este paso es opcional, la instalación de phpmyadmin le permite administrar MariaDB.

Para facilitar mi trabajo, utilicé WinSCP para la transferencia al servidor en SSH.

Descargue la última versión de phpmyadmin.

Descomprime el archivo.

En el servidor web, cree una carpeta pma en la ubicación del vhost de forma predeterminada: / usr / share / nginx / html

Envíe el contenido del archivo a la carpeta pma:

Desde un navegador, vaya a la dirección: http: //ip_server/pma/index.php

Ingrese la información de la cuenta creada previamente (adminsql / contraseña) y haga clic en Ejecutar para conectarse.

Puede administrar el servidor MariaDB con una interfaz web.

Configurar vhosts

Ahora que el servidor web está listo, veremos cómo configurar vhost también llamado host virtual que le permite alojar varios sitios en el mismo servidor.

Para el tutorial, crearé dos vhost (site-a.lab.priv y site-b.lab.priv) que usarán una versión diferente de php, site-a estará bajo php7.3 y site -b estará con php7.4

De antemano creé los dos registros DNS y apunta al servidor

Antes de comenzar, debe crear las diferentes carpetas, en la carpeta / home crearé una carpeta www-data y luego en esta carpeta crearé las subcarpetas sites, site-a y site-b, las cuales tendrán cada una dos subcarpetas. -log y carpetas public_html.

Ahora que los archivos están listos, pasaremos a los archivos de configuración. Para tener una operación similar a Apache, crearemos dos carpetas en la carpeta / etc / nginx.

  • sites-available : que contendrá los archivos de configuración del host virtual
  • sites-enabled : que contendrá enlaces simbólicos a los archivos de configuración del host virtual que estarán activos.

Crea las carpetas con los siguientes comandos:

Ahora debe modificar el archivo de configuración nginx para indicarle que cargue los archivos de configuración que estarán en la carpeta habilitada para el sitio.

Buscar:

Agregar después:

Guarde el archivo de configuración.

Pruebe la configuración de nginx:

Recargue la configuración:

Vamos a la configuración del host virtual para el sitio-a, usaremos el archivo predeterminado como base, copiaremos el archivo default.conf en la carpeta disponible del sitio renombrándolo site-a.conf

Ahora debe modificar el archivo para que corresponda con la configuración del sitio.

Aquí está el archivo de configuración:

Líneas cambiadas:

Ligne 3 (server_name) : indicar URL
Ligne 6 : ubicación de registros
Ligne 9 : directorio raíz del sitio
Ligne 10 : agregando index.php
Ligne 46 : directorio raíz del sitio

Ahora debe activar el sitio con enlace simbólico:

Pruebe la configuración de nginx

Recargar la configuración

Para probar el funcionamiento correcto, agregué un archivo index.php en la carpeta public_html del sitio con el siguiente código:

Desde un navegador, ingrese la URL del sitio:

Para el sitio-b, reproduje la misma configuración cambiando el nombre del servidor, las ubicaciones y la configuración de php para usar php7.4.

el archivo de configuración:

Aquí está el resultado:

Conclusión

El tutorial termina aquí, ahora sabe cómo instalar y configurar un servidor web con Nginx / PHP / MariaDB con Ubuntu usando diferentes versiones de PHP y hosts virtuales.

Otros tutoriales vendrán como instalar WordPress y GLPI en un servidor web NGINX.





Related Posts


Instalación de WEBMIN en Ubuntu

Presentación de WebminInstalaciónUtilizarVídeo Presentación de Webmin WEBMIN es un software que instala una interfaz web para administrar un servidor Linux. Webmin permite: Administracion del sistemaA