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 sudoprima 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 nodejse 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 npmper testare l'installazione. Vedrai npml'uso stampato sullo schermo:
Usage: npm <command>
...
...
npm@1.4.28 /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:
> ghost@0.5.2 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 nanoo viper incollarlo (dovrai impostare il server_nametuo 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 ghoste supervisorctl stop ghost.