Guía de inicio en Linode: despliegue de un servidor LEMP para tu sitio web

·

·

Guía de inicio en Linode: despliegue de un servidor LEMP para tu sitio web

Bienvenido a esta completa guía de inicio para desplegar un servidor LEMP en Linode. En este artículo detallado, aprenderás paso a paso cómo crear y configurar tu servidor, instalar cada componente del stack LEMP (Linux, Nginx, MySQL/MariaDB y PHP) y asegurar tu entorno de producción. Esta guía está pensada para administradores de sistemas, desarrolladores web y entusiastas que quieran un entorno robusto y ligero para alojar su sitio web dinámico.

Índice

¿Qué es el stack LEMP y por qué usarlo

El acrónimo LEMP proviene de:

Componente Función Puerto
Linux Sistema operativo
Nginx Servidor web 80/443
MySQL/MariaDB Base de datos relacional 3306
PHP-FPM Procesamiento de scripts PHP 9000

Este conjunto ofrece alto rendimiento, menor consumo de recursos y flexibilidad frente a otros stacks. Nginx es capaz de manejar miles de conexiones simultáneas de forma eficiente, y PHP-FPM optimiza el procesamiento de scripts.

Requisitos previos

  • Una cuenta activa en Linode.
  • Conocimientos básicos de administración Linux y manejo de la terminal.
  • Clave SSH configurada localmente (opcional pero recomendado).
  • Imágenes de Ubuntu 20.04 LTS (o superior) preferiblemente.

1. Creación de un Linode

  1. Inicia sesión en tu panel de Linode Cloud Manager.
  2. Haz clic en Linodes rarr Create Linode.
  3. Selecciona la región más cercana a tus usuarios.
  4. Escoge Ubuntu 20.04 LTS como sistema operativo.
  5. Elige un plan adecuado (desde 1 GB de RAM para proyectos pequeños hasta planes más potentes).
  6. Asigna un nombre descriptivo y añade tus claves SSH en “SSH Keys”.
  7. Pulsa Create Linode.

Tras unos segundos tendrás tu servidor listo para conectarte vía SSH:

ssh root@TU_IP_PUBLICA

2. Configuración inicial del servidor

2.1 Actualizar paquetes

apt update  apt upgrade -y

2.2 Crear un usuario administrativo

adduser tu_usuario
usermod -aG sudo tu_usuario

2.3 Deshabilitar acceso root (opcional pero recomendable)

nano /etc/ssh/sshd_config  
PermitRootLogin no
systemctl reload sshd

3. Instalación y configuración de Nginx

3.1 Instalar Nginx

apt install nginx -y

3.2 Verificar servicio

systemctl status nginx

Accede a http://TU_IP_PUBLICA y deberías ver la página de bienvenida de Nginx.

4. Instalación de MySQL/MariaDB

4.1 Instalar MariaDB

apt install mariadb-server mariadb-client -y

4.2 Asegurar la instalación

mysql_secure_installation

Sigue las indicaciones para establecer contraseña root, eliminar usuarios anónimos y base de datos de prueba.

5. Instalación de PHP y módulos necesarios

5.1 Instalar PHP-FPM y extensiones

apt install php-fpm php-mysql php-cli php-curl php-xml php-mbstring -y

5.2 Ajustes en PHP-FPM

Edición de parámetros de rendimiento en /etc/php/7.4/fpm/php.ini (ajusta según la versión):

  • memory_limit = 256M
  • upload_max_filesize = 50M
  • post_max_size = 50M
  • max_execution_time = 300
systemctl restart php7.4-fpm

6. Configuración de Virtual Hosts en Nginx

6.1 Crear directorio para tu sitio

mkdir -p /var/www/tu-dominio.com/html
chown -R USER:USER /var/www/tu-dominio.com/html
chmod -R 755 /var/www/tu-dominio.com

6.2 Crear el archivo de configuración

nano /etc/nginx/sites-available/tu-dominio.com

Ejemplo de configuración:

server {
    listen 80
    server_name tu-dominio.com www.tu-dominio.com
    root /var/www/tu-dominio.com/html
    index index.php index.html index.htm

    location / {
        try_files uri uri/ =404
    }

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

    location ~ /.ht {
        deny all
    }
}
ln -s /etc/nginx/sites-available/tu-dominio.com /etc/nginx/sites-enabled/
nginx -t  systemctl reload nginx

Coloca un index.php de prueba:

ltphp phpinfo() gt

7. Seguridad y certificados SSL con Let’s Encrypt

  1. Instalar Certbot:
    apt install certbot python3-certbot-nginx -y
  2. Obtener y configurar SSL:
    certbot --nginx -d tu-dominio.com -d www.tu-dominio.com
  3. Verificar renovación automática:
    systemctl status certbot.timer

8. Configuración de firewall con UFW

Protege tu servidor limitando puertos abiertos:

apt install ufw -y
ufw allow OpenSSH
ufw allow Nginx Full
ufw enable
ufw status verbose

9. Monitorización y mantenimiento

  • Instalar Linode CLI para scripts de backup.
  • Implementar Logrotate para rotación de logs.
  • Configurar alertas de uso de CPU/RAM con Monit o Prometheus.
  • Realizar backups periódicos de bases de datos y directorios clave.

Conclusión

En esta guía has aprendido a desplegar un servidor LEMP en Linode de manera segura y optimizada. Desde la creación de la instancia hasta la instalación de Nginx, MariaDB, PHP, configuración de Virtual Hosts, SSL y firewall. Siguiendo estas buenas prácticas tendrás un entorno de producción estable, rápido y preparado para alojar proyectos web de cualquier tamaño.

Para profundizar más en cada componente, visita la documentación oficial de Linode Docs, Nginx Docs y PHP Manual.

¡Manos a la obra y disfruta de tu nuevo servidor LEMP en Linode!



Leave a Reply

Your email address will not be published. Required fields are marked *