WordPress se emplea en casi el 30% de Internet y es el CMS más utilizado del mundo para crear sitios web junto con Joomla y Drupal (1). Gratis, intuitivo, fácil de instalar y extremadamente flexible, WordPress tiene numerosas ventajas. Sin embargo, es obvio que con el tiempo WordPress se ha vuelto pesado y cada vez más personas buscan alternativas creíbles, libres e independientes a WordPress.

Ghost, una alternativa interesante a WordPress para crear un blog minimalista

Si te apetece volver a un CMS sencillo, limpio, reactivo y dedicado al contenido de tu blog, claramente Ghost es para ti.

Lanzado en 2013, Ghost es un CMS Open Source diseñado para crear blogs limpios. Su interfaz de administración minimalista es intuitivo y la redacción de los artículos se hace en Markdown, un lenguaje para formato de texto fácil de aprender que permite ahorrar mucho tiempo una vez adoptado.

Respecto a WordPress, Ghost es más rápido, más intuitivo y permite centrar la atención de las visitas en el contenido. Por su parte, Ghost es menos flexible y completo que WordPress, y precisa ciertos conocimientos técnicos para instalarlo además de un alojamiento web compatible con la plataforma de software Node.js para funcionar.

He aquí qué aspecto tiene la interfaz de administración de Ghost

Instalar el CMS Ghost en Infomaniak

Existen dos soluciones Cloud para usar Ghost en Infomaniak: Jelastic Cloud o un Servidor Cloud.

Instalar Ghost en Jelastic Cloud (recomendado)

  1. Conéctate a la consola de Jelastic desde tu Manager
  2. Abre el Marketplace de Jelastic
  3. Introduce Ghost en el campo de búsqueda
  4. Sigue las indicaciones del asistente y espera mientras se despliega Ghost

Probar Jelastic Cloud gratis

Instalar Ghost en un Servidor Cloud gestionado

La siguiente información se proporciona a título indicativo.

  1. Crea un alojamiento web en el Servidor Cloud gestionado
  2. Crea un sitio en un alojamiento Web
  3. Instala NVM desde Fast Installer
  4. Crea una cuenta FTP+SSH
  5. Conéctate en SSH a tu alojamiento
  6. Instala NPM con el comando  npm install -g npm@latest
  7. Recupera la última versión de Ghost con el comando npm i -g ghost-cli
  8. Lanza el comando export GHOST_CLI_PRE_CHECKS=false que permite evitar las verificaciones y pasar el acceso root
  9. Comprueba que el directorio de destino de tu sitio esté vacío e instala Ghost con el comando cd YOUR-WEBSITE-FOLDER && ghost install --db sqlite3 --no-setup-linux-user --no-setup-nginx --no-setup-ssl --no-start --process local (p. ej.: para el directorio «web» por defecto: cd web && ghost install --db sqlite3 --no-setup-linux-user --no-setup-nginx --no-setup-ssl --no-start --process local)
  10. Introduce la información solicitada:
    • System checks failed with message: ‘Linux version is not Ubuntu 16’
      Some features of Ghost-CLI may not work without additional configuration.
      For local installs we recommend using `ghost install local` instead.
      Continue anyway? (Y/N)
      Responde sí (=y)
    • Enter your blog URL: (http://localhost:2368) => indica la dirección URL desde la que estará accesible tu sitio
  11. Ghost funcionará en el puerto 2368. Hay que redireccionar el tráfico al archivo .htaccess del sitio. En el raíz del sitio, abre o crea el archivo .htaccess con el comando nano .htaccess
  12. Inserta las siguientes reglas en el archivo .htaccess:
    RewriteEngine On
    RewriteRule ^(.*)$ http://localhost:2368/$1 [L,P]
    DirectoryIndex
  13. Pasa al entorno de producción con el comando NODE_ENV=production node versions/2.26.0/core/index.js
  14. Comprueba que el sitio funciona correctamente. Utiliza el comando ghost restart si se modifican los archivos de configuración.
  15. Para garantizar el funcionamiento continuado del sitio, instala Forever con el comando: npm install forever -g
  16. Para ejecutar el script permanentemente, utiliza el comando: forever start --uid "NOM" versions/2.26.0/core/index.js

Enhorabuena, sólo te queda configurar la base de datos en MySQL y permitir el envío de correos autentificados en SMTP. Para ello, modifica el archivo config.production.json con esta información:

"mail": {
    "from": "my@domain.ch",
    "transport": "SMTP",
    "options": {
      "host": "mail.infomaniak.com",
      "port": 587,
      "auth": {
        "user": "my@mail.ch",
        "pass": "PASSWORD»
      }
    }
  },

"database": {
    "client": "mysql",
    "connection": {
      "host": "PREFIX.myd.infomaniak.com",
      "port": 3306,
      "user": "USER",
      "password": "PASSWORD",
      "database": "DB_NAME"
    }
  },

Este procedimiento se ha actualizado el 20 de noviembre de 2020.

Recursos útiles

(1) w3techs.com