GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare il software Ghost Blog con Apache e SSL su Ubuntu 16.04

Ghost è una potente piattaforma di pubblicazione e blog open source dal design accattivante e facile da usare. Ghost è scritto in javascript e utilizza node.js come ambiente di runtime. La prima versione di Ghost è stata rilasciata nel 2013 sotto licenza MIT e viene costantemente aggiornata. Questo tutorial mostra l'installazione del software Ghost Blog, Node.js e Apache come server proxy SSL su Ubuntu 16.04.

Nodejs è un runtime javaScript open source basato sul motore JavaScript V8 (v4) di Chrome per lo sviluppo di applicazioni Web lato server. Nodejs è un runtime multipiattaforma che può essere eseguito su OS X, Microsoft Windows, Linux e FreeBSD. Fornisce un'architettura basata sugli eventi e un modello I/O non bloccante che lo rende leggero ed efficiente per le applicazioni Web in tempo reale. Il progetto Node.js è stato avviato nel 2009 da Ryan Dahl e ad oggi ha raggiunto la versione 6.5.0 (LTS).

Prerequisiti

  • Ubuntu 16.04
  • privilegi di root

Cosa faremo in questo tutorial:

  • Installa Node.js
  • Installa Ghost
  • Configura Ghost
  • Installa Apache e aggiungi Ghost VirtualHost
  • Abilita SSL per Ghost

Passaggio 1- Installa Node.js su Ubuntu

Per questo tutorial, useremo nodejs v4.x. Nodejs può essere installato in molti modi diversi come l'installazione dal sorgente o l'installazione dal repository di Ubuntu. Userò il repository nodejs di nodesecure https://deb.nodesource.com/node_4.x per l'installazione, contiene software aggiornato e l'utilizzo di un repository consente di aggiornare facilmente node.js in un secondo momento.

Installa la chiave del repository nodesource con il comando seguente:

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

Quindi aggiungi il repository nodejs eseguendo i comandi seguenti:

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

Aggiorna il repository:

sudo apt-get update

Ora possiamo installare il pacchetto "nodejs" che installerà node.js e le sue dipendenze sul server:

sudo apt-get install -y nodejs

Ora controlla la versione di nodejs per assicurarti che l'installazione sia andata a buon fine:

node --version

Controlla la versione npm:

npm --version

npm è un gestore di pacchetti per installare, pubblicare e gestire i programmi dei nodi.

Passaggio 2 - Installa Ghost Blog

Installeremo ghost nella directory "/var/www/" e utilizzeremo l'ultima versione di Ghost. Crea una nuova directory "www" in /var e inseriscila con "cd":

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

Scarica Ghost con il comando wget, quindi estrailo in una directory chiamata "ghostblog" :

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

NOTA :-d :crea automaticamente la directory.

Quindi vai alla directory di ghostblog e installa Ghost con npm comando:

cd ghostblog/
sudo npm install --production

Passaggio 3 - Configura Ghost

Vai alla directory ghostblog e quindi copia il file di esempio di configurazione in "config.js"

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

Quindi, aggiungi un nuovo utente "fantasma". Questo utente verrà citato in giudizio per eseguire Ghost :

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

Nota:

-d =Definisce la home directory per l'utente fantasma in /var/www/.

-s =Definisce la shell per l'utente fantasma.

Ora cambia il proprietario della directory di installazione fantasma nell'utente "ghost".

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

Testare il blog fantasma eseguendo il comando npm come utente fantasma. Accedi all'utente ghost:

su - ghost

e vai alla directory di installazione e avvia Ghost:

cd ghostblog/
npm start --production

Ghost è installato ed è in esecuzione su localhost con la porta 2368. Possiamo verificarlo con il comando curl:

curl -I localhost:2368

Puoi vedere che ghost è in esecuzione - HTTP/1.1 200 OK .

Eseguiremo ghost come servizio per semplificare l'avvio di ghost. Torna all'utente sudo/root digitando "exit" e crea un nuovo file chiamato "ghost.service" nella directory "/lib/systemd/system/".

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

Incolla lo script systemd di seguito:

[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

Quindi, ricarica il demone systemd:

systemctl daemon-reload

Quindi aggiungi ghost da avviare all'avvio e avvia ghost con il comando systemctl:

systemctl enable ghost
systemctl start ghost

Verifica che ghost sia in esecuzione controllando la porta 2368:

netstat -plntu

Fase 4 - Installa Apache e Ghost VirtualHost

Installa apache con il comando apt-get:

sudo apt-get install apache2

Al termine dell'installazione, creare un nuovo file per l'host virtuale fantasma nella directory "/etc/apache2/sites-available/".

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

Incolla la configurazione di seguito:

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

Salva ed esci.

Attiva il modulo proxy HTTP in apache con il comando a2enmod come mostrato di seguito:

sudo a2enmod proxy proxy_http

Infine, dobbiamo attivare l'host virtuale Ghost e quindi riavviare Apache:

sudo a2ensite ghostblog
sudo systemctl restart apache2

Riavvia Ghost:

sudo systemctl restart ghost

Prova visitando il dominio:http://ghostblog.me

Passaggio 5 - Abilita SSL per Ghost

Per abilitare SSL su Apache, assicurati che la libreria OpenSSL sia installata sul sistema. Genereremo una nuova chiave e un file crt nella directory "/etc/apache2/certs". Per prima cosa, creiamo nuovi certificati di directory:

sudo mkdir -p /etc/apache2/certs

E genera la chiave del certificato con il comando seguente:

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

Si prega di modificare l'autorizzazione del file del certificato:

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

Successivamente, aggiungi la configurazione SSL a ghost virtualhost modificando il file "ghostblog.conf".

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

Incolla il nuovo script di configurazione di seguito:

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

Salva il file ed esci da vim.

Attiva il modulo Apache OpenSSL e riavvia Apache :

sudo a2enmod ssl headers
sudo systemctl restart apache2

Test

Visita http://ghostblog.me , e sarai costretto al sito HTTPS/SSL del tuo blog.

Ghost con Apache e SSL è stato installato correttamente.

Conclusione

Nodejs è un runtime javascript multipiattaforma open source per creare applicazioni web lato server. È leggero ed efficiente per applicazioni web in tempo reale. Ghost è una piattaforma di blogging scritta in Javascript per Node.js. Ghost è ben progettato e facile da usare. L'interfaccia intuitiva rende questo sistema di blog facile da usare. Ghost può essere installato standalone o con un server web come Apache o Nginx. Puoi proteggere Ghost con OpenSSL. Configurare Ghost con Apache e OpenSSL è facile, devi solo configurare il modulo http_proxy di apache e generare un certificato SSL.


Ubuntu
  1. Come installare e configurare Nextcloud con Apache su Ubuntu 18.04

  2. Come installare e proteggere phpMyAdmin con Apache su Ubuntu 18.04

  3. Come installare e configurare ownCloud con Apache su Ubuntu 18.04

  4. Come installare Apache Hive con Hadoop su CentOS, Ubuntu e LinuxMint

  5. Come installare Apache Maven su Ubuntu 18.04 e 16.04

Come installare ProjectSend con Apache e Lets Encrypt SSL su Ubuntu 20.04

Come installare il software Ghost Blog con Apache e SSL su Ubuntu 15.10

Come installare PrestaShop su Ubuntu 20.04 con Apache

Come installare Let's Encrypt SSL su Ubuntu con Apache

Come installare Drupal con Apache su Debian e Ubuntu

Come installare Django 3.2 su Ubuntu 20.04 con Apache e WSGI