Ghost è una moderna piattaforma di pubblicazione open source costruita su Node.js con un client di amministrazione Ember.js , un'API JSON e un'API tematica basata su Handlebars.js . Il team Ghost ha recentemente rilasciato una nuova versione di Ghost con molte nuove funzionalità e miglioramenti: nuovo editor di markdown con la barra degli strumenti per aiutarti con lo stile del tuo post, miglioramenti dell'interfaccia utente / UX, trascinamento delle immagini multiple, installazione migliorata e processo di aggiornamento con nuove strumento chiamato Ghost-CLI , nuovo tema predefinito Casper v2.0.0 e molto altro. Vi lascio esplorare di più dopo averlo installato.
In questo tutorial installeremo, installeremo e configureremo Ghost v1.0.0 su Ubuntu 16.04 LTS usando MySQL, Let's Encrypt, Node.js, NPM, Ghost-CLI e NGINX.
NOTA : Ubuntu 16.04 LTS è l'unica distribuzione Linux ufficialmente supportata . Non è possibile installare Ghost v1.0.0 su altre distribuzioni Linux. In futuro, sarà probabilmente possibile installarlo quando aggiungono supporto per altre distribuzioni nello strumento Ghost-CLI.
Stack di sistema consigliato per installazioni di produzione
Il team Ghost consiglia il seguente stack e configurazione del server per l'installazione di produzione del blog Ghost v1.0.0:
- Ubuntu 16.04 come sistema operativo con almeno 1 GB di RAM (è possibile utilizzare lo swap)
- Systemd (per gestire il processo Ghost)
- MySQL come motore di database raccomandato
- NGINX (minimo 1.9.5 per SSL)
- Node.js v6 installato tramite repository NodeSource
- Gestione pacchetti NPM o Filati
- Compilatore C ++
- Un utente non root per l'esecuzione di
ghost
comandi
Prima di iniziare
-
Controlla la versione di Ubuntu:
lsb_release -ds
# Ubuntu 16.04.3 LTS
-
Crea un nuovo account utente non root con sudo
accesso e passa ad esso:
NOTA : sostituisci johndoe
con il tuo nome utente
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
-
Imposta il fuso orario:
sudo dpkg-reconfigure tzdata
-
Assicurati che il tuo sistema sia aggiornato:
sudo apt update && sudo apt upgrade -y
-
Installa build-essential
pacchetto:
sudo apt install -y build-essential
Passaggio 1: installare MySQL
Innanzitutto, dovremo installare il database MySQL come Ghost lo consiglia come database per l'ambiente di produzione.
-
Scarica e installa MySQL:
sudo apt install -y mysql-server
NOTA : verrà richiesto di inserire la password per l'utente "root" di MySQL. Inserisci una password sicura!
-
Controlla la versione di MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
-
Indurisci MySQL Server eseguendo lo mysql_secure_installation
script:
sudo mysql_secure_installation
Passaggio 2: installare NGINX
Successivamente, è necessario installare il software NGINX. Verrà utilizzato come proxy inverso per la nostra applicazione Ghost. Ghost-CLI può configurare automaticamente NGINX come proxy inverso.
-
Scarica e installa NGINX:
sudo apt install -y nginx
-
Controlla la versione di NGINX:
sudo nginx -v
# nginx version: nginx/1.10.3 (Ubuntu)
Passaggio 3: installare Node.js e NPM
Ghost v1.0.0 attualmente supporta solo le versioni Node.js 6.9+ e 4.5+ . La versione consigliata di Node.js da utilizzare con Ghost v1.0.0 è attualmente Node.js v6 Boron LTS .
Ghost è basato su Node.js. Ghost sta seguendo il piano LTS di Node, supportando solo le versioni LTS di Node.js. Quindi, dovremo installare l'ultima versione LTS di Node.js.
-
Scarica e installa Node.js e NPM:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install -y nodejs
-
Controlla la versione di Node.js e NPM:
node -v && npm -v
# v6.11.3
# 3.10.10
Passaggio 4: installare Ghost-CLI
Ghost-CLI è uno strumento CLI per l'installazione e l'aggiornamento di Ghost. Rende facile l'installazione e l'aggiornamento di Ghost. Può impostare il database per te, configurare NGINX come proxy inverso, configurare la sicurezza TLS utilizzando Let's Encrypt, il rinnovo automatico SSL e impostare ghost come servizio systemd. Si occuperà della sicurezza di base per te, creando un utente di sistema dedicato chiamato ghost
per l'esecuzione del blog Ghost.
-
Installa Ghost-CLI tramite npm:
sudo npm install -g ghost-cli@latest
-
Controlla la versione di Ghost-CLI:
ghost version
# Ghost-CLI version: 1.1.1
-
Esegui il ghost doctor
comando per verificare che il tuo ambiente sia compatibile con Ghost-CLI:
ghost doctor
✔ Checking system Node.js version
✔ Checking current folder permissions
✔ Checking operating system
✔ Checking MySQL is installed
✔ All install checks passed
-
Chiedi aiuto sul ghost
comando:
ghost help
-
Per ottenere un aiuto più specifico sui ghost
sottocomandi è possibile eseguire ghost help <command>
. Ad esempio, per ottenere assistenza sul ghost config
comando, eseguire:
ghost help config
Passaggio 5: installare Ghost
NOTA : assicurati che i record DNS per il tuo dominio siano impostati. Questa esercitazione utilizza un dominio di esempio blog.example.tld
. Sostituisci blog.example.tld
con il tuo dominio / nome host.
Ora siamo pronti per installare Ghost CMS. L'unico modo per installare Ghost v1.0.0 è utilizzare lo strumento Ghost-CLI.
-
Crea directory root del documento:
sudo mkdir -p /var/www/ghost
-
Cambia la proprietà della /var/www/ghost
directory per l'utente non root con i sudo
privilegi che hai creato all'inizio di questo tutorial:
sudo chown <johndoe>:<johndoe> /var/www/ghost
-
Passare alla directory principale dei documenti:
cd /var/www/ghost
NOTA : assicurarsi che la /var/www/ghost
directory sia vuota prima di installare Ghost e l'utente deve possedere questa directory.
-
Installa Ghost in una modalità di produzione:
ghost install
-
Rispondi alle domande che ti vengono poste. Per ulteriori informazioni sulle domande che richiede visitare i documenti Ghost :
? Enter your blog URL: https://blog.example.tld
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: [Enter password you created when you installed MySQL]
? Enter your Ghost database name: [Whatever you want]
? Do you wish to set up Nginx? yes
? Do you wish to set up SSL? yes
? Enter your email (used for Let's Encrypt notifications) [Your email for Let's Encrypt]
? Do you wish to set up "ghost" mysql user? yes
? Do you wish to set up Systemd? yes
? Do you want to start Ghost? yes
NOTA : dopo l'installazione, i file di configurazione di NGINX saranno nella /var/www/ghost/system/files
directory. Ghost-CLI ti chiederà Do you wish to set up Nginx?
e se la tua risposta è yes
, allora configurerà automaticamente NGINX come proxy inverso per te. I tuoi file di configurazione NGINX saranno nella {your_ghost_installation_dir}/system/files
directory.
-
Al termine dell'installazione è possibile eseguire ghost ls
per visualizzare il processo Ghost in esecuzione:
ghost ls
-
Inoltre per verificare se Ghost è installato è possibile eseguire ghost version
nuovamente dalla /var/www/ghost
directory:
ghost version
# Ghost-CLI version: 1.1.1
# Ghost Version (at /var/www/ghost): 1.8.4
-
In futuro, quando verrà rilasciata la versione più recente di Ghost, esegui il ghost update
comando dalla /var/www/ghost
directory per aggiornare ghost. Inoltre, prima di aggiornare, fai un backup del tuo blog dall'interfaccia di amministrazione.
-
Per completare la procedura di configurazione e creare un account amministratore Ghost, vai alla pagina di configurazione Ghost aggiungendo /ghost
alla fine dell'URL del tuo blog. Questo esempio usa https://blog.example.tld/ghost
.
Conclusione
Abbiamo installato e configurato con successo il nostro nuovo blog Ghost v1.0.0 per la produzione. Lo strumento Ghost-CLI semplifica notevolmente la nostra vita eliminando i passaggi manuali che avevamo a che fare con v0.11.x
Ghost più vecchio . Puoi anche fare tutto manualmente senza l'aiuto dello strumento Ghost-CLI ma perderai la possibilità di aggiornare facilmente il tuo blog con il ghost update
comando. Fare tutto manualmente è laborioso e sconsigliato. L'unico aspetto negativo è il fatto che altre distribuzioni Linux non sono supportate in questo momento.