Come eseguire l’hosting autonomo e installare Ghost sul tuo server Linux
Ghost è un programma di gestione dei contenuti open source che ti consente di creare facilmente un blog e un servizio di newsletter. Puoi scegliere di iscriverti al servizio Ghost(Pro) per utilizzare il CMS o, se sei più portato tecnicamente, ospitarlo autonomamente sul tuo server. Qui ti mostriamo quest’ultimo: Ghost ospita autonomamente sul tuo server Linux.
Perché dovresti ospitare autonomamente Ghost sul tuo server
Uno dei vantaggi di un blog Ghost è che fornisce una piattaforma integrata e ricca di funzionalità che funziona immediatamente. Ciò include la possibilità di tenere traccia delle analisi, monetizzare i post e creare newsletter automatiche per i tuoi abbonati.
Installare Ghost sul tuo server ti consente di essere un editore senza fare affidamento su terzi per gestire i tuoi dati. Questo può essere utile se sei un giornalista che pubblica articoli critici su argomenti controversi.
Infine, Ghost è facile da implementare e mantenere, anche per gli utenti non tecnici. A differenza delle tradizionali piattaforme CMS, Ghost fornisce una soluzione all-in-one che puoi “impostare e dimenticare” sul tuo computer hosting.
Installazione di Ghost sul tuo server
Presupposto : prima di iniziare, presupponiamo che tu abbia già un server Linux disponibile e un nome di dominio per ospitare l’installazione di Ghost. Se hai bisogno di noleggiare un server Linux, ti consigliamo DigitalOcean o Linode .
Poiché utilizzeremo Docker, dovremo prima installare Docker sul server.
1. Installa la chiave pubblica del repository del progetto Docker:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
2. Crea un nuovo file repository nella directory apt config del tuo computer:
sudo nano /etc/apt/sources.list.d/docker.list
3. Incolla la seguente riga di codice nel nuovo file del repository:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
4. Aggiorna gli elenchi dei repository del tuo sistema e aggiorna i file binari esistenti nel tuo computer:
sudo apt updatesudo apt upgrade
5. Installa Docker e Docker Compose insieme alle relative dipendenze:
sudo apt install wget docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin
6. Aggiungi il tuo utente al gruppo Docker
sudo usermod -aG docker $USER
7. Imposta il servizio Docker per l’esecuzione all’avvio:
sudo systemctl enable docker.service
8. Riavviare il server.
sudo reboot
Configurazione di Gmail per la consegna SMTP
Ghost non viene fornito con un proprio client di consegna della posta elettronica, quindi dobbiamo collegarlo a Gmail per la consegna della posta elettronica.
1. Apri un browser web e accedi all’account Gmail che desideri collegare alla tua istanza Ghost.
2. Fai clic sull’icona del profilo del tuo account, quindi fai clic su “Gestisci il tuo account Google”.
3. Seleziona la categoria “Sicurezza”, quindi fai clic sull’opzione “Verifica in due passaggi” nella sottocategoria “Come accedi a Google”.
4. Verifica il tuo numero di telefono e attiva la verifica in due passaggi .
5. Torna alla categoria “Sicurezza”, quindi fai nuovamente clic sull’opzione “Verifica in due passaggi”. Si aprirà una nuova schermata di menu in cui potrai impostare nuove chiavi secondarie per il tuo account. Scorri fino alla fine della pagina, quindi fai clic su “Password app”.
6. Seleziona “Posta” nel primo elenco a discesa, quindi seleziona “Altro” nel secondo.
7. Scrivi “Gmail per Ghost” nella casella di testo, quindi fai clic su “Genera”. Si aprirà una finestra con una casella di testo gialla contenente la password dell’applicazione personalizzata.
Costruire il contenitore Docker
1. Crea una nuova directory per i dockerfile della tua installazione Ghost:
mkdir ~/ghost
cd ~/ghost
2. Crea un nuovo file docker-compose.yml utilizzando il tuo editor di testo preferito:
nano. /docker-compose.yml
3. Incolla il seguente blocco di codice nel tuo nuovo file docker-compose.yml e salvalo.
---
version: "3"
services:
ghost:
image: ghost:latest
restart: always
ports:
- 8080:2368
environment:
database__client: mysql
database__connection__host: db
database__connection__database: ghost
database__connection__user: ghost
database__connection__password: ghost
url: ${GHOST_URL}
mail__transport: ${MAIL_TRANSPORT}
mail__options__host: ${MAIL_HOST}
mail__options__port: ${MAIL_PORT}
mail__options__secureConnection: ${MAIL_SECURE_CONNECTION}
mail__options__auth__user: ${MAIL_USER}
mail__options__auth__pass: ${MAIL_PASSWORD}
volumes:
- ghost-data:/var/lib/ghost/content
links:
- db
db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ghost
MYSQL_USER: ghost
MYSQL_PASSWORD: ghost
cap_add:
- SYS_NICE
volumes:
- ghost-db:/var/lib/mysql
volumes:
ghost-data: null
ghost-db: null
4. Crea un file “.env” nella directory docker di Ghost:
nano. /.env
5. Incolla il seguente blocco di codice all’interno del tuo nuovo file. file env:
# URLGHOST_URL="#REPLACE_ME_WITH_DOMAIN_NAME#"# DatabaseMYSQL_ROOT_PASSWORD="#REPLACE_ME_WITH_SECURE_PASSWORD#"# SMTP variablesMAIL_SERVICE="Gmail"MAIL_TRANSPORT="SMTP"MAIL_USER="#REPLACE_ME_WITH_YOUR_GMAIL_ADDRESS#"MAIL_PASSWORD="#REPLACE_ME_WITH_YOUR_APP_PASSWORD#"MAIL_HOST="smtp.gmail.com"MAIL_PORT="465"MAIL_SECURE_CONNECTION="true"
- Modifica il valore della variabile “GHOST_URL” da “#REPLACE_ME_WITH_DOMAIN_NAME#” al nome di dominio completo.
- Sostituisci il valore di “MYSQL_ROOT_PASSWORD” con una password sufficientemente casuale.
- Cambia il valore sia di “MAIL_USER” che di “MAIL_PASSWORD” con l’indirizzo email del tuo account Gmail e la sua password dell’applicazione.
6. Crea il contenitore Ghost Docker eseguendo il comando seguente:
sudo docker compose up -d
Configurazione di un proxy inverso
Con Ghost in esecuzione nel backend, dobbiamo impostare un proxy inverso per poter accedere a Ghost pubblicamente. In questo caso utilizzeremo il proxy inverso di Nginx .
1. Installa il pacchetto del server web Nginx. Questo fungerà da demone proxy inverso che prenderà le connessioni da Internet e le reindirizzerà a Ghost.
sudo apt install nginx
2. Crea un nuovo file di configurazione del sito Nginx utilizzando il tuo editor di testo preferito:
sudo nano /etc/nginx/sites-available/ghost
3. Incolla il seguente blocco di codice all’interno del nuovo file di configurazione del sito:
server {
listen 80;
listen [::]:80;
root /var/www/html;
server_name ghost.myvpsserver.top;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8080;
}}
4. Crea un collegamento simbolico per la configurazione del tuo sito fantasma:
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
5. Abilita il servizio server web Nginx utilizzando systemctl:
sudo systemctl enable --now nginx.service
Abilitare SSL sul tuo proxy inverso Nginx
1. Assicurati che il pacchetto snap “core” sia presente nella tua macchina:
sudo snap install core
2. Installa il pacchetto snap cerbot:
sudo snap install certbot --classic
3. Registra l’installazione del certbot al tuo indirizzo email eseguendo il seguente comando:
sudo certbot register --agree-tos --email ramces@email.invalid
4. Richiedi un nuovo certificato SSL per il tuo blog Ghost:
sudo certbot --nginx -d ghost.myvpsserver.top
5. Verifica se la tua nuova istanza Ghost è accessibile tramite SSL aprendo un browser web e caricando il tuo nome di dominio.
Esecuzione di Ghost su un computer locale
Se non disponi di un server e desideri installare Ghost sul tuo computer locale, puoi farlo anche tu. Inoltre, puoi utilizzare Tailscale per accedervi ovunque sul tuo browser.
1. Installa il demone Tailscale VPN sul tuo computer e collegalo al tuo account Tailscale. Vai alla console di amministrazione Tailscale e fai clic sulla scheda “DNS” nella barra superiore della console.
2. Fare clic sul pulsante “Rinomina tailnet…” nella sottocategoria “Nome tailnet”.
3. Imposta il nome host della tua macchina su “ghost” seguito dal nuovo sottodominio per la tua rete Tailscale:
sudo hostnamectl set-hostname ghost.your-tailnet.ts.net
Abilitazione dell’imbuto Tailscale
1. Apri la Console di amministrazione Tailscale e fai clic sulla scheda “DNS”.
2. Scorri verso il basso fino alla fine della pagina, quindi fai clic su “Abilita HTTPS…”
3. Scorri indietro fino alla parte superiore della pagina, quindi fai clic sulla scheda “Controllo accessi”.
4. Fare clic sul pulsante “Aggiungi canalizzazione alla policy”.
5. Esegui il comando seguente per creare un proxy inverso tra Tailscale e il tuo contenitore Docker locale:
sudo tailscale serve https / http://127.0.0.1:8080
6. Abilita la canalizzazione Tailscale per il tuo proxy inverso eseguendo il seguente comando:
sudo tailscale funnel 443 on
7. Verifica se la tua nuova istanza Ghost è accessibile tramite la canalizzazione Tailscale aprendo un browser web e caricando il tuo indirizzo Tailscale.
Usare Ghost per la prima volta
1. Apri un browser web e vai all’URL di installazione di Ghost seguito dalla sottodirectory “/ghost”.
2. Fai clic sul primo campo e fornisci un nome per il tuo nuovo blog Ghost. Compila il resto dei campi con i dettagli sul tuo utente amministratore, quindi fai clic su “Crea account e inizia a pubblicare”.
Creare il tuo primo post in Ghost
1. Fai clic sul pulsante “Scrivi il tuo primo post” nella pagina di onboarding di Ghost.
2. Verrà visualizzato un editor di testo semplice in cui puoi scrivere un semplice post di testo. Fai clic su “Pubblica” una volta terminato per creare un nuovo post di prova.
3. Controlla la prima pagina di Ghost per vedere se il nuovo post è stato approvato.
Aggiunta di un nuovo utente a Ghost
1. Torna alla console di amministrazione di Ghost, quindi fai clic su “Membri” nella barra laterale sinistra della pagina.
2. Fare clic sul pulsante “Nuovo membro” nell’angolo in alto a destra della pagina.
3. Inserisci i dettagli del tuo nuovo membro, quindi fai clic su “Salva” per aggiungerlo al feed della newsletter del blog.
Domande frequenti
Tailscale Funnel ha delle restrizioni?
SÌ. Per impostazione predefinita, puoi esporre il traffico su Tailscale solo attraverso tre porte: 443, 8443 e 10000 e solo utilizzando TCP. Ciò significa che non sarai in grado di esporre alcun servizio online in tempo reale come VoIP e server di gioco.
Posso personalizzare il nome di dominio Tailscale?
No. Questo perché ogni indirizzo DNS Tailscale è personalizzato per il tuo account specifico. Ciò consente al servizio di identificare le tue macchine dalle altre all’interno della più ampia rete Tailscale.
Il mio blog Ghost smetterà di funzionare quando il mio computer sarà offline?
SÌ. Uno degli svantaggi dell’hosting sul tuo hardware è che il tempo di attività del tuo sito web dipende dal tempo di attività del tuo computer. Ciò significa che ogni volta che il tuo computer host si blocca, lo stesso vale per il tuo blog Ghost.
Credito immagine: COMUNICAZIONE UFFICIO DI LAVORO PERSONE CHE UTILIZZANO IL CONCETTO DI BLOG DEL COMPUTER e il tradizionale biscotto fantasma di Halloween di 123RF.
Lascia un commento