Búsqueda de sitios web

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


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

Características fantasma:

  • 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 manillares.
  • Soportes para una gestión sencilla de contenidos.
  • Admite múltiples roles para autores, editores y administradores.
  • Permite programar contenidos con antelación.
  • 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 sencilla del sitio y mucho más.

Requisitos:

  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á tener un buen alojamiento VPS; recomendamos encarecidamente BlueHost.

En este artículo, explicaremos cómo instalar una plataforma de blogs Ghost (Sistema de gestión de contenidos) 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 la versión recomendada de Nodejs y npm instalada 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 GitHub de Ghost y descomprima el archivo en el directorio que acaba de crear anteriormente.

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

5. Ahora vaya al nuevo directorio fantasma e instale Ghost (solo dependencias de producción) con los siguientes comandos. Una vez que se complete el segundo comando, Ghost debería estar instalado en su sistema.

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

Paso 3: iniciar y acceder al blog fantasma 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, se creará el archivo config.js en el directorio raíz de Ghost. Puede usarlo para establecer la configuración a nivel de entorno para fantasma; donde puede configurar opciones como la URL de su sitio, base de datos, 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, utilice 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 Ghost en el puerto 80, de modo que los usuarios puedan acceder al blog 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 su_dominio_o_dirección_ip.

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. incluya los archivos de configuración en el directorio sites-enabled y desactive 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 sites-enabled.

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 por completo el bloque del 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, visita http://your_domain_or_ip_address y verás tu blog Ghost.

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

En este artículo, explicamos cómo instalar y configurar Ghost en CentOS 7. Utilice el formulario de comentarios a continuación para enviarnos sus consultas o cualquier idea 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, manténgase conectado a linux-console.net.