Table of Contents

Ghost - príručka pre začiatočníkov

Ghost je open-source platforma na blogy a publikovanie s moderným editorom, členstvom, newslettermi a vstavaným SEO. Server obsahuje predinštalované Ghost, MySQL, Nginx a Certbot – doména, e-mail administrátora a heslo, ktoré ste zadali pri objednávke, sú už nastavené.


Krok 1 – Overte, že Ghost funguje

IP adresa a heslo root vášho servera sú uvedené na stránke Server Details v klientskom paneli. Blog je už dostupný cez IP adresu:

  • Blog: http://your.server.ip
  • Administrácia: http://your.server.ip/ghost/

Do administrácie sa prihláste e-mailom a heslom, ktoré ste zadali pri objednávke. Ak sa stránka načíta a môžete sa prihlásiť, Ghost funguje správne.

Ak ste server umiestnili za router VyOS v privátnej sieti, nastavte presmerovanie portov 22 (SSH), 80 (HTTP) a 443 (HTTPS). Ghost je verejný blog, ktorý musí byť dostupný z internetu.


Krok 2 – Nastavenie domény a SSL (odporúčané)

Ak ste pri objednávke zadali doménu, je už v Ghoste nastavená. Nasmerujte DNS A záznam domény na IP servera, potom sa pripojte cez SSH a zapnite SSL:

ssh root@your.server.ip
/opt/setup/get-ssl.sh your-domain.com

Skript získa certifikát Let’s Encrypt, nastaví Nginx pre HTTPS a automaticky aktualizuje URL Ghostu. Po dokončení:

https://your-domain.com          (blog)
https://your-domain.com/ghost/   (admin panel)

Neskoršia zmena domény

Ak potrebujete doménu po nastavení zmeniť:

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

Potom spustite /opt/setup/get-ssl.sh new-domain.com na získanie certifikátu SSL pre novú doménu.


Po inštalácii

Fail2Ban – ochrana proti útokom hrubou silou

Váš server obsahuje Fail2Ban predkonfigurovaný na ochranu SSH proti útokom hrubou silou.

Pravidlo Max. počet pokusov Doba blokovania
SSH5 neúspešných prihlásení10 minút

Užitočné príkazy:

# Check banned IPs
fail2ban-client status sshd

# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4

Ak sa omylom zablokujete, pripojte sa cez konzolu VNC v klientskom paneli a odblokujte svoju IP.

Správa obsahu

V administrácii môžete:

  • Posts – vytvárať články blogu v bohatom editore (Markdown, obrázky, vložený obsah, karty)
  • Pages – vytvárať statické stránky (O nás, Kontakt atď.)
  • Tags – organizovať obsah pomocou štítkov a interných štítkov
  • Members – spravovať odberateľov a platené členstvá
  • Newsletters – rozosielať e-mailové newslettery odberateľom

Prispôsobenie šablóny

Ghost sa v predvolenom stave dodáva so šablónou Casper . Zmena alebo prispôsobenie šablón:

  • Settings > Design – prispôsobenie farieb, písiem a brandingu
  • Settings > Design > Change theme – inštalácia novej šablóny z Ghost Marketplace alebo nahratie súboru ZIP

Súbory šablón sú uložené v /var/www/ghost/content/themes/.

Zálohy

Ghost má vstavaný export v Settings > Labs > Export (záloha príspevkov a nastavení v JSON). Na úplnú zálohu vrátane obrázkov a databázy:

# 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žieb

# 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

Aktualizácie

# Update Ghost
cd /var/www/ghost
sudo -u ghost ghost update

# Update OS packages
apt update && apt upgrade -y

Zahrnutý softvér

Komponent Verzia
Ubuntu24.04 LTS
Ghost5.x
Node.js22.x LTS
MySQL8.x
Nginx1.24
CertbotNajnovšia
Fail2Ban1.0.2

Riešenie problémov

Problém Riešenie
502 Bad Gateway Ghost možno nebeží. Reštartujte: cd /var/www/ghost && sudo -u ghost ghost restart
Nedá sa prihlásiť do administrácie Použite e-mail a heslo z objednávky. Heslo musí mať aspoň 10 znakov
Certifikát SSL zlyhal Overte, že DNS A záznam smeruje na IP servera. Podrobnosti nájdete v /opt/setup/get-ssl.log
Aktualizácia Ghostu zlyháva Skontrolujte kompatibilitu Node.js: node --version. Pozri Ghost Node.js support
Chyba pripojenia k MySQL Kontrola MySQL: systemctl status mysql. V prípade potreby reštartujte: systemctl restart mysql
No space left on device Kontrola disku: df -h /. Odstráňte nepoužívané šablóny v /var/www/ghost/content/themes/
Zablokované službou Fail2Ban Odblokujte svoju IP cez konzolu VNC v klientskom paneli
Zabudnuté heslo root Obnovte ho cez konzolu VNC v klientskom paneli