GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

Nodejs es un tiempo de ejecución javaScript de código abierto basado en el motor 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 4.2.0 (LTS) a partir de hoy.

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. Ghost se lanzó en 2013 bajo licencia MIT.

Requisitos

  • Ubuntu 15.10
  • 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 node.js v0.12. Node.js se puede instalar desde la fuente o desde el repositorio de nodesource.com. Usaremos el repositorio node.js  https://deb.nodesource.com/node_0.12 para la instalación.

Agregue y actualice el repositorio ejecutando el siguiente comando:

curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

A continuación, instale node.js con apt:

sudo apt-get install -y nodejs

Ahora verifique la versión de node.js:

node --version

v0.12.7

Y verifique la versión de npm:

npm --version

2.11.3

Npm es el administrador de paquetes de node.js que se usa 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 como root/sudo:

cd ghostblog/
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

Ahora abra el archivo de configuración con el editor vim:

vim config.js

En el bloque del servidor (línea 27) , cambie el valor del host a 0.0.0.0 .

host = 0.0.0.0

Para permitir el acceso al blog desde el exterior. Guardar y salir.

Luego agregue el nuevo usuario "fantasma". Este usuario se usará para ejecutar fantasma:

sudo adduser --shell /bin/bash ghost
ENTER YOUR PASSWORD

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 de Ghost e inícielo:

cd /var/www/ghostblog
npm start --production

Visite la IP del servidor en el puerto 2368, en mi caso:192.168.1.104:2368


Para que nos resulte más fácil iniciar Ghost, crearemos un servicio de sistemas para ejecutar Ghost. Vuelva al usuario sudo/root y cree un nuevo archivo llamado "ghost.service" en el directorio "/lib/systemd/system/".

sudo cd /lib/systemd/system/
sudo 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

Y guarde el archivo. Luego vuelva a cargar el demonio systemd:

sudo systemctl daemon-reload

Agregue el servicio Ghost para que se inicie automáticamente en el momento del arranque e inicie Ghost con el comando systemctl:

sudo systemctl enable ghost
sudo systemctl start ghost

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 de 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 a ghost virtualhost 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>

Guardar y Salir.

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 ahora se instaló correctamente.

Conclusión

Nodejs es un runtine 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 el software Ghost Blog con Apache y SSL en Ubuntu 16.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 Concrete5 CMS con Apache y Lets Encrypt SSL gratis en Ubuntu 20.04

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

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