Cómo instalar la plataforma de publicación de blogs Ghost (CMS) en CentOS 7


Ghost es un software gratuito, de código abierto y simple pero poderoso para blogs o publicación en línea escrito en Nodejs. Es una colección de herramientas de publicación modernas diseñadas para crear y ejecutar fácilmente publicaciones en línea.

  • 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 CentOS 7 con 1 GB de memoria
  2. Un sistema CentOS 7 con dirección IP estática
  3. Node v6 LTS: instale los últimos Node.js y NPM en CentOS 7
  4. Un servidor CentOS 7 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 CentOS 7.

Paso 1: Instalar Nodejs en CentOS 7

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

# curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
# yum -y install nodejs npm
# dnf -y install nodejs npm   [On Fedora 22+ versions]

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: Instalación de Ghost en CentOs 7

3. Ahora cree el 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.

# mkdir -p /var/www/ghost

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

# curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
# 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. Una vez que se completa el segundo comando, Ghost debería estar instalado en su sistema.

# cd /var/www/ghost 
# 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.

# npm start --production

7. De forma predeterminada, Ghost debería ejecutarse en el puerto 2368, así que abra el puerto en el firewall para permitir el acceso.

# firewall-cmd --zone=public --permanent --add-port=2368/tcp
# firewall-cmd --reload

8. Ahora abra un navegador web y navegue hasta cualquiera de las siguientes URL a continuación.

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

Nota: Después de ejecutar Ghost por primera vez, el archivo config.js se creará 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

Instale e inicie el servidor web Nginx, si no está instalado usando el repositorio EPEL como se muestra.

# yum install epel-release
# yum install nginx
# systemctl start nginx

Si está ejecutando un firewall, use los siguientes comandos para habilitar el acceso al tráfico HTTP y HTTPS.

# firewall-cmd --permanent --zone=public --add-service=http 
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

El siguiente paso es configurar 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 la instancia de Ghost en ejecución presionando las teclas CTRL + C en el terminal.

Ahora configure Nginx creando un nuevo archivo en/etc/nginx/sites-available/ghost.

# 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.

# ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

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.

# 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.

# systemctl restart nginx

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

Para obtener más información, vaya a la página de inicio de Ghost: https://ghost.org/

En este artículo, hemos explicado cómo instalar y configurar Ghost en CentOS 7. Utilice el formulario de comentarios a continuación para enviarnos sus consultas o cualquier comentario sobre la guía.

Por último, pero no menos importante, en nuestra próxima publicación, mostraremos cómo configurar Ghost en Debian y Ubuntu. Hasta entonces, mantente conectado a Tecmint.com.