🧠 Cómo Instalar Ghost en VPS Hostinger: Guía Completa 2025
🚀 Introducción
Si alguna vez has instalado Ghost en un servidor VPS (por ejemplo en Hostinger), sabrás que lo más importante para tener tu blog en línea con HTTPS es conectar correctamente el dominio y emitir el certificado SSL.
En esta guía te explico todo el proceso paso a paso, desde los registros DNS hasta la configuración en el servidor, usando un dominio externo (como Namecheap) y un VPS de Hostinger con Ubuntu.
🧩 Paso 1: Preparar el entorno en Hostinger VPS
- Ingresa al hPanel → VPS → Manage → Access.
- Conéctate por SSH con tu usuario
root:ssh root@tu-ip-del-vps - Instala las dependencias necesarias para Ghost:
apt update && apt upgrade -y
apt install nginx mysql-server -y
apt install nodejs npm -y
npm install -g ghost-cli🌐 Paso 2: Crear los registros DNS en tu proveedor (Namecheap, GoDaddy, etc.)
En el panel DNS de tu dominio, crea dos registros tipo A apuntando a la IP pública de tu VPS:
| Tipo | Host | Valor (IP) | TTL |
|---|---|---|---|
| A | @ | TU.IP.VPS | Automático |
| A | www | TU.IP.VPS | Automático |
Guarda los cambios y espera entre 30 minutos y 2 horas para que los DNS se propaguen globalmente.
Puedes verificarlo con dnschecker.org.
⚙️ Paso 3: Instalar Ghost en el servidor
- Crea una carpeta para Ghost:
mkdir -p /var/www/ghost
cd /var/www/ghost- Instala Ghost: ghost install
- Durante el proceso, Ghost preguntará:
- URL:
https://tudominio.com - Configurar Nginx: Yes
- Configurar SSL (Let’s Encrypt): Yes
- URL:
Si el dominio aún no apunta, puedes hacer este paso sin SSL y activarlo más adelante con ghost setup ssl.🧱 Paso 4: Configurar Nginx manualmente (si Ghost no tiene permisos)
En algunos VPS (como los gestionados por Hostinger), el usuario Ghost no puede escribir en /etc/nginx.
En ese caso, crea el archivo manualmente:
sudo nano /etc/nginx/sites-available/tudominio.com.confPega este contenido:
server {
listen 80;
server_name tudominio.com www.tudominio.com;
return 301 https://tudominio.com$request_uri;
}
server {
listen 443 ssl http2;
server_name tudominio.com;
ssl_certificate /etc/letsencrypt/live/tudominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tudominio.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:2368;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_buffering off;
}
}Guarda y activa el sitio:
ln -sf /etc/nginx/sites-available/tudominio.com.conf /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx🔒 Paso 5: Emitir el certificado SSL con Let’s Encrypt
Cuando los DNS ya estén propagados:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d tudominio.com -d www.tudominio.comSelecciona la opción de redirigir HTTP → HTTPS.
Si todo sale bien, verás algo como:
Successfully received certificate.Your certificate and chain have been saved at:/etc/letsencrypt/live/tudominio.com/fullchain.pem
🧠 Paso 6: Reiniciar Ghost y probar
Desde el usuario Ghost (no root):
cd /var/www/ghost
ghost restart
ghost statusPrueba tu dominio:
curl -I https://tudominio.comDebe responder HTTP/2 200.
Ahora abre https://tudominio.com/ghost para acceder al panel de administración!
💡 Consejos finales
- Ghost CLI renueva automáticamente los certificados SSL cada 90 días.
- Si cambias de dominio, usa:
ghost config url https://nuevodominio.com
ghost setup nginx ssl- Para ver el estado de tu blog: ghost status
🏁 Conclusión
Con estos pasos, ya tienes Ghost corriendo con tu propio dominio y SSL válido en un VPS de Hostinger.
Esta configuración es ideal para bloggers técnicos, proyectos personales o newsletters que buscan independencia total de plataformas como Substack o Medium.