Ghost è l'ultimo e il migliore in assoluto per competere con WordPress. Lo sviluppo del tema è rapido e facile da imparare perché gli sviluppatori Ghost hanno deciso di utilizzare sia i framework ember.js che handlebars.js per rimuovere parte della curva di apprendimento. Il tempo di installazione e la configurazione dovrebbe durare circa 45-60 minuti e si avvale delle seguenti tecnologie: Node.js
, Relayd
, e Httpd
.
Nota: sostituire example.org con il nome del dominio e 192.0.2.x con l'indirizzo IP Vultr assegnato. Useremo anche certificati autofirmati che sono davvero buoni solo per i test. Se decidi di utilizzare Ghost in produzione, è estremamente importante utilizzare un certificato reale. I certificati reali possono essere ottenuti gratuitamente utilizzando Let's Encrypt .
Configurare OpenBSD
Abilita Httpd
e relayd
.
# rcctl enable httpd relayd
Crea il /etc/httpd.conf
file di configurazione per Httpd. In questo esempio, l'unico scopo di Httpd è reindirizzare le richieste a https. Relayd sarà effettivamente quello che ascolta sulla https
porta e inoltra richieste a Ghost.
prefork 3
types { include "/usr/share/misc/mime.types" }
server "www.example.org" {
listen on 192.0.2.1 port 80
# Redirect to https
block return 301 "https://$SERVER_NAME:$REQUEST_URI"
}
Crea i certificati SSL di prova per la tua distribuzione Ghost. Dal momento che questo sarà davvero solo per il test, puoi lasciare vuota la maggior parte dei campi. L'unico che dovrai completare è il Common Name
campo e che dovrebbe corrispondere al nome di dominio completo del server. Quando sei pronto a sostituire il certificato autofirmato con quelli che sono veri e validi, ricorda di mantenere uguali i nomi dei file. Relayd prevede di trovare la chiave e il certificato con la convenzione di denominazione <ip address>.crt
e <ip address>.key
.
# cd /etc/ssl
# openssl req -x509 -new -nodes -newkey rsa:4096 -keyout private/192.0.2.1.key -out 192.0.2.1.crt -days 364 -sha256
# chmod 0400 private/192.0.2.1.key
Creare il /etc/relayd.conf
file di configurazione per Relayd. Relayd fa la magia che inoltra e reindirizza le richieste a Ghost.
prefork 3
http protocol https {
match request header append "X-Forwarded-For" value "$REMOTE_ADDR"
match request header append "X-Forwarded-By" \
value "$SERVER_ADDR:$SERVER_PORT"
tcp { nodelay, sack, socket buffer 65536, backlog 128 }
tls { no tlsv1, ciphers HIGH }
tls no session tickets
}
relay ghost {
listen on 192.0.2.1 port 443 tls
protocol https
forward to 127.0.0.1 port 2368
}
Aggiungi i seguenti pacchetti.
pkg_add -r node unzip wget
Creare una directory utente e home per l'installazione di Ghost. Ad esempio, creare un utente denominato ghost
con una home directory denominata /var/www/ghost
. Usa una password molto forte per questo account.
# user add -m -c "Ghost User" -d /var/www/ghost -G wheel -g =uid -u 5000 -s /bin/ksh ghost
# passwd ghost
Passa ghost
all'utente e scarica l'ultima versione di Ghost.
# doas su ghost
# cd /var/www/ghost
# mkdir blog
# cd blog/
# wget https://ghost.org/zip/ghost-latest.zip
# unzip ghost-latest.zip
Installa Ghost.
# npm install sqlite3 --sqlite=/usr/local
# npm install --production
# npm install forever
# doas npm install -g knex-migrator
Configura Ghost. Sostituisci la database
sezione di config.production.json
con la database
clausola qui sotto se desideri usare sqlite
invece di mysql
. Sqlite gestirà facilmente circa 100.000 connessioni al giorno. Se hai già installato MySQL, puoi sempre scegliere di usarlo. Per il defaults.json
file, modifica la domain
parte del url
tuo dominio.
# cd core/server/config/env/config/
# vi config.production.json
"database": {
"client": "sqlite3",
"connection": {
"filename": "content/data/ghost.db"
},
# cd core/server/config/
# vi defaults.json
"url": "http://www,example.org",
"server": {
"host": "127.0.0.1",
"port": 2368
},
Ora dobbiamo popolare il database e avviare Ghost.
# cd ~/blog
# NODE_ENV=production knex-migrator init
# NODE_ENV=production ~/blog/node_modules/forever/bin/forever start ~/blog/index.js
Eseguire un netstat -na -f inet
e cercare una 127.0.0.1:2368
voce. Puoi anche fare un ps ax | grep node
per verificare che Ghost sia in esecuzione.
Apri il tuo browser preferito e naviga verso http://www.example.org
. Verrai reindirizzato automaticamente a https://www.example.org
. Sarai accolto con la pagina Ghost predefinita.
Sfoglia per http://www.example.org/ghost
completare l'installazione.