GNU/Linux >> Linux Esercitazione >  >> Ubuntu

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

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 4.2.0 (LTS).

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. Ghost è stato rilasciato nel 2013 con licenza MIT.

Prerequisiti

  • Ubuntu 15.10
  • 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 node.js v0.12. Node.js può essere installato dal sorgente o dal repository nodesource.com. Useremo il repository node.js  https://deb.nodesource.com/node_0.12 per l'installazione.

Aggiungi e aggiorna il repository eseguendo il comando seguente:

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

Prossima installazione node.js con apt:

sudo apt-get install -y nodejs

Ora controlla la versione di node.js:

node --version

v0.12.7

E controlla la versione npm:

npm --version

2.11.3

Npm è il gestore di pacchetti node.js utilizzato 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 come root/sudo:

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

Ora apri il file di configurazione con l'editor vim:

vim config.js

Nel blocco server (riga 27) , cambia il valore dell'host in 0.0.0.0 .

host = 0.0.0.0

Per consentire l'accesso al blog dall'esterno. Salva ed esci.

Quindi aggiungi il nuovo utente "fantasma". Questo utente verrà utilizzato per eseguire ghost:

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

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 di Ghost e avvialo:

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

Visita l'IP del server sulla porta 2368, nel mio caso:192.168.1.104:2368


Per semplificare l'avvio di Ghost, creeremo un servizio di sistema per eseguire Ghost. Torna all'utente sudo/root e crea un nuovo file chiamato "ghost.service" nella directory "/lib/systemd/system/".

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

E salva il file Quindi ricarica il demone systemd:

sudo systemctl daemon-reload

Aggiungi il servizio Ghost per l'avvio automatico all'avvio e avvia Ghost con il comando systemctl:

sudo systemctl enable ghost
sudo systemctl start ghost

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 ed esci.

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 è ora installato correttamente.

Conclusione

Nodejs è un runtine 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 il software Ghost Blog con Apache e SSL su Ubuntu 16.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 Concrete5 CMS con Apache e Lets Encrypt SSL gratuito su Ubuntu 20.04

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

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