Ghost - ghid de inițiere
Ghost este o platformă open-source de blog și publicare, cu editor modern, abonamente, newslettere și SEO integrat. Serverul vine cu Ghost, MySQL, Nginx și Certbot preinstalate – domeniul, e-mailul de administrator și parola specificate la comandă sunt deja configurate.
Pasul 1 – Verificați funcționarea Ghost
Adresa IP și parola root a serverului sunt afișate pe pagina Server Details din panoul clientului. Blogul este deja accesibil prin adresa IP:
- Blog:
http://your.server.ip - Panou de administrare:
http://your.server.ip/ghost/
Autentificați-vă în panoul de administrare cu e-mailul și parola introduse la comandă. Dacă pagina se încarcă și vă puteți conecta, Ghost funcționează corect.
Dacă ați plasat serverul în spatele unui router VyOS într-o rețea privată, configurați redirecționarea porturilor 22 (SSH), 80 (HTTP) și 443 (HTTPS). Ghost este un blog public care trebuie să fie accesibil de pe internet.
Pasul 2 – Configurarea domeniului și SSL (recomandat)
Dacă ați introdus un domeniu la comandă, acesta este deja configurat în Ghost. Direcționați înregistrarea DNS A a domeniului către IP-ul serverului, apoi conectați-vă prin SSH și activați SSL:
ssh root@your.server.ip
/opt/setup/get-ssl.sh your-domain.com
Scriptul va obține un certificat Let’s Encrypt, va configura Nginx pentru HTTPS și va actualiza automat URL-ul Ghost. După finalizare:
https://your-domain.com (blog)
https://your-domain.com/ghost/ (admin panel)
Schimbarea ulterioară a domeniului
Dacă trebuie să schimbați domeniul după configurare:
cd /var/www/ghost
sudo -u ghost ghost config url http://new-domain.com
sudo -u ghost ghost restart
sed -i "s/server_name .*/server_name new-domain.com;/" /etc/nginx/sites-available/ghost
nginx -t && systemctl reload nginx
Apoi rulați /opt/setup/get-ssl.sh new-domain.com pentru a obține un certificat SSL pentru noul domeniu.
După instalare
Fail2Ban – protecție împotriva atacurilor brute-force
Serverul dumneavoastră include Fail2Ban preconfigurat pentru a proteja SSH împotriva atacurilor brute-force.
| Regulă | Încercări maxime | Durata blocării |
|---|---|---|
| SSH | 5 autentificări eșuate | 10 minute |
Comenzi utile:
# Check banned IPs
fail2ban-client status sshd
# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4
Dacă vă blocați accidental, conectați-vă prin consola VNC din panoul clientului și deblocați-vă IP-ul.
Administrarea conținutului
În panoul de administrare puteți:
- Posts – crea articole de blog cu editorul avansat (Markdown, imagini, conținut încorporat, carduri)
- Pages – crea pagini statice (Despre, Contact etc.)
- Tags – organiza conținutul cu etichete și etichete interne
- Members – administra abonații și abonamentele plătite
- Newsletters – trimite newslettere prin e-mail abonaților
Personalizarea temei
Ghost vine implicit cu tema Casper . Pentru a schimba sau personaliza temele:
- Settings > Design – personalizați culorile, fonturile și branding-ul
- Settings > Design > Change theme – instalați o temă nouă din Ghost Marketplace sau încărcați un fișier ZIP
Fișierele temelor sunt stocate în /var/www/ghost/content/themes/.
Backup-uri
Ghost are un export integrat în Settings > Labs > Export (backup JSON al articolelor și setărilor). Pentru un backup complet, inclusiv imagini și baza de date:
# Content and themes
tar czf /root/ghost-backup-$(date +%Y%m%d).tar.gz /var/www/ghost/content
# MySQL database
mysqldump ghost > /root/ghost-db-$(date +%Y%m%d).sql
Administrarea serviciilor
# Check Ghost status
cd /var/www/ghost && sudo -u ghost ghost status
# Restart Ghost
cd /var/www/ghost && sudo -u ghost ghost restart
# View Ghost logs
cd /var/www/ghost && sudo -u ghost ghost log
# Stack services (managed by systemd)
systemctl status mysql nginx
Actualizări
# Update Ghost
cd /var/www/ghost
sudo -u ghost ghost update
# Update OS packages
apt update && apt upgrade -y
Software inclus
| Componentă | Versiune |
|---|---|
| Ubuntu | 24.04 LTS |
| Ghost | 5.x |
| Node.js | 22.x LTS |
| MySQL | 8.x |
| Nginx | 1.24 |
| Certbot | Cea mai recentă |
| Fail2Ban | 1.0.2 |
Depanare
| Problemă | Soluție |
|---|---|
| 502 Bad Gateway | Este posibil ca Ghost să nu ruleze. Reporniți: cd /var/www/ghost && sudo -u ghost ghost restart |
| Nu vă puteți autentifica în panoul de administrare | Folosiți e-mailul și parola din comandă. Parola trebuie să aibă cel puțin 10 caractere |
| Certificatul SSL a eșuat | Verificați că înregistrarea DNS A indică IP-ul serverului. Detalii în /opt/setup/get-ssl.log |
| Actualizarea Ghost eșuează | Verificați compatibilitatea Node.js: node --version. Vedeți Ghost Node.js support |
| Eroare de conectare la MySQL | Verificați MySQL: systemctl status mysql. Reporniți dacă este necesar: systemctl restart mysql |
| No space left on device | Verificați discul: df -h /. Ștergeți temele nefolosite din /var/www/ghost/content/themes/ |
| Blocat de Fail2Ban | Deblocați-vă IP-ul prin consola VNC din panoul clientului |
| Ați uitat parola root | Resetați-o prin consola VNC din panoul clientului |