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.comSkrypt 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 nginxNastę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 |
|---|---|---|
| SSH | 5 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.4Jeż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).sqlZarzą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 nginxAktualizacje
# Aktualizacja Ghost cd /var/www/ghost sudo -u ghost ghost update # Aktualizacja pakietów systemowych apt update && apt upgrade -yZainstalowane oprogramowanie
| Komponent | Wersja |
|---|---|
| Ubuntu | 24.04 LTS |
| Ghost | 5.x |
| Node.js | 22.x LTS |
| MySQL | 8.x |
| Nginx | 1.24 |
| Certbot | Najnowsza |
| Fail2Ban | 1.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. |