En este video veremos cómo instalar el stack LNMP, por sus siglas de Linux Nginx MySQL y PHP, en un servidor con el sistema operativo de Ubuntu Server 20.04 LTS para poder instalar aplicaciones PHP populares cómo WordPress, Moodle entre muchas otras o aplicaciones propias desarrolladas en PHP.

Durante el video previamente en el servidor se ha configurado una dirección IP estática al servidor y se instalado el panel administrativo Webmin:

Cómo configurar tu IP en Ubuntu Server 20.04
Cómo instalar Webmin en Ubuntu Server 20.04 LTS

A continuación se en listan los comandos utilizados durante el video a través de SSH:

Actualizamos los repositorios de nuestro servidor.

sudo apt-get update

Instalamos el servidor web Nginx.

sudo apt-get install nginx

Instalamos PHP 7.4 y otros paquetes que se suelen utilizar en aplicaciones PHP populares.

sudo apt-get install php7.4-fpm php7.4-cli php7.4-mysql php7.4-gd php-imagick php7.4-tidy php7.4-xmlrpc
sudo apt-get install php7.4-bcmath php7.4-curl php7.4-mbstring php7.4-soap php7.4-xml php7.4-zip php7.4-intl
sudo apt-get install openssl php7.4-common php7.4-json

Instalamos el motor de base de datos MySQL.

sudo apt install mysql-server

Comando como paso opcional para incrementar la seguridad de nuestra instalación de MySQL.

sudo mysql_secure_installation

Como otro paso opcional de seguridad, la habilitación del firewall o cortafuegos del servidor habilitando los puertos que necesitemos, en el video se habilita como ejemplo como hacerlo con el puerto 80 para http, 443 para https, 10000 para acceder al panel de Webmin, 22 para entrar al servidor por SSH y el 3306 para conectarnos remotamente a MySQL.

sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 10000
sudo ufw allow 22
sudo ufw allow 3306
sudo ufw enable

Editamos el archivo de configuración de MySQL con el editor nano.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Reiniciamos el servicio de MySQL para que tome los cambios aplicados al archivo.

sudo service mysql restart

Creamos un archivo de configuración para un sitio llamado php.bioxor.net en nginx con el editor nano.

sudo nano /etc/nginx/sites-available/php.bioxor.net

El archivo contiene la siguiente configuración.

server {
 listen 80;
 root /var/www/php.bioxor.net;
 index  index.php index.html index.htm;
 server_name php.bioxor.net;

 client_max_body_size 10M;

 location / {
    try_files $uri $uri/ /index.php?$args;
 }

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

Ingresamos a la carpeta de sitios habilitados de Nginx.

cd /etc/nginx/sites-enabled/

Creamos un enlace simbólico de nuestro archivo de configuración.

sudo ln -s ../sites-available/php.bioxor.net

Verificamos que no haya errores de sintaxis en nuestro archivo de configuración.

sudo nginx -t

Reiniciamos el servicio de nginx para que tome los cambios.

sudo service nginx restart

Creamos el directorio php.bioxor.net para el sitio web en la carpeta de www.

sudo mkdir /var/www/php.bioxor.net

Creamos un archivo index dentro de nuestro nuevo directorio

sudo nano /var/wwww/php.bioxor.net/index.php

Dentro del archivo probamos PHP utilizando la función de phpinfo();

Asignamos permisos a la carpeta de www al grupo y usuario que ejecuta el servidor web nginx www-data.

cd /var
sudo chown -R www-data:www-data www

Referencias de los paquetes de PHP disponibles mencionados en el video en Ubuntu 20.04, 18.04 y 16.04.


Rodolfo Borja

Me encanta la tecnología y los chocolates y me da satisfacción poder ayudar a otras personas compartiendo mis conocimientos, estudié ingeniería en computación y me dedico al giro del desarrollo software y servicios desde hace más de 10 años.

View all posts

Add comment

Tu dirección de correo electrónico no será publicada.

Publicidad

¿Me donas para un chocolate?