Table of Contents

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
SSH5 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
Ubuntu24.04 LTS
Ghost5.x
Node.js22.x LTS
MySQL8.x
Nginx1.24
CertbotNejnovější
Fail2Ban1.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