eco Principiante Tutorial/Cómo hacer

Cómo instalar y configurar Ghost CMS en un

calendar_month May 16, 2026 schedule 9 min de lectura visibility 34 vistas
Установка и настройка Ghost CMS на VPS: пошаговое руководство по развертыванию профессионального блога
info

¿Necesitas un servidor para esta guía? Ofrecemos servidores dedicados y VPS en más de 50 países con configuración instantánea.

¿Necesitas un VPS para esta guía?

Explore otras opciones de servidores dedicados en

Instalación y configuración de Ghost CMS en un VPS: guía paso a paso para desplegar un blog profesional

1. TL;DR

Esta guía describe el proceso de despliegue de Ghost CMS —la plataforma más rápida y moderna para el blogging profesional y los negocios de medios— en su propio servidor virtual (VPS) bajo la gestión de Ubuntu 26.04 LTS. Recorreremos el camino desde la elección del hardware y la protección básica del servidor hasta la configuración avanzada de Node.js, MySQL 8.4 y la automatización de copias de seguridad, lo que le permitirá obtener un control total sobre su contenido y datos sin cuotas mensuales por suscripciones SaaS.

  • Stack tecnológico: Ubuntu 26.04, Node.js 24/26 (LTS), MySQL 8.4 LTS, Nginx, Systemd.
  • Dificultad: Media (se requieren habilidades básicas de terminal).
  • Tiempo de ejecución: 30–45 minutos.
  • Resultado: Un blog totalmente listo para funcionar con soporte SSL (HTTPS), boletines y alto rendimiento.
  • Ventaja principal: Privacidad total y escalabilidad con costes mínimos de alojamiento.

3. Qué estamos configurando y por qué: Ghost CMS frente a la competencia

Esquema: 3. Qué estamos configurando y por qué: Ghost CMS frente a la competencia
Esquema: 3. Qué estamos configurando y por qué: Ghost CMS frente a la competencia

Ghost CMS no es simplemente "otro motor para sitios web". Es una plataforma de publicación altamente especializada, escrita en Node.js, que difiere radicalmente del pesado WordPress o de constructores como Wix. Ghost fue creado por antiguos desarrolladores de WordPress que se cansaron de la redundancia del código y decidieron centrarse exclusivamente en el periodismo profesional y el marketing de contenidos.

¿Por qué elegir una instalación Self-hosted en un VPS en lugar de la versión en la nube Ghost Pro?

  • Ahorro: El alojamiento oficial de Ghost Pro comienza desde $9-25 al mes con restricciones estrictas en las visualizaciones y el número de suscriptores. En su propio VPS, solo paga por los recursos del servidor y puede atender a cientos de miles de visitantes por el mismo dinero.
  • Control de datos: Todos sus archivos multimedia, la base de datos de suscriptores y la configuración se almacenan con usted. Esto es crítico en la era de la censura digital y los cambios en las reglas de las plataformas.
  • Flexibilidad: Puede instalar cualquier tema personalizado, integrar sus propios scripts de análisis y configurar la caché del servidor según las necesidades específicas de su proyecto.

En este tutorial, desplegaremos Ghost en su entorno nativo. Aunque existen imágenes de Docker, el método oficial de instalación a través de ghost-cli se considera el estándar de oro para soluciones de producción, ya que proporciona un mejor rendimiento y simplifica el proceso de actualización del núcleo del sistema.

4. Qué configuración de VPS se necesita para Ghost CMS

Esquema: 4. Qué configuración de VPS se necesita para Ghost CMS
Esquema: 4. Qué configuración de VPS se necesita para Ghost CMS

Ghost CMS es un sistema bastante eficiente, pero exige memoria RAM debido al uso de Node.js. En 2026, los requisitos de recursos han aumentado, ya que las versiones modernas de MySQL y Node.js consumen más RAM para el almacenamiento en caché y el procesamiento rápido de solicitudes.

Característica Mínimo Recomendado (para tráfico)
Procesador (CPU) 1 Core (Shared) 2 Cores (Dedicated)
Memoria RAM 1 GB (con SWAP activado) 2 GB o 4 GB
Disco (Storage) 20 GB SSD 50 GB+ NVMe SSD
SO Ubuntu 24.04 LTS Ubuntu 26.04 LTS

