Table of Contents

Ghost - Przewodnik na start

Ghost to platforma open source do prowadzenia blogów i publikowania treści, wyposażona w nowoczesny edytor, system członkostwa, newslettery oraz wbudowane narzędzia SEO. Ten serwer zawiera już zainstalowane i skonfigurowane Ghost, MySQL, Nginx oraz Certbot. Domena, adres e-mail administratora i hasło podane podczas składania zamówienia zostały już skonfigurowane.


Krok 1 – Sprawdzenie działania Ghost

Adres IP serwera oraz hasło użytkownika root znajdziesz w sekcji Server Information na karcie Overview w panelu klienta. Blog jest już dostępny pod adresem IP:

  • Blog: http://your.server.ip
  • Panel administratora: http://your.server.ip/ghost/

Zaloguj się do panelu administratora przy użyciu adresu e-mail oraz hasła podanych podczas składania zamówienia. Jeżeli strona się wyświetla i możesz się zalogować, oznacza to, że Ghost działa poprawnie.

Jeżeli serwer znajduje się za routerem VyOS w sieci prywatnej, skonfiguruj przekierowanie portów 22 (SSH), 80 (HTTP) i 443 (HTTPS). Ghost jest publicznie dostępną platformą blogową i musi być osiągalny z Internetu.


Krok 2 – Konfiguracja domeny i SSL (zalecane)

Jeżeli podczas składania zamówienia podałeś domenę, została ona już skonfigurowana w Ghost. Skieruj rekord DNS typu A swojej domeny na adres IP serwera, a następnie połącz się przez SSH i włącz SSL:

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

Skrypt pobierze certyfikat Let’s Encrypt, skonfiguruje Nginx do obsługi HTTPS oraz automatycznie zaktualizuje adres URL Ghost. Po zakończeniu:

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

Zmiana domeny w przyszłości

Jeżeli po konfiguracji zajdzie potrzeba zmiany domeny:

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

Następnie uruchom /opt/setup/get-ssl.sh new-domain.com, aby uzyskać certyfikat SSL dla nowej domeny.


Po instalacji

Fail2Ban – Ochrona przed atakami brute-force

Na serwerze jest już skonfigurowany Fail2Ban, który chroni usługę SSH przed atakami brute-force.

Reguła Maksymalna liczba prób Czas blokady
SSH5 nieudanych logowań10 minut

Przydatne polecenia:

# Sprawdzenie zablokowanych adresów IP fail2ban-client status sshd # Odblokowanie adresu IP fail2ban-client set sshd unbanip 1.2.3.4

Jeżeli przypadkowo zablokujesz własny adres IP, połącz się z serwerem przez konsolę VNC w panelu klienta i odblokuj swój adres.

Zarządzanie treścią

W panelu administratora możesz:

  • Posts – tworzyć wpisy blogowe za pomocą rozbudowanego edytora (Markdown, obrazy, osadzone treści i karty)
  • Pages – tworzyć strony statyczne (O nas, Kontakt itp.)
  • Tags – organizować treści za pomocą tagów oraz tagów wewnętrznych
  • Members – zarządzać subskrybentami oraz płatnymi członkostwami
  • Newsletters – wysyłać newslettery e-mail do subskrybentów

Dostosowywanie motywu

Ghost domyślnie korzysta z motywu Casper. Aby zmienić lub dostosować motyw:

  • Settings > Design – dostosuj kolory, czcionki i elementy identyfikacji wizualnej
  • Settings > Design > Change theme – zainstaluj nowy motyw z Ghost Marketplace lub prześlij plik ZIP z własnym motywem

Pliki motywów znajdują się w katalogu /var/www/ghost/content/themes/.

Kopie zapasowe

Ghost posiada wbudowaną funkcję eksportu dostępną w Settings > Labs > Export (kopia wpisów i ustawień w formacie JSON). Aby wykonać pełną kopię zapasową obejmującą obrazy oraz bazę danych:

# Treści i motywy tar czf /root/ghost-backup-$(date +%Y%m%d).tar.gz /var/www/ghost/content # Baza danych MySQL mysqldump ghost > /root/ghost-db-$(date +%Y%m%d).sql

Zarządzanie usługą

# Sprawdzenie statusu Ghost cd /var/www/ghost && sudo -u ghost ghost status # Restart Ghost cd /var/www/ghost && sudo -u ghost ghost restart # Wyświetlenie logów Ghost cd /var/www/ghost && sudo -u ghost ghost log # Usługi zarządzane przez systemd systemctl status mysql nginx

Aktualizacje

# Aktualizacja Ghost cd /var/www/ghost sudo -u ghost ghost update # Aktualizacja pakietów systemowych apt update && apt upgrade -y

Zainstalowane oprogramowanie

Komponent Wersja
Ubuntu24.04 LTS
Ghost5.x
Node.js22.x LTS
MySQL8.x
Nginx1.24
CertbotNajnowsza
Fail2Ban1.0.2

Rozwiązywanie problemów

Problem Rozwiązanie
Błąd 502 Bad Gateway Usługa Ghost może nie działać. Uruchom ponownie: cd /var/www/ghost && sudo -u ghost ghost restart
Nie można zalogować się do panelu administratora Użyj adresu e-mail oraz hasła podanych podczas składania zamówienia. Hasło musi mieć co najmniej 10 znaków.
Nie udało się uzyskać certyfikatu SSL Sprawdź, czy rekord DNS typu A wskazuje na adres IP serwera. Szczegóły znajdziesz w pliku /opt/setup/get-ssl.log.
Aktualizacja Ghost kończy się błędem Sprawdź zgodność wersji Node.js: node –version. Więcej informacji znajdziesz w dokumentacji zgodności Node.js dla Ghost.
Błąd połączenia z MySQL Sprawdź status usługi MySQL: systemctl status mysql. W razie potrzeby uruchom ją ponownie: systemctl restart mysql.
Brak miejsca na dysku Sprawdź ilość wolnego miejsca: df -h /. Usuń nieużywane motywy z katalogu /var/www/ghost/content/themes/.
Adres IP został zablokowany przez Fail2Ban Połącz się z serwerem przez konsolę VNC w panelu klienta i odblokuj swój adres IP.
Nie pamiętasz hasła użytkownika root Użyj konsoli VNC dostępnej w panelu klienta, aby zresetować hasło.