Instale la plataforma de publicación de blogs Ghost (CMS) en Debian y Ubuntu


Ghost es una plataforma liviana, gratuita y de código abierto destinada a blogs o publicaciones en línea. Está escrito en Nodejs y viene con una variedad de herramientas de publicación modernas diseñadas para crear y ejecutar fácilmente publicaciones en línea.

Tiene muchas funciones y ahora tiene una aplicación de escritorio (se ejecuta en Linux, Windows y Mac OS) que proporciona todas las funcionalidades y el poder de Ghost, simplemente en su computadora. Esto implica que puede cambiar fácilmente entre varios sitios sobre la marcha: lo que lo hace absolutamente eficiente.

  • Rápido, escalable y eficiente.
  • Ofrece un entorno de edición basado en rebajas.
  • Viene con una aplicación de escritorio.
  • Viene con hermosas plantillas de manubrio.
  • Soporta para la administración de contenido simple.
  • Soporta múltiples roles para autores, editores y administradores.
  • Permite programar contenido por adelantado.
  • Admite páginas móviles aceleradas.
  • Totalmente compatible con la optimización de motores de búsqueda.
  • Proporciona datos estructurados detallados.
  • Admite suscripciones por RSS, correo electrónico y Slack.
  • Permite la edición simple del sitio y mucho más.

  1. Una instalación mínima del servidor Debian con 1 GB de memoria
  2. Una instalación mínima de Ubuntu Server con 1 GB de memoria
  3. Node v6 LTS: instale los últimos Node.js y NPM en Debian y Ubuntu
  4. Un servidor Debian/Ubuntu con Nginx instalado

Importante: Antes de comenzar a instalar Ghost usted mismo, necesitará un buen alojamiento de VPS, le recomendamos encarecidamente BlueHost.

En este artículo, explicaremos cómo instalar una plataforma de blogs Ghost (Content Management System) de código abierto en un sistema Debian y Ubuntu.

Paso 1: Instalar Nodejs en Debian y Ubuntu

1. Nodejs no está disponible en los repositorios de software predeterminados de Debian y Ubuntu, por lo tanto, primero agregue sus repositorios y luego instálelos de la siguiente manera.

$ sudo curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
$ sudo apt-get install nodejs

2. Una vez instalado nodejs, puede verificar que tiene instalada la versión recomendada de Nodejs y npm usando los comandos.

$ node -v 
$ npm -v

Paso 2: Instalar Ghost en Debian y Ubuntu

3. Ahora cree un directorio raíz de Ghost que almacenará los archivos de la aplicación en/var/www/ghost, que es la ubicación de instalación recomendada.

$ sudo mkdir -p /var/www/ghost

4. A continuación, tome la última versión de Ghost del repositorio de GitHub de Ghost y descomprima el archivo comprimido en el directorio que acaba de crear.

$ curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
$ sudo unzip -uo ghost.zip -d  /var/www/ghost

5. Ahora muévase al nuevo directorio fantasma e instale Ghost (solo dependencias de producción) con los siguientes comandos.

$ sudo cd /var/www/ghost 
$ sudo npm install --production

Paso 3: Inicie y acceda al blog de Ghost predeterminado

6. Para iniciar Ghost, ejecute el siguiente comando desde el directorio/var/www/ghost.

$ sudo npm start --production

7. De forma predeterminada, Ghost debería estar escuchando en el puerto 2368. Para ver su blog de Ghost recién configurado, abra un navegador web y escriba la URL a continuación:

http://SERVER_IP:2368
OR
http://localhost:2368

Nota: Después de ejecutar Ghost por primera vez, se creará el archivo config.js en el directorio raíz de Ghost. Puede usarlo para establecer la configuración de nivel de entorno para ghost; donde puede configurar opciones como la URL de su sitio, la base de datos, la configuración de correo, etc.

Paso 4: instalar y configurar Nginx para Ghost

9. En esta sección, instalaremos y configuraremos Nginx para que sirva nuestro blog de Ghost en el puerto 80, de modo que los usuarios puedan acceder al blog de Ghost sin agregar el puerto : 2368 al final de la url.

Primero detenga el servicio Ghost presionando las teclas CTRL + C en el terminal y luego instale nginx como se muestra.

# sudo apt install nginx
# systemctl start nginx
# systemctl enable nginx

10. Una vez que se haya instalado nginx, cree un nuevo archivo en/etc/nginx/sites-available/ghost.

$ sudo vi /etc/nginx/sites-available/ghost

Agregue la siguiente configuración y asegúrese de cambiar las siguientes líneas resaltadas a your_domain_or_ip_address.

server {
    listen 80;
    server_name your_domain_or_ip_address;
    location / {
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass         http://127.0.0.1:2368;
    }
}

Guarde el archivo y active esta configuración creando un enlace simbólico en el directorio/etc/nginx/sites-enabled.

$ sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

11. Ahora abra el archivo /etc/nginx.conf. incluir los archivos de configuración en el directorio habilitado para sitios y deshabilitar el sitio predeterminado como se muestra.

$ sudo vi /etc/nginx/nginx.conf

Ahora agregue la siguiente línea dentro del bloque http para incluir los archivos de configuración en el directorio habilitado para sitios.

http {
...
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

Luego, comente totalmente el bloque de servidor predeterminado que se encuentra dentro del bloque http .

...

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;


#    server {
#       listen       80 default_server;
#       listen       [::]:80 default_server;
#       server_name  _;
#       root         /usr/share/nginx/html;
#
#       # Load configuration files for the default server block.
#       include /etc/nginx/default.d/*.conf;
#
#       location / {
#       }
#
#       error_page 404 /404.html;
#           location = /40x.html {
#       }
#
#       error_page 500 502 503 504 /50x.html;
#           location = /50x.html {
#       }
...
...

Finalmente, guarde y reinicie el servidor web nginx.

$ sudo systemctl restart nginx

Una vez más, visite http:// your_domain_or_ip_address y verá su blog de Ghost.

Para obtener información adicional, visite el sitio web oficial de Ghost: https://ghost.org/

¡Eso es todo! En este artículo, mostramos cómo configurar Ghost en Debian y Ubuntu. Envíenos sus consultas o cualquier comentario sobre esta guía a través del formulario de comentarios a continuación.