Fantasma è una piattaforma di blogging completamente open source (licenza MIT), che sta guadagnando popolarità tra gli sviluppatori e gli utenti ordinari sin dal suo rilascio nel 2013. Il codice sorgente di Ghost è disponibile pubblicamente su GitHub. Ghost richiede generalmente circa ~300 MB di RAM per funzionare bene, quindi può funzionare su hardware modesto. Si concentra sui contenuti e blog . La cosa più interessante di Ghost è il suo design semplice, pulito, elegante e reattivo. Puoi scrivere i post del tuo blog da un telefono cellulare. Il contenuto per Ghost è scritto e formattato utilizzando il linguaggio Markdown. Ghost è perfetto per singoli o piccoli gruppi di scrittori. Ghost ha anche il supporto integrato per Accelerated Mobile Pages (AMP ), che renderà il caricamento del tuo blog fulmineo sui telefoni cellulari.
Recentemente, gli sviluppatori di Ghost hanno rilasciato la prima versione stabile e principale di Ghost - 1.0.0. Ghost 1.0.0 ha introdotto molte nuove funzionalità e le più note tra queste sono: editor Markdown nuovo di zecca, interfaccia utente aggiornata (UI ), nuovo design del tema predefinito, nuovo e migliorato processo di installazione e aggiornamento con Ghost-CLI strumento.
In questo tutorial, creeremo e implementeremo un blog Ghost sicuro con l'aiuto di Ghost-CLI di Ghost strumento su Ubuntu 18.04 LTS server utilizzando Let's Encrypt , Acme.sh , Node.js , npm , Filato , NGINX e MySQL /MariaDB .
Requisiti
- Nome di dominio. Questo tutorial utilizzerà il dominio esempio.com.
- Un server che esegue Ubuntu 18.04 LTS con 1 GB o RAM.
- Un utente non root con privilegi sudo.
Passaggi iniziali
Controlla la tua versione di Ubuntu:
lsb_release -ds
# Ubuntu 18.04 LTS
Imposta il fuso orario:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Aggiorna i pacchetti del tuo sistema operativo:
sudo apt update && sudo apt upgrade -y
Installa build-essential
pacchetto:
sudo apt install -y build-essential
Passaggio 1:installa Node.js e npm
NOTA :l'ultima versione di Ghost 1.0.0 attualmente supporta le versioni di Node.js 8.9+ e 6,9+ solo.
Ghost è basato su Node.js. Stiamo per installare consigliato versione per Ghost che è v8 Carbon LTS al momento di questo tutorial di scrittura. Su Linux hai alcune opzioni di installazione:Linux Binaries (x86/x64), Source Code o tramite Package Manager. Useremo il metodo Package Manager utilizzando il repository Nodesource.
Scarica e installa l'ultimo supporto a lungo termine (LTS ) versione (release) di Node.js:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
NOTA :npm è distribuito con Node.js, il che significa che quando scarichi Node.js, ottieni automaticamente npm installato sul tuo computer.
Controlla la versione di Node.js e npm :
node -v && npm -v
# v8.11.2
# 5.6.0
Npm è un progetto separato da Node.js e tende ad aggiornarsi più frequentemente. Di conseguenza, anche se hai appena scaricato Node.js (e quindi npm), probabilmente dovrai aggiornare il tuo npm. Fortunatamente, npm sa come aggiornarsi! Per aggiornare il tuo npm, digita questo nel tuo terminale:
sudo npm install -g [email protected]
Ricontrolla la versione npm, dovrebbe essere l'ultima versione:
npm -v
# 6.1.0
Passaggio 2:installa il server MariaDB
Ghost supporta i database MySQL/MariaDB e SQLite. In questo tutorial, tuttavia, utilizzeremo il database MariaDB . Se preferisci, puoi utilizzare MySQL invece di MariaDB.
Scarica e installa l'ultima versione stabile del server MariaDB dal repository MariaDB sulla tua macchina:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64] https://mirrors.nxthost.com/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-server
Durante il processo di installazione di MariaDB, ti verrà chiesto di inserire MariaDB root
password utente. Dovresti inserire una password complessa.
Controlla la versione di MariaDB:
mysql --version && sudo mysqld --version
# mysql Ver 15.1 Distrib 10.3.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
# mysqld Ver 10.3.7-MariaDB-1:10.3.7+maria~bionic-log for debian-linux-gnu on x86_64 (mariadb.org binary distribution)
Controlla se il demone MariaDB è stato avviato ed è in esecuzione:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service
Esegui mysql_secure_installation
utility (script) per migliorare la sicurezza della tua installazione di MariaDB:
sudo mysql_secure_installation
# Enter current password for root (enter for none):
# Change the root password? [Y/n] N
# Remove anonymous users? [Y/n] Y
# Disallow root login remotely? [Y/n] Y
# Remove test database and access to it? [Y/n] Y
# Reload privilege tables now? [Y/n] Y
# Success.
# All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
# Thanks for using MariaDB!
Accedi (connetti) alla riga di comando MariaDB come MariaDB root
utente:
mysql -u root -p
Crea un nuovo database e utente MariaDB per l'installazione di Ghost. Questo passaggio è facoltativo, poiché lo strumento Ghost-CLI in un passaggio successivo può creare database per te, devi solo inserire le credenziali dell'utente root di MariaDB (nome utente e password) quando richiesto da Ghost-CLI durante l'installazione di Ghost:
mysql> CREATE DATABASE dbname;
mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL ON dbname.* TO 'username'@'localhost';
mysql> FLUSH PRIVILEGES;
Esci (disconnetti) da MariaDB:
mysql> EXIT;
Passaggio 3:installa NGINX
NGINX (engine-x) è un server Web ad alte prestazioni, bilanciatore del carico, cache e server proxy che funziona bene in tutti gli ambienti:bare metal, cloud pubblico/privato/ibrido e container. NGINX verrà utilizzato come proxy inverso per la nostra applicazione Ghost.
NGINX può essere installato in modo diverso, a seconda del sistema operativo. Per Linux, è possibile utilizzare i pacchetti NGINX da nginx.org .
Scarica e installa l'ultima linea principale (consigliato per la maggior parte delle implementazioni ) rilascio di NGINX e moduli caricabili dinamicamente direttamente dal repository NGINX ufficiale:
wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
Verifica che NGINX sia installato controllando la sua versione:
sudo nginx -v && sudo nginx -V
# nginx version: nginx/1.15.0
# nginx version: nginx/1.15.0
Avvia e abilita NGINX:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Crea /etc/nginx/snippets, /etc/nginx/ssl
, /etc/nginx/sites-available
e /etc/nginx/sites-enabled
directory. Queste directory sono necessarie per il corretto funzionamento dello strumento Ghost-CLI:
sudo mkdir -p /etc/nginx/{snippets,ssl,sites-available,sites-enabled}
Aggiungi a include /etc/nginx/sites-enabled/*.conf;
direttiva a nginx.conf
file, esegui:
sudo vim /etc/nginx/nginx.conf
Salva il file ed esci dall'editor di Vim.
Passaggio 4 - Installa il filato (opzionale)
Scarica e installa Gestione pacchetti Yarn sul tuo sistema:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install -y yarn
Controlla la versione del filato:
yarn --version
# 1.7.0
Passaggio 5:installazione di Ghost-CLI
Ghost-CLI è uno strumento di interfaccia a riga di comando (CLI) che semplifica l'installazione e l'aggiornamento di Ghost. Configura il database, configura NGINX come proxy inverso, abilita la sicurezza TLS/SSL utilizzando Let's Encrypt CA, rinnova automaticamente il tuo SSL e inizializza Ghost come servizio di sistema. Ghost-CLI è un modulo npm che può essere installato tramite npm
o yarn
.
Scarica e installa lo strumento Ghost-CLI:
sudo npm install -g [email protected]
# or with Yarn
sudo yarn global add [email protected]
Controlla la versione di Ghost-CLI:
ghost version
# Ghost-CLI version: 1.8.1
Risolvere eventuali problemi di sistema durante l'installazione o l'aggiornamento di Ghost:
ghost doctor install
Passaggio 6:installa Ghost
Successivamente, installeremo Ghost utilizzando lo strumento Ghost-CLI.
Innanzitutto, crea una directory radice del documento vuota:
sudo mkdir -p /var/www/example.com
Modifica la proprietà di /var/www/example.com
directory all'utente non root con sudo
privilegi che hai creato. In questo esempio, johndoe:
sudo chown johndoe:johndoe /var/www/example.com
La tua cartella di installazione deve avere le autorizzazioni corrette:
sudo chmod 755 /var/www/example.com
Vai alla directory principale di Ghost:
cd /var/www/example.com
Assicurati che la directory sia vuota per evitare conflitti di file:
ls -a
Installa Ghost in modalità di produzione eseguendo:
ghost install
Rispondi a ogni domanda come richiesto:
? Enter your blog URL: https://example.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: your_mysql_root_user_password_here
? Enter your Ghost database name: database_name_for_ghost
? Do you wish to set up "ghost" mysql user? yes
? 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) [email protected]
? Do you wish to set up Systemd? yes
? Do you want to start Ghost? yes
Al termine dell'installazione, esegui
ghost ls
per visualizzare i processi Ghost in esecuzione.
In futuro, per aggiornare il tuo blog Ghost quando verrà rilasciata una versione più recente, devi solo eseguire
ghost update
comando, dalla directory di installazione di Ghost e Ghost-CLI si occuperà di tutto per te.
Passaggio 7:configurazione completa di Ghost
Per completare il processo di configurazione, vai alla pagina di configurazione di Ghost aggiungendo /ghost
alla fine dell'URL o dell'IP del tuo blog. Questo esempio utilizza https://example.com/ghost
.
Nella schermata di benvenuto, fai clic su Crea il tuo account :
Inserisci la tua email, crea un utente, una password e il titolo del blog:
Invita altri membri nel tuo team. Se preferisci saltare questo passaggio, fai clic su Lo farò più tardi, portami sul mio blog! in fondo alla pagina.
Naviga nell'area di amministrazione di Ghost per creare il tuo primo post, cambiare il tema del tuo sito o configurare impostazioni aggiuntive:
Congratulazioni! Hai installato e distribuito correttamente la piattaforma di blogging Ghost sul server Ubuntu 18.04 LTS.