Para el funcionamiento estable de un pequeño blog personal o un sitio corporativo, la configuración inicial es suficiente. Sin embargo, si planea utilizar activamente el sistema de boletines integrado de Ghost (que puede generar carga durante los envíos masivos), es mejor apuntar a 2 GB de RAM. Para proyectos con mucho tráfico (desde 500,000 visitantes únicos al mes), vale la pena considerar la transición a servidores dedicados para la base de datos.

Si está comenzando, lo mejor será adquirir un VPS con 2 GB de RAM y una unidad NVMe. Esto garantizará la carga instantánea de las páginas y un funcionamiento rápido del panel de administración, incluso al cargar imágenes pesadas.

Ubicación del servidor: Elija un centro de datos lo más cerca posible de su público objetivo. Para Ghost, esto es especialmente importante, ya que el tiempo de respuesta (TTFB) afecta directamente a los indicadores SEO de Core Web Vitals.

5. Preparación del servidor: seguridad y utilidades básicas

Esquema: 5. Preparación del servidor: seguridad y utilidades básicas
Esquema: 5. Preparación del servidor: seguridad y utilidades básicas

Una vez que haya obtenido acceso a un servidor limpio a través de SSH, lo primero que debe hacer es garantizar su seguridad. Usar root para las tareas diarias y el funcionamiento del CMS es una mala práctica.

Actualización del sistema

Primero, actualizaremos el índice de paquetes y los paquetes mismos a las versiones actuales de 2026:


sudo apt update && sudo apt upgrade -y

Creación de un usuario del sistema

Ghost requiere un usuario normal con privilegios sudo. Lo llamaremos ghostadmin:


# Creamos el usuario
adduser ghostadmin

# Lo añadimos al grupo sudo
usermod -aG sudo ghostadmin

# Cambiamos al nuevo usuario
su - ghostadmin

Configuración del cortafuegos (UFW)

Necesitamos abrir los puertos para SSH, HTTP y HTTPS:


sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Instalación de Fail2Ban

Para protegerse contra ataques de fuerza bruta en SSH, instalaremos la utilidad Fail2Ban:


sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

6. Instalación del stack de software: Node.js, MySQL y Nginx

Esquema: 6. Instalación del stack de software: Node.js, MySQL y Nginx
Esquema: 6. Instalación del stack de software: Node.js, MySQL y Nginx

Ghost solo admite oficialmente ciertas versiones de software. En 2026, nos enfocamos en Node.js 24 o 26 LTS y MySQL 8.4.

Instalación de Nginx

Nginx actuará como un proxy inverso, recibiendo solicitudes de Internet y pasándolas a la aplicación Ghost que se ejecuta localmente.


sudo apt install nginx -y
sudo systemctl enable nginx

Instalación de MySQL 8.4 LTS

Ghost utiliza MySQL para almacenar contenido y datos de usuario. Instalaremos la versión LTS actual:


sudo apt install mysql-server -y

# Iniciamos el script de seguridad
sudo mysql_secure_installation

Durante la ejecución de mysql_secure_installation, se recomienda habilitar el complemento de validación de contraseñas y eliminar a los usuarios anónimos.

Instalación de Node.js

Para instalar Node.js, lo mejor es utilizar el repositorio oficial de NodeSource para obtener una versión LTS específica:


curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt install -y nodejs

Verifique que la instalación sea correcta:


node -v # Debe ser v24.x.x o superior
npm -v

7. Instalación y configuración de Ghost mediante Ghost-CLI

Esquema: 7. Instalación y configuración de Ghost mediante Ghost-CLI
Esquema: 7. Instalación y configuración de Ghost mediante Ghost-CLI

Ghost-CLI es la herramienta principal para instalar y administrar Ghost. Automatiza la creación de configuraciones de Nginx, la configuración de Systemd y la obtención de certificados SSL.

Instalación de Ghost-CLI


sudo npm install -g ghost-cli@latest

Preparación del directorio

Según las reglas de Linux, es mejor ubicar las aplicaciones web de terceros en /var/www/:


# Creamos la carpeta (reemplace my-blog con su nombre)
sudo mkdir -p /var/www/ghost

# Asignamos como propietario a nuestro usuario
sudo chown ghostadmin:ghostadmin /var/www/ghost
sudo chmod 775 /var/www/ghost

# Entramos en la carpeta
cd /var/www/ghost

Inicio del proceso de instalación

Ahora iniciamos el asistente de instalación. Asegúrese de que su dominio ya apunte (registro A) a la IP de su VPS.


ghost install

Durante el proceso de instalación, Ghost-CLI hará varias preguntas importantes:

  • Blog URL: Ingrese su dominio (por ejemplo, https://example.com). Obligatorio con https.
  • MySQL hostname: Deje localhost.
  • MySQL username / password: Ingrese los datos del usuario root o del usuario de la base de datos creado previamente.
  • Ghost database name: Puede dejarlo por defecto.
  • Set up a ghost MySQL user? Se recomienda responder "Yes".
  • Set up Nginx? Obligatorio "Yes".
  • Set up SSL? Obligatorio "Yes" (se requerirá un correo electrónico para Let's Encrypt).
  • Set up systemd? Sí, esto permitirá que Ghost se inicie automáticamente al arrancar el servidor.
  • Start Ghost? Sí.

Al finalizar, verá un enlace al panel de administración: https://example.com/ghost/. Entre allí de inmediato para crear una cuenta de administrador; de lo contrario, alguien más podría hacerlo.

8. Ajuste de rendimiento y HTTPS

8. Ajuste fino de rendimiento y HTTPS

Esquema: 8. Ajuste fino de rendimiento y HTTPS
Esquema: 8. Ajuste fino de rendimiento y HTTPS

La instalación estándar es buena, pero para un blog profesional se requiere una optimización adicional.

Configuración de caché en Nginx

Ghost entrega el contenido rápidamente, pero es mejor cachear los archivos estáticos (imágenes, JS, CSS) en el lado de Nginx. Edite la configuración de su sitio en /etc/nginx/sites-available/, añadiendo encabezados Cache-Control para el contenido estático.

Optimización de imágenes

Ghost puede redimensionar imágenes automáticamente. Asegúrese de que el procesamiento de archivos multimedia esté habilitado en el archivo config.production.json:


"imageOptimization": {
    "resize": true
}

Configuración de correo (Mailgun)

Para el funcionamiento de boletines y recuperación de contraseñas, Ghost requiere un proveedor SMTP. Se recomienda oficialmente Mailgun, ya que Ghost tiene una integración profunda con él a través de API para envíos masivos. Los datos se introducen en el mismo config.production.json:


"mail": {
  "transport": "SMTP",
  "options": {
    "service": "Mailgun",
    "host": "smtp.eu.mailgun.org",
    "port": 587,
    "auth": {
      "user": "[email protected]",
      "pass": "your_password"
    }
  }
}

Después de cambiar la configuración, ejecute siempre ghost restart.

9. Backups y mantenimiento: estrategia de supervivencia de datos

Esquema: 9. Backups y mantenimiento: estrategia de supervivencia de datos
Esquema: 9. Backups y mantenimiento: estrategia de supervivencia de datos

Trabajar con una solución autoalojada conlleva la responsabilidad de la seguridad de los datos. En Ghost, es necesario hacer copias de seguridad de tres cosas: la base de datos, la carpeta content (imágenes y temas) y el archivo de configuración.

Script de backup sencillo

Crearemos un script backup.sh que archivará los datos y los enviará a un almacenamiento remoto:


#!/bin/bash
BACKUP_PATH="/home/ghostadmin/backups"
GHOST_ROOT="/var/www/ghost"
DATE=$(date +%Y-%m-%d)

# Creamos la carpeta de backup
mkdir -p $BACKUP_PATH

# Exportación de la base de datos
sudo mysqldump ghost_production > $BACKUP_PATH/db_$DATE.sql

# Archivado de contenido
tar -czf $BACKUP_PATH/content_$DATE.tar.gz $GHOST_ROOT/content/

# Eliminación de backups antiguos (más de 30 días)
find $BACKUP_PATH -type f -mtime +30 -delete

Uso de Restic para S3

Para un almacenamiento más confiable, se recomienda usar restic o rclone para sincronizar los backups con un almacenamiento compatible con S3 (por ejemplo, un almacenamiento de objetos externo). Esto garantiza que, incluso en caso de pérdida total del VPS, su contenido permanezca seguro.

Actualización de Ghost

Ghost se actualiza con mucha frecuencia. El proceso está simplificado al máximo:


cd /var/www/ghost
ghost update

Antes de la actualización, Ghost-CLI siempre verifica la compatibilidad de las versiones de Node.js y la existencia de un backup.

10. Troubleshooting + FAQ: solución de problemas comunes

Error: "Ghost-CLI needs to be updated"

Si no ha accedido al servidor en mucho tiempo, primero actualice el propio CLI: sudo npm install -g ghost-cli@latest, y luego ejecute la actualización del blog.

Error 502 Bad Gateway

Esto significa que Nginx está en ejecución, pero el proceso Node.js de Ghost no. Verifique el estado: ghost ls o ghost run para ver los registros en tiempo real. A menudo, la causa radica en la falta de memoria RAM (el OOM Killer detuvo el proceso).

¿Cómo añadir SWAP si hay poca RAM?

Si su VPS tiene solo 1 GB de RAM, asegúrese de añadir un archivo de intercambio:


sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

¿Qué configuración de VPS es la mínima adecuada?

Para ejecutar Ghost es suficiente con 1 núcleo y 1 GB de memoria RAM. Sin embargo, para un funcionamiento cómodo del panel de control y una compilación rápida de temas durante las actualizaciones, recomendamos encarecidamente 2 GB de RAM. Esto evitará bloqueos de MySQL en momentos de carga máxima.

¿Qué elegir: VPS o dedicado para esta tarea?

En el 99% de los casos, un VPS es suficiente para Ghost CMS. Un servidor dedicado (dedicated) solo puede ser necesario en dos casos: si tiene una base de datos de medios enorme (terabytes de imágenes) o si su blog se ha convertido en un gigante mediático con millones de suscriptores y desea trasladar la base de datos a un hardware físico independiente para una seguridad máxima.

No llegan los correos (boletín)

Verifique la configuración de los puertos. Muchos proveedores de VPS bloquean el puerto 25 por defecto. Use el puerto 587 (TLS) y asegúrese de que todos los registros DNS (SPF, DKIM, CNAME) estén verificados en Mailgun.

¿Cómo cambiar el límite de subida de archivos en Nginx?

Por defecto, Nginx limita la subida de archivos a 1 MB. Para subir imágenes grandes, añada client_max_body_size 50M; en el bloque http o server de la configuración de Nginx.

11. Conclusiones y siguientes pasos

Esquema: 11. Conclusiones y siguientes pasos
Esquema: 11. Conclusiones y siguientes pasos

¡Felicidades! Ha desplegado su propia plataforma de publicación profesional basada en Ghost CMS. Ahora cuenta con una herramienta rápida, segura y totalmente controlada para la creación de contenido, que supera a la mayoría de las soluciones comerciales en velocidad y facilidad de uso.

Sus siguientes pasos para el desarrollo del proyecto:

  • Elección de tema: Visite el marketplace de Ghost o cree su propio tema con el motor Handlebars. Ghost es muy amigable con los desarrolladores de temas.
  • Configuración de analítica: En lugar del pesado Google Analytics, pruebe alternativas ligeras y privadas como Plausible o Umami.
  • Monetización: Configure la integración con Stripe directamente en el panel de Ghost para comenzar a vender suscripciones de pago para su contenido.
  • SEO: Ghost ya está optimizado para buscadores "listo para usar" (sitemaps automáticos, metaetiquetas, JSON-LD), pero no olvide configurar redirecciones si se traslada desde otra plataforma.

Verifique regularmente las actualizaciones y siga los registros del servidor. Tener un servidor propio no es solo libertad, sino también responsabilidad por el estado técnico de su hogar digital.

¿Te fue útil esta guía?

instalación y configuración de ghost cms en vps: guía paso a paso para desplegar un blog profesional
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.