Instalar y configurar un servidor LEMP en Ubuntu 20.04 – Nginx, php-fpm, MariaDB y phpMyAdmin.

En la siguiente entrada veremos como instalar y configurar un servidor con los servicios Web de Nginx con php-fpm, un servidor de Base de datos MariaDB y el gestor phpMyAdmin, además agregaremos privilegios a phpMyAdmin para que pueda gestionar como root el servidor MariaDB.

En una próxima entrada veremos como montar nuestra Web con WordPress utilizando este servidor.

Se asume que tiene un sistema Ubuntu 20.04 instalado y funcionando.

Los datos del servidor son:

Nombre: srv

Dirección IP: 10.10.20.4

//Bueno lo primero como siempre, actualizar nuestro sistema.

# sudo apt update
# sudo apt upgrade

//Vamos a proceder a instalar nuestro servidor Web Nginx:

# sudo apt install nginx

//Ya puedes comprobar que ha quedado instalado el servicio accediendo con el navegador a: http://10.10.20.4

//Lo siguiente es instalar nuestro servidor de base de datos MariaDB:

# sudo apt install mariadb-server mariadb-client

//Lanzamos el comando de configuración inicial de MariaDB:

# sudo mysql_secure_installation

//Sólo debemos establecer una contraseña segura para el usuario root y lo demás podemos dejarlo por defecto.

//Vamos a instalar php-fpm:

# sudo apt install php-fpm

//En algún momento se instala el servicio de apache2 que no lo necesitamos ni vamos a usar, asi que ejecutamos lo siguiente para desinstalarlo:

# sudo apt remove apache2 apache2-data apache2-utils

//Comprobamos que esta corriendo php-fpm y lo habilitamos como servicio por si acaso no quiere arrancar con el sistema:

# sudo systemctl status php7.4-fpm
# sudo systemctl is-enabled php7.4-fpm

//Vamos a cerciorarnos de que esta escuchando en el socket:

# sudo nano /etc/php/7.4/fpm/pool.d/www.conf

//La línea listen debe estar definida a: listen = /run/php/php7.4-fpm.sock

//Cómo por el momento no tenemos ningún sitio web configurado, usaremos el archivo de configuración por defecto para hacer algunas pruebas, lo editamos para dejarlo de la siguiente forma:

# sudo nano /etc/nginx/sites-available/default

//En el bloque pass PHP scripts to FastCGI server, descomentar las siguientes líneas:

location ~ \\.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

//Comprobamos que todo esta bien y reiniciamos Nginx:

# sudo nginx -t
# sudo systemctl reload nginx

//Veamos si php esta funcionando, de forma temporal podemos crear un archivo info.php para comprobar nuestros sistemas:

# echo \"<?php phpinfo(); ?>\" | sudo tee /var/www/html/info.php

//Ahora nos toca instalar el paquete de phpMyAdmin que nos servirá para gestionar nuestras Bases de datos, los usuarios y los privilegios de una forma más fácil y amigable.

sudo apt install phpmyadmin

//La instalación de phpMyAdmin guarda sus archivos en /usr/share/phpmyadmin asi que debemos crear un link hacia el directorio que lee Nginx:

# sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin

//Damos permisos necesarios al directorio y asignamos usuario y grupo:

$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

//Por defecto Nginx no va a leer archivos php, así que debemos editar el archivo default nuevamente:

# sudo nano /etc/nginx/sites-available/default

//Agregamos:

index.php

//Reiniciamos Nginx y ya podremos cargar nuestro phpMyAdmin:

# sudo systemctl restart nginx

http://10.10.20.4/phpmyadmin

//Vamos a asignar los privilegios:

# sudo mysql -u root -p
# GRANT ALL PRIVILEGES ON *.* TO \'phpmyadmin\'@\'localhost\' WITH GRANT OPTION;
# FLUSH PRIVILEGES;
# exit;

Deja un comentario

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

Scroll al inicio