GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar el software Ghost Blog con Apache y SSL en Ubuntu 16.04

Ghost es una poderosa plataforma de publicación y blog de código abierto que está bellamente diseñada y es fácil de usar. Ghost está escrito en javascript y utiliza node.js como entorno de ejecución. La primera versión de Ghost se lanzó en 2013 bajo licencia MIT y se actualiza constantemente. Este tutorial muestra la instalación del software Ghost Blog, Node.js y Apache como servidor proxy SSL en Ubuntu 16.04.

Nodejs es un tiempo de ejecución de JavaScript de código abierto basado en el motor de JavaScript V8 de Chrome (v4) para desarrollar aplicaciones web del lado del servidor. Nodejs es un tiempo de ejecución multiplataforma que puede ejecutarse en OS X, Microsoft Windows, Linux y FreeBSD. Proporciona una arquitectura basada en eventos y un modelo de E/S sin bloqueo que lo hace liviano y eficiente para aplicaciones web en tiempo real. Ryan Dahl inició el proyecto Node.js en 2009 y alcanzó la versión 6.5.0 (LTS) a partir de hoy.

Requisitos

  • Ubuntu 16.04
  • privilegios de raíz

Qué haremos en este tutorial:

  • Instalar Node.js
  • Instalar fantasma
  • Configurar fantasma
  • Instala Apache y agrega Ghost VirtualHost
  • Habilitar SSL para Ghost

Paso 1:instalar Node.js en Ubuntu

Para este tutorial, usaremos nodejs v4.x. Nodejs se puede instalar de muchas maneras diferentes, como la instalación desde la fuente o la instalación desde el repositorio de Ubuntu. Usaré el repositorio nodejs de nodesecure https://deb.nodesource.com/node_4.x para la instalación, contiene software actualizado y el uso de un repositorio le permite actualizar node.js fácilmente más adelante.

Instale la clave del repositorio de fuente de nodo con el siguiente comando:

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

Luego agregue el repositorio nodejs ejecutando los siguientes comandos:

sudo echo 'deb https://deb.nodesource.com/node_4.x xenial main' > /etc/apt/sources.list.d/nodesource.list
sudo echo 'deb-src https://deb.nodesource.com/node_4.x xenial main' >> /etc/apt/sources.list.d/nodesource.list

Actualizar el repositorio:

sudo apt-get update

Ahora podemos instalar el paquete "nodejs" que instalará node.js y sus dependencias en el servidor:

sudo apt-get install -y nodejs

Ahora verifique la versión de nodejs para asegurarse de que la instalación fue exitosa:

node --version

Comprobar la versión de npm:

npm --version

npm es un administrador de paquetes para instalar, publicar y administrar programas de nodo.

Paso 2:instalar el Blog de Ghost

Instalaremos ghost en el directorio "/var/www/" y usaremos la última versión de Ghost. Cree un nuevo directorio "www" en /var e ingréselo con "cd":

mkdir -p /var/www/
cd /var/www/

Descargue Ghost con el comando wget, luego extráigalo a un directorio llamado "ghostblog":

wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip

NOTA :-d :crea automáticamente el directorio.

Luego vaya al directorio de ghostblog e instale Ghost con npm comando:

cd ghostblog/
sudo npm install --production

Paso 3:Configurar fantasma

Vaya al directorio de ghostblog y luego copie el archivo de muestra de configuración en "config.js"

cd /var/www/ghostblog/
cp config.example.js config.js

A continuación, agregue un nuevo usuario "fantasma". Este usuario será demandado para ejecutar Ghost:

useradd -d /var/www -s /bin/bash ghost
passwd ghost
TYPE NEW PASSWORD FOR ghost USER

Nota:

-d =Define el directorio de inicio para el usuario fantasma en /var/www/.

-s =Define el shell para el usuario fantasma.

Ahora cambie el propietario del directorio de instalación fantasma al usuario "fantasma".

chown -R ghost:ghost /var/www/ghostblog

Pruebe el blog fantasma ejecutando el comando npm como usuario fantasma. Inicie sesión en el usuario fantasma:

su - ghost

y vaya al directorio de instalación e inicie Ghost:

cd ghostblog/
npm start --production

Ghost está instalado y ejecutándose en localhost con el puerto 2368. Podemos comprobarlo con el comando curl:

curl -I localhost:2368

Puede ver que Ghost se está ejecutando - HTTP/1.1 200 OK .

Ejecutaremos ghost como servicio para que nos resulte más fácil iniciar ghost. Vuelva al usuario sudo/root escribiendo "exit" y cree un nuevo archivo llamado "ghost.service" en el directorio "/lib/systemd/system/".

cd /lib/systemd/system/
vim ghost.service

Pegue el script systemd a continuación:

[Unit]
Description=ghost
After=network.target

[Service]
Type=simple
# Ghost installation Directory
WorkingDirectory=/var/www/ghostblog
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start --production
ExecStop=/usr/bin/npm stop --production
Restart=always
SyslogIdentifier=Ghost

[Install]
WantedBy=multi-user.target

A continuación, vuelva a cargar el demonio systemd:

systemctl daemon-reload

Luego agregue fantasma para que se inicie en el momento del arranque e inicie fantasma con el comando systemctl:

systemctl enable ghost
systemctl start ghost

Comprueba que Ghost se está ejecutando comprobando el puerto 2368:

netstat -plntu

Paso 4:instale Apache y Ghost VirtualHost

Instale apache con el comando apt-get:

sudo apt-get install apache2

Una vez finalizada la instalación, cree un nuevo archivo para el host virtual fantasma en el directorio "/etc/apache2/sites-disponible/".

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

Pegue la configuración a continuación:

<VirtualHost *:80>
    #Domain Name
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    #HTTP proxy/gateway server
    ProxyRequests off 
    ProxyPass / http://127.0.0.1:2368/ 
    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

Guardar y salir.

Active el módulo proxy HTTP en apache con el comando a2enmod como se muestra a continuación:

sudo a2enmod proxy proxy_http

Finalmente, tenemos que activar el host virtual Ghost y luego reiniciar apache:

sudo a2ensite ghostblog
sudo systemctl restart apache2

Reiniciar fantasma:

sudo systemctl restart ghost

Pruebe visitando el dominio:http://ghostblog.me

Paso 5:habilitar SSL para Ghost

Para habilitar SSL en apache, asegúrese de que la biblioteca OpenSSL esté instalada en el sistema. Generaremos una nueva clave y un archivo crt en el directorio "/etc/apache2/certs". Primero, creamos nuevos certificados de directorio:

sudo mkdir -p /etc/apache2/certs

Y genere la clave del certificado con el siguiente comando:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt

Cambie el permiso del archivo de certificado:

sudo cd /etc/apache2/certs/
sudo chmod 600 *

A continuación, agregue la configuración SSL al host virtual fantasma editando el archivo "ghostblog.conf".

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

Pegue el nuevo script de configuración a continuación:

<VirtualHost *:80>
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    # Force http to https
    Redirect permanent / https://ghostblog.me/
#    ProxyRequests off 
#    ProxyPass / http://127.0.0.1:2368/ 
#    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

<VirtualHost *:443>

   ServerName ghostblog.me

   SSLEngine on
   SSLCertificateFile /etc/apache2/certs/ghostblog.crt
   SSLCertificateKeyFile /etc/apache2/certs/ghostblog.key

   ProxyPass / http://127.0.0.1:2368/
   ProxyPassReverse / http:/127.0.0.1:2368/
   ProxyPreserveHost   On

   RequestHeader set X-Forwarded-Proto "https"

</VirtualHost>

Guarde el archivo y salga de vim.

Active el módulo apache de OpenSSL y reinicie apache:

sudo a2enmod ssl headers
sudo systemctl restart apache2

Prueba

Visita http://ghostblog.me , y se verá forzado al sitio HTTPS/SSL de su blog.

Ghost con apache y SSL se ha instalado correctamente.

Conclusión

Nodejs es un tiempo de ejecución de javascript multiplataforma de código abierto para crear aplicaciones web del lado del servidor. Es ligero y eficiente para aplicaciones web en tiempo real. Ghost es una plataforma de blogs escrita en Javascript para Node.js. Ghost está bellamente diseñado y es fácil de usar. La interfaz intuitiva hace que este sistema de blogs sea fácil de usar. Ghost se puede instalar de forma independiente o con un servidor web como Apache o Nginx. Puede asegurar Ghost con OpenSSL. Configurar Ghost con Apache y OpenSSL es fácil, solo tiene que configurar el módulo apache http_proxy y generar un certificado SSL.


Ubuntu
  1. Cómo instalar y configurar Nextcloud con Apache en Ubuntu 18.04

  2. Cómo instalar y proteger phpMyAdmin con Apache en Ubuntu 18.04

  3. Cómo instalar y configurar ownCloud con Apache en Ubuntu 18.04

  4. Cómo instalar Apache Hive con Hadoop en CentOS, Ubuntu y LinuxMint

  5. Cómo instalar Apache Maven en Ubuntu 18.04 y 16.04

Cómo instalar ProjectSend con Apache y Lets Encrypt SSL en Ubuntu 20.04

Cómo instalar el software Ghost Blog con Apache y SSL en Ubuntu 15.10

Cómo instalar PrestaShop en Ubuntu 20.04 con Apache

Cómo instalar Let's Encrypt SSL en Ubuntu con Apache

Cómo instalar Drupal con Apache en Debian y Ubuntu

Cómo instalar Django 3.2 en Ubuntu 20.04 con Apache y WSGI