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 potente para blogs o publicaciones en línea escrito en Nodejs. Es una colección de herramientas modernas de publicación diseñadas para crear y ejecutar fácilmente publicaciones en línea.

  • Fast, scalable and efficient.
  • Offers a markdown based editing environment.
  • Comes with a desktop app.
  • Comes with beautiful handlebars templates.
  • Supports for simple content management.
  • Supports for multiples roles for authors, editors and administrators.
  • Allows scheduling content in advance.
  • Supports accelerated mobile Pages.
  • Fully supports search engine optimization.
  • Provides detailed structured data.
  • Supports subscriptions by RSS, Email and Slack.
  • Enables simple site editing and so much more.
  1. A CentOS 7 Server Minimal Install with 1GB Memory
  2. A CentOS 7 system with static IP address
  3. Node v6 LTS – Install Latest Node.js and NPM in CentOS 7
  4. A CentOS 7 server with Nginx installed

rojo

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

Paso 1: Instalando 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 instale como sigue

# 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 que haya instalado nodejs, puede verificar que tiene la versión recomendada de Nodejs y npm instalada con los comandos.

# node -v 
# npm -v

Paso 2: Instalando Ghost On 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.

# 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 debe estar instalado en su sistema.

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

Paso 3: Iniciar y acceder 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 a la siguiente URL a continuación.

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

rojo

Paso 4: Instalar y configurar Nginx para Ghost

Instale e inicie el servidor web Nginx, si no se instala 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 servir 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 su_dominio_o_dirección_ipersonal .

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 sitios habilitados y deshabilite 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 sitios habilitados .

/etc/nginx/nginx.conf

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, visita http:/your_domain_or_ip_address y verás tu 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 comentarios 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.