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.
Add comment