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 |
|---|---|---|
| SSH | 5 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 |
|---|---|
| Ubuntu | 24.04 LTS |
| Ghost | 5.x |
| Node.js | 22.x LTS |
| MySQL | 8.x |
| Nginx | 1.24 |
| Certbot | Najnovšia |
| Fail2Ban | 1.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 |