Tu propio VPS explicado para no-devs
Contratá un servidor que nunca se apaga, entrá por SSH, aseguralo y dejá tu web publicada con HTTPS: control total, explicado paso a paso.
Un VPS es una computadora alquilada en un datacenter que nunca se apaga: tuya, con tu IP, corriendo 24/7. En este tutorial vas a contratar uno, entrar por primera vez, asegurarlo y dejar una web publicada con HTTPS. Es para vos si ya publicaste en plataformas fáciles y querés control total, o querés pagar un precio fijo por muchos proyectos en vez de una factura por cada uno.
Antes de empezar
- Manejo básico de terminal: copiar un comando, pegarlo, leer lo que devuelve. No hace falta más.
- Tarjeta para pagar el VPS: los planes chicos cuestan unos pocos dólares al mes.
- Un dominio propio, porque el HTTPS automático lo necesita.
- Una tarde libre. La primera vez no se hace apurado.
Paso 1 — Contratá el VPS
Proveedores hay muchos: Hetzner, DigitalOcean, Vultr, Contabo, entre otros. Para empezar:
- Elegí el plan más chico que ofrezcan: alcanza para varios proyectos livianos.
- Sistema operativo: Ubuntu LTS (la versión "LTS" es la de soporte largo; es el estándar y todos los tutoriales del mundo la asumen).
- Al terminar te dan dos cosas: una IP pública (la dirección de tu servidor) y acceso como usuario root (el administrador total).
Si el proveedor te ofrece cargar una "llave SSH" al crear el servidor, hacelo: es más seguro que una contraseña. Si no entendiste esa frase, seguí con contraseña por ahora y volvé a esto en el paso 3.
Paso 2 — Entrá por SSH
SSH es la forma de abrir una terminal dentro de tu servidor desde tu compu, cifrada de punta a punta. En Windows, Mac o Linux, abrí la terminal y escribí:
ssh root@TU_IP_DEL_VPSReemplazá TU_IP_DEL_VPS por la IP que te dio el proveedor. La primera vez te pregunta si confiás en el servidor (escribí yes) y te pide la contraseña. Si ves algo como root@servidor:~#, ya estás adentro. Todo lo que escribas ahora pasa en el servidor, no en tu máquina.
Paso 3 — Asegurá lo mínimo
Dato incómodo: desde el minuto uno, bots automáticos de todo el mundo van a intentar entrar a tu servidor. No es paranoia, es el estado normal de internet. Lo mínimo:
# 1. Actualizá todo el sistema
apt update && apt upgrade -y
# 2. Prendé el firewall dejando pasar solo lo necesario
ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw enableEl firewall es un portero: los puertos 80 y 443 son la web (HTTP y HTTPS), y OpenSSH es tu propia puerta de entrada. Todo lo demás, cerrado.
Tercera medida, la más importante: llaves SSH en vez de contraseña. Una llave es un archivo en tu compu que te identifica; sin ese archivo, nadie entra aunque adivine mil contraseñas. Buscá "configurar llave SSH" para tu sistema operativo y hacelo antes de ponerle nada valioso al servidor.
Paso 4 — Instalá Docker
Docker corre cada app en una "caja" aislada, con todo lo que necesita adentro. Para un no-dev es la mejor noticia del mundo: no instalás Node, Python ni bases de datos a mano, y si una app se rompe, no ensucia el resto del servidor.
curl -fsSL https://get.docker.com | shVerificá con docker --version. Si te responde con un número de versión, listo.
Paso 5 — Publicá tu primera web con HTTPS
Vamos a usar Caddy, un servidor web que consigue y renueva el certificado HTTPS solo. Primero, en el DNS de tu dominio, creá un registro A apuntando a la IP del VPS y esperá a que propague.
En el servidor, creá una carpeta con tres cosas: tu web en sitio/, un archivo Caddyfile y un docker-compose.yml:
# Caddyfile
tudominio.com {
root * /srv
file_server
}# docker-compose.yml
services:
web:
image: caddy:alpine
ports: ["80:80", "443:443"]
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./sitio:/srv
restart: unless-stoppedLevantalo:
docker compose up -dEntrá a https://tudominio.com. Candadito incluido, sin tocar certificados. Ese restart: unless-stopped significa que si el servidor se reinicia, tu web vuelve sola.
Paso 6 — Dejá una rutina de mantenimiento
Un VPS no es "configurar y olvidar". Tu rutina mínima, una vez al mes:
apt update && apt upgrade -ypara parches de seguridad.- Activá los backups o snapshots del proveedor (suelen costar un pequeño extra; pagalo).
docker compose logs --tail 50en tus apps para ver si algo viene fallando en silencio.
Errores comunes
- Quedarse con contraseña de root para siempre. Es el blanco número uno de los bots. Arreglo: llaves SSH y, si querés nota 10, desactivar el login por contraseña.
- Abrir puertos "para probar" y no cerrarlos. Arreglo:
ufw statuscada tanto; si no sabés para qué está abierto un puerto, cerralo. - No tener backups hasta el día que los necesitás. Ese día ya es tarde. Arreglo: snapshots automáticos del proveedor desde la semana uno.
- Editar archivos dentro del contenedor en caliente. Los cambios se pierden al recrearlo. Arreglo: todo cambio va en tus archivos (
Caddyfile,docker-compose.yml, tu carpetasitio/) y despuésdocker compose up -dde nuevo.
Siguiente paso
Con esta base podés aprender a correr varias apps con dominios distintos en el mismo VPS usando un reverse proxy (Caddy o Traefik hacen de recepcionista y reparten las visitas), y a automatizar el deploy: que un git push desde tu compu actualice el servidor sin que toques nada a mano.
¿Lo querés funcionando en tu negocio?
Mirá cómo trabajamos, o entrá gratis a la comunidad y preguntá lo que te trabó.
Seguí aprendiendo
Publicar tu web en internet: las 4 rutas
Estática o dinámica, gratis o control total: las 4 rutas reales para que tu web deje de vivir en tu compu y tenga un link de verdad.