Elegir un VPS adecuado desde el minuto cero

El error más común al contratar un VPS es pagar de más o escoger mal los recursos. Si es tu primer servidor, empieza simple: 1 GB de RAM, 1 vCPU y 25 GB de SSD son suficientes para un entorno de pruebas o una web pequeña. Servicios como Hetzner, Contabo o Vultr ofrecen planes básicos y fiables desde unos pocos euros al mes. Lo importante al inicio no es la potencia, sino la estabilidad y la facilidad de gestión.

Sistema operativo: Ubuntu LTS o Debian estable

Evita distribuciones raras. A menos que tengas un motivo técnico muy específico, instala Ubuntu 22.04 LTS o Debian 12. Son estables, cuentan con soporte prolongado y tienen una enorme comunidad detrás. En el panel del proveedor puedes elegirlo antes de desplegar el servidor. En unos segundos tendrás tu máquina virtual lista, con una IP pública asignada.

Primer acceso y medidas básicas de seguridad

Con el VPS creado, recibirás una dirección IP y una contraseña de root. No la compartas con nadie. Conéctate desde tu terminal usando SSH:

ssh root@tu_ip_publica

Acepta la huella digital del servidor y escribe la contraseña. Si todo va bien, ya estás dentro del sistema. Empieza protegiéndolo antes de instalar nada.

1. Cambiar la contraseña de root y crear un usuario propio

Por motivos de seguridad, no es buena idea trabajar directamente como root. Crea un usuario con permisos administrativos:

  • adduser pedro
  • usermod -aG sudo pedro

Ahora podrás conectarte con ese usuario y usar sudo cuando necesites privilegios.

2. Autenticación por clave SSH

Desde tu equipo local genera una clave SSH con ssh-keygen. Sube la clave pública al servidor:

mkdir -p /home/pedro/.ssh && nano /home/pedro/.ssh/authorized_keys

Pega ahí tu clave pública, guarda y asegúrate de que los permisos son correctos. Una vez verificado que puedes entrar sin contraseña, deshabilita el login por password editando el archivo /etc/ssh/sshd_config y cambiando:

PasswordAuthentication no

Reinicia SSH con systemctl restart ssh. Con esto evitas la mayoría de ataques brutos automatizados.

3. Cortafuegos simple con UFW

Activa un firewall básico para cerrar todo lo que no necesites:

  • apt install ufw
  • ufw allow OpenSSH
  • ufw enable

Si vas a montar un servidor web, más adelante abriremos el puerto 80 y 443.

Actualizar paquetes y preparar la base del entorno

Antes de instalar nada, actualiza el sistema:

apt update && apt upgrade -y

Esto evita conflictos posteriores y te garantiza tener los últimos parches de seguridad.

Instalar la pila web básica

Depende del tipo de proyecto. Para un entorno genérico recomiendo Nginx, PHP-FPM y MariaDB. Es moderno, ligero y se ajusta a la mayoría de CMS o aplicaciones web.

1. Nginx

apt install nginx -y

Activa su arranque automático:

systemctl enable nginx

Comprueba que funciona accediendo desde tu navegador a la IP del VPS. Si ves la página por defecto de Nginx, todo está correcto.

2. PHP-FPM y extensiones

Instala PHP y módulos útiles:

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

El servicio se inicia automáticamente. Verifica con php -v.

3. MariaDB o MySQL

apt install mariadb-server -y

Protege la instalación con el asistente:

mysql_secure_installation

Te pedirá deshabilitar el acceso remoto del root y borrar bases de datos de prueba. Recomiendo decir “sí” a todo lo que refuerce la seguridad.

Conectar los componentes

Para que Nginx procese PHP, edita un bloque de servidor similar a este en /etc/nginx/sites-available/miweb.conf:

server {
listen 80;
server_name tu_dominio.com;
root /var/www/miweb;
index index.php index.html;
location / { try_files $uri $uri/ =404; }
location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; }
}

Actívalo con:

ln -s /etc/nginx/sites-available/miweb.conf /etc/nginx/sites-enabled/

Y recarga el servicio:

systemctl reload nginx

Crea la carpeta /var/www/miweb y pon un index.php simple para probar:

<?php phpinfo(); ?>

Accede a tu dominio o IP y deberías ver la información de PHP renderizada por Nginx. Si llegas a este punto, ya tienes un entorno funcional.

Configurar HTTPS con Let’s Encrypt

El siguiente paso es asegurar la conexión. Instala Certbot:

apt install certbot python3-certbot-nginx -y

Ejecuta el asistente:

certbot –nginx -d tu_dominio.com -d www.tu_dominio.com

Certbot configura Nginx automáticamente y renueva los certificados de forma programada. Revisa con systemctl list-timers que la tarea esté activa.

Automatizar copias de seguridad básicas

Un VPS nuevo sin backup es una bomba de relojería. Para algo rápido, crea un script en /usr/local/bin/backup.sh que guarde una copia comprimida de tu web y base de datos:

#!/bin/bash
DATE=$(date +%F)
tar -czf /root/backup_web_$DATE.tar.gz /var/www/miweb
mysqldump -u root -p’contraseña’ mi_base > /root/db_$DATE.sql

Hazlo ejecutable (chmod +x) y programa una tarea en cron (crontab -e):

0 3 * * * /usr/local/bin/backup.sh

Cada madrugada tendrás una copia en tu servidor. Más adelante conviene subirlas a un espacio remoto o S3.

Supervisión y mantenimiento mínimo

Mantener el VPS estable no requiere horas. Solo disciplina: actualiza regularmente (apt update && apt upgrade -y), revisa logs en /var/log/nginx/error.log y monitoriza el uso de RAM y disco con htop y df -h. Si el servidor empieza a ir lento, lo primero no es ampliar recursos, sino mirar qué proceso consume más.

Optimización rápida

Con Nginx, PHP-FPM y MariaDB ya montados, puedes ajustar algo de rendimiento sin complicarte. En /etc/php/8.x/fpm/php.ini cambia memory_limit a 256M y upload_max_filesize a 64M. Reinicia el servicio con systemctl restart php8.x-fpm. En Nginx, activa compresión Gzip y cachea archivos estáticos. No te llevará más de cinco minutos y mejora la respuesta notablemente.

Escalado sencillo sin romper nada

Cuando el proyecto crezca, clonar el entorno será fácil porque tienes una estructura limpia. Haz snapshot del VPS antes de tocar configuraciones grandes. Cualquier cambio que implique riesgo, pruébalo en una copia. Este hábito te ahorra horas de dolor.

Conclusión

Montar un entorno funcional en un VPS desde cero lleva menos de 30 minutos si sigues un orden lógico y no improvisas. Empieza por la seguridad, instala solo lo necesario y automatiza actualizaciones y backups. No necesitas ser sysadmin para tener un servidor sólido, solo sentido común y método.

Si estás valorando contratar tu primer VPS y no sabes cuál elegir, echa un vistazo a esta comparativa de servidores web económicos. Te ayudará a no pagar de más por rendimiento que no vas a usar.