Está en la página 1de 7

Instalar y configurar un servidor

LEMP en Ubuntu 20.04 – Nginx, php-


fpm, MariaDB y phpMyAdmin.
 Autor de la entrada:Alejandro Hernández Pastora
 Publicación de la entrada:4 de diciembre de 2021
 Categoría de la entrada:Tutoriales
 Comentarios de la entrada:Sin comentarios
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 php-mysql 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

//Durante la instalación se mostrará el siguiente mensaje en el cual vamos a presionar ESC ya


que nuestro servidor Web Nginx no está listado:

//Luego nos pedirá confirmación para que el asistente instale la base de datos de phpMyAdmin,
damos en Yes:
//Nos pedirá una contraseña para la base de datos de phpMyAdmin, escojamos una segura y
continuamos.

//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

//Accedemos con el usuario phpmyadmin y la contraseña que especificamos en la instalación


del phpmyadmin, el problema es que ahora mismo este usuario no tiene ningún privilegio como
se muestra en la imagen, pero eso lo vamos a arreglar pronto:
//Vamos a asignar los privilegios:

# sudo mysql -u root -p


# GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT
OPTION;
# FLUSH PRIVILEGES;
# exit;

//Veamos ahora:

También podría gustarte