Tutorial

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.

AvanzadoDeploy4 min de lectura

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_VPS

Reemplazá 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 enable

El 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 | sh

Verificá 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-stopped

Levantalo:

docker compose up -d

Entrá 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 -y para parches de seguridad.
  • Activá los backups o snapshots del proveedor (suelen costar un pequeño extra; pagalo).
  • docker compose logs --tail 50 en 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 status cada 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 carpeta sitio/) y después docker compose up -d de 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

DeployIntermedio

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.

GitHubVercelNetlifyCloudflare PagesGitHub PagesRailwayRendercPanelDNS
En esta guía
  1. Antes de empezar
  2. Paso 1 — Contratá el VPS
  3. Paso 2 — Entrá por SSH
  4. Paso 3 — Asegurá lo mínimo
  5. Paso 4 — Instalá Docker
  6. Paso 5 — Publicá tu primera web con HTTPS
  7. Paso 6 — Dejá una rutina de mantenimiento
  8. Errores comunes
  9. Siguiente paso