Ghost - průvodce pro začátečníky
Ghost je open-source platforma pro blogy a publikování s moderním editorem, členstvím, newslettery a vestavěným SEO. Server obsahuje předinstalované Ghost, MySQL, Nginx a Certbot – doména, e-mail administrátora a heslo, které jste zadali při objednávce, jsou již nastaveny.
Krok 1 – Ověřte, že Ghost funguje
IP adresa a heslo root vašeho serveru jsou uvedeny na stránce Server Details v klientském panelu. Blog je už dostupný přes IP adresu:
- Blog:
http://your.server.ip - Administrace:
http://your.server.ip/ghost/
Do administrace se přihlaste e-mailem a heslem, které jste zadali při objednávce. Pokud se stránka načte a můžete se přihlásit, Ghost funguje správně.
Pokud jste server umístili za router VyOS v privátní síti, nastavte přesměrování portů 22 (SSH), 80 (HTTP) a 443 (HTTPS). Ghost je veřejný blog, který musí být dostupný z internetu.
Krok 2 – Nastavení domény a SSL (doporučeno)
Pokud jste při objednávce zadali doménu, je již v Ghostu nastavena. Nasměrujte DNS A záznam domény na IP serveru, pak se připojte přes SSH a zapněte SSL:
ssh root@your.server.ip
/opt/setup/get-ssl.sh your-domain.com
Skript získá certifikát Let’s Encrypt, nastaví Nginx pro HTTPS a automaticky aktualizuje URL Ghostu. Po dokončení:
https://your-domain.com (blog)
https://your-domain.com/ghost/ (admin panel)
Pozdější změna domény
Pokud potřebujete doménu po nastavení změnit:
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
Pak spusťte /opt/setup/get-ssl.sh new-domain.com pro získání certifikátu SSL pro novou doménu.
Po instalaci
Fail2Ban – ochrana proti útokům hrubou silou
Váš server obsahuje Fail2Ban předkonfigurovaný k ochraně SSH proti útokům hrubou silou.
| Pravidlo | Max. počet pokusů | Doba blokace |
|---|---|---|
| SSH | 5 neúspěšných přihlášení | 10 minut |
Užitečné příkazy:
# Check banned IPs
fail2ban-client status sshd
# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4
Pokud se omylem zablokujete, připojte se přes konzoli VNC v klientském panelu a odblokujte svou IP.
Správa obsahu
V administraci můžete:
- Posts – vytvářet články blogu v bohatém editoru (Markdown, obrázky, vložený obsah, karty)
- Pages – vytvářet statické stránky (O nás, Kontakt atd.)
- Tags – organizovat obsah pomocí štítků a interních štítků
- Members – spravovat odběratele a placená členství
- Newsletters – rozesílat e-mailové newslettery odběratelům
Přizpůsobení šablony
Ghost je ve výchozím stavu dodáván se šablonou Casper . Změna nebo přizpůsobení šablon:
- Settings > Design – přizpůsobení barev, písem a brandingu
- Settings > Design > Change theme – instalace nové šablony z Ghost Marketplace nebo nahrání souboru ZIP
Soubory šablon jsou uloženy v /var/www/ghost/content/themes/.
Zálohy
Ghost má vestavěný export v Settings > Labs > Export (záloha příspěvků a nastavení v JSON). Pro úplnou zálohu včetně obrázků a databáze:
# 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
Správa služeb
# 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
Aktualizace
# Update Ghost
cd /var/www/ghost
sudo -u ghost ghost update
# Update OS packages
apt update && apt upgrade -y
Zahrnutý software
| Komponenta | Verze |
|---|---|
| Ubuntu | 24.04 LTS |
| Ghost | 5.x |
| Node.js | 22.x LTS |
| MySQL | 8.x |
| Nginx | 1.24 |
| Certbot | Nejnovější |
| Fail2Ban | 1.0.2 |
Řešení problémů
| Problém | Řešení |
|---|---|
| 502 Bad Gateway | Ghost možná neběží. Restartujte: cd /var/www/ghost && sudo -u ghost ghost restart |
| Nelze se přihlásit do administrace | Použijte e-mail a heslo z objednávky. Heslo musí mít alespoň 10 znaků |
| Certifikát SSL selhal | Ověřte, že DNS A záznam směřuje na IP serveru. Podrobnosti najdete v /opt/setup/get-ssl.log |
| Aktualizace Ghostu selhává | Zkontrolujte kompatibilitu Node.js: node --version. Viz Ghost Node.js support |
| Chyba připojení k MySQL | Kontrola MySQL: systemctl status mysql. V případě potřeby restartujte: systemctl restart mysql |
| No space left on device | Kontrola disku: df -h /. Odstraňte nepoužívané šablony v /var/www/ghost/content/themes/ |
| Blokováno službou Fail2Ban | Odblokujte svou IP přes konzoli VNC v klientském panelu |
| Zapomenuté heslo root | Obnovte jej přes konzoli VNC v klientském panelu |