Ghost è una piattaforma di blogging gratuita e open source scritta in node.js , completamente personalizzabile e dedicata alla pubblicazione.
Preparare il server: aggiorna i pacchetti, installa Node.js e NPM
Dimostreremo l'installazione accedendo al server come root
, in modo da non dover aggiungere sudo
prima di ogni comando. Se sei loggato come un altro utente, ricorda che ne avrai bisogno sudo
.
Sul server, eseguire quanto segue per aggiornare l'indice dei pacchetti, aggiornare i pacchetti e installare nodejs
e npm
.
apt-get update
apt-get upgrade
apt-get install python software-properties-common gcc g++ make -y # auto install
add-apt-repository ppa:chris-lea/node.js -y
L'output di questi comandi dovrebbe essere simile a:
gpg: keyring `/tmp/tmpvpe2ugzj/secring.gpg' created
gpg: keyring `/tmp/tmpvpe2ugzj/pubring.gpg' created
gpg: requesting key C7917B12 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpvpe2ugzj/trustdb.gpg: trustdb created
gpg: key C7917B12: public key "Launchpad chrislea" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
Automaticamente, la chiave di firma del pacchetto verrà aggiunta al keyring (in modo che i pacchetti scaricati possano essere verificati) e il PPA verrà aggiunto agli APT sources.list.d
.
Ora eseguiamo:
apt-get update # again
apt-get install nodejs -y
Esegui npm
per testare l'installazione. Vedrai npm
l'uso stampato sullo schermo:
Usage: npm <command>
...
...
[email protected] /usr/lib/node_modules/npm
Ora possiamo installare Ghost.
Installazione: Ghost e Nginx
Poiché Ghost è ora considerato "stabile", può essere installato tramite npm
. Installa con il seguente comando:
npm install -g ghost --production
Ignora eventuali avvisi per ora.
Successivamente, avvieremo Ghost e verificheremo che funzioni correttamente.
cd /usr/lib/node_modules/ghost
npm start --production
L'output dovrebbe essere simile al seguente:
> [email protected] start /usr/lib/node_modules/ghost
> node index
Migrations: Database initialisation required for version 003
...
Migrations: Complete
Ghost is running...
Your blog is now available on http://my-ghost-blog.com
Ctrl+C to shut down
Funziona! Usa Ctrl-C per spegnere Ghost e vai al passaggio successivo: installare (e configurare) Nginx.
Nginx è molto semplice da installare. Esegui il seguente comando:
apt-get install nginx
Nginx sarà configurato per consentire la connessione da qualsiasi luogo libero alla porta 80 (o 443, se si utilizza SSL ) sul server, che viene quindi inoltrato ("in proxy ") a Ghost. Ecco come le persone si collegano al tuo blog.
Configurare Nginx non è poi così difficile. Seguire questi passaggi per configurare il proxy Ghost.
Innanzitutto, rimuovi il file di configurazione predefinito:
cd /etc/nginx/
rm sites-enabled/default
Quindi, crea un nuovo file di configurazione:
cd sites-available
touch ghost
Adatta le seguenti righe alle tue necessità e usa qualcosa di simile nano
o vi
per incollarlo (dovrai impostare il server_name
tuo nome di dominio):
server {
listen 80;
server_name yourdomain.tld;
access_log /var/log/nginx/yourdomain.tld.log; # if you want logging
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_pass http://127.0.0.1:2368;
proxy_redirect off;
}
}
Collegamento simbolico al file di configurazione:
cd /etc/nginx
ln -s sites-available/ghost sites-enabled/ghost
Riavvia Nginx:
service nginx restart
A questo punto, Nginx è installato, configurato e in esecuzione sul tuo server.
Infine: avvia Ghost automaticamente
Supervisor è un sistema di controllo di processo che consente di eseguire Ghost all'avvio senza utilizzare script di init. Installeremo Supervisor per gestire Ghost.
Per installare Supervisor, eseguire:
apt-get install supervisor
service supervisor start
Quindi, crea un nuovo file di script in /etc/supervisor/conf.d/ghost.conf
. Incolla questi contenuti:
[program:ghost]
command = node /usr/lib/node_modules/ghost/index.js
directory = /usr/lib/node_modules/ghost
user = ghost
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/ghost.log
stderr_logfile = /var/log/supervisor/ghost_err.log
environment = NODE_ENV="production"
Salva e chiudi il file.
Successivamente, dobbiamo creare un utente per Ghost e concedergli le autorizzazioni per accedere ai file e al database Ghost. Esegui i seguenti comandi:
useradd ghost
chown -R ghost /usr/lib/node_modules/ghost/
supervisorctl reread
supervisorctl update
La nostra installazione è completa!
Ora puoi controllare Ghost eseguendo supervisorctl start ghost
e supervisorctl stop ghost
.