W tym przewodniku dowiesz się jak zainstalować Ghost na serwerze produkcyjnym z Ubuntu 16.04 lub 18.04.

Wstęp

Pod koniec tego przewodnika będziesz miał w pełni skonfigurowaną instalację Ghost uruchomioną w produkcji przy użyciu MySQL.

Ta instalacja nie jest przeznaczona do użytku lokalnego.

Wymagania

Oficjalnie zalecana instalacja produkcyjna wymaga:

  • Ubuntu 16.04  Ubuntu 18.04
  • NGINX (minimum of 1.9.5 for SSL)
  • Odpowiednia wersja  Node.js
  • MySQL 5.5, 5.6, i 5.7 (nie >= 8.0)
  • Systemd
  • Serwer z minimum 1 GB RAM
  • Zarejstrowana domena

Przed rozpoczęciem pracy należy ustawić rekord A dla domeny, z której planujemy korzystać, wskazujący na adres IP serwera i upewnić się, że jest on prawidłowo skonfigurowany. Należy to zrobić z wyprzedzeniem, aby można było prawidłowo skonfigurować SSL podczas konfiguracji.


Konfiguracja serwera

W tej części przewodnika przygotujemy serwer do instalacji Ghost.

Tworzenie użytkownika 👋

Otwórz terminal i zaloguj się na serwer jako root:

# Logowanie przez SSH
ssh root@your_server_ip

# Tworzenie nowego użytkownika
adduser <user>

Uwaga: Użycie ghost  jako nazwy użytkownika powoduje konflikt z Ghost-CLI dla wybierz inną nazwę użytkownika. To ważne!

# Dodaj utworzonego użytkownika do grupy superuser aby nadać uprawnienia # aministratora
usermod -aG sudo <user>

# Zaloguj się jako nowy użytkownik
su - <user>

Aktualizacja pakietów

Zaktualizuj listę pakietów i upewnij się że są aktualne.

# Aktualizacja listy pakietów
sudo apt-get update

# Aktualizacja pakietów
sudo apt-get upgrade

Postępuj zgodnie ze wskazówkami, a jako hasło podaj to które utworzyłeś w poprzednicm kroku.

Instalacja NGINX

Ghost używa serwera NGINX, a konfiguracja SSL wymaga systemu NGINX 1.9.5 lub wyższego.

# instalacja NGINX
sudo apt-get install nginx

Jeżei ufw został aktywowany, firewall zezwala na połączenia HTTP i HTTPS .

sudo ufw allow 'Nginx Full'

Instalacja MySQL

Czas na instalację MySQL.

# Zainstaluj MySQL
sudo apt-get install mysql-server

MySQL na Ubuntu 18.04

Jeżeli instalujesz Ghost na Ubuntu 18.04 będzie wymagane hasło do MySQL

# Taby ustawić hasło do mysql
sudo mysql

# aktualizacja hasła użytkownika
# zamień 'password' na swoje hasło ale pamiętaj, 
# aby wpisać je w cudzysłowie!

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

# a teraz wyjdź z MySql
quit

# i zaloguj się ponownie do ubuntu 
su - <user>

Instalacja Node.js

Aby uniknąć problemów należy zainstalować wspieraną wersję Node w poniższy sposób. Inne ustawienia mogą powodować błędy.

# Dodaj repozytorium NodeSource APT dla Node 10
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash

# Zainstaluj Node.js
sudo apt-get install -y nodejs

Instalacja Ghost-CLI

Ghost-CLI to narzędzie wiersza poleceń, które pomoże Ci szybko i łatwo zainstalować i skonfigurować Ghost'a. Moduł npm może być zainstalowany z npm lub yarn.

sudo npm install ghost-cli@latest -g

Po zainstalowaniu, w każdej chwili możesz zobaczyć wszystkie dostępne komendy poprzez ghost help


Instalacja Ghost

Po prawidłowym skonfigurowaniu serwera i zainstalowaniu ghost-cli, możesz zainstalować Ghost. Poniższe kroki to zalecany sposób instalacji. Jeśli chcesz dopasować instalację do swoich potrzeb to CLI posiada flagi i opcje dzięki którym możesz dokonać instalacji niestandardowej.

Uwaga: Instalowanie Ghost w katalogu  /root lub home/<user> zakończy się niepowodzeniem. Ghost należy zainstalować w innym katalogu z odpowiednio ustawionymi uprawnieniami.

Tworzenie katalogu

Stwórz katalog dla swojej instalacji, a następnie ustaw właściciela i uprawnienia.

# W naszym przykładzie nazwiemy nasz katalog 'ghost';
#ale jeśli chcesz możesz użyć własnej nazwy
sudo mkdir -p /var/www/ghost

# Jako <user> użyj nazw, który będzie właścicielem katalogu
sudo chown <user>:<user> /var/www/ghost

# Ustaw właściwe uprawnienia
sudo chmod 775 /var/www/ghost

# Następnie przejdź do katalogu
cd /var/www/ghost

Uruchomienie procesu instalacji

Teraz możesz zainstalować Ghosta przy użyciu jednego polecenia 😀

ghost install

Opcje instalacji

Podczas instalacji, CLI zada szereg pytań w celu skonfigurowania Twojej strony.

Blog URL

Wprowadź dokładny adres URL, pod którym będzie dostępna Twoja publikacja. Dołącz protokół HTTP lub HTTPS np.  https://example.com. Jeśli użyjesz HTTPS, Ghost-CLI zaoferuje Ci zainstalowanie certyfikatu SSL. Nie używaj adresów IP bo będzie to powodowało błędy.

MySQL hostname

Teraz powinieneś określić gdzie znajduje się baza MySQL. Jeśli MySQL jest zainstalowana na tym samym serwerze, użyj localhost (naciśnij Enter, aby użyć domyślnej wartości). Jeśli MySQL jest zainstalowany na innym serwerze, wprowadź nazwę ręcznie.

MySQL username / password

Jeśli wcześniej utworzyłeś bazę MySQL podaj teraz nazwę użytkownika. W przeciwnym wypadku użyj root i podaj hasło.

Ghost database name

Podaj nazwę dla swojej bazy MySQL. Zostanie ona utworzona automatycznie. Jeżeli natomiast twój użytkownik nie posiada uprawnień root'a powinieneś użyć istniejącej już bazy danych. Pamiętaj o odpowiednich uprawnieniach.

Jeżeli w poprzednim kroku jako nazwę użytkownika użyłeś root to Ghost-CLI może stworzyć nowego użytkownika MySQL, który będzie miał dostęp tylko do twojej nowej bazy danych Ghost i niczego więcej.

Automatyczne ustawianie systemu NGINX umożliwia natychmiastowe opublikowanie Twojej strony. Ręczne konfigurowanie systemu NGINX jest możliwe, ale po co miałbyś wybierać trudniejszą drogę?

Jeśli dla Swojego Bloga użyłeś adresu URL z  https  a domena jest podpięta do serwera, Ghost-CLI może automatycznie skonfigurować dla Ciebie certyfikat SSL za pomocą Let's Encrypt. Alternatywnie możesz to zrobić później, uruchamiając w dowolnym momencie  ghost setup ssl.

Enter your email
Konfiguracja certyfikatu SSL wymaga podania adresu e-mail, abyś mógł być na bieżąco informowany o wszelkich problemach z certyfikatem, a także o konieczności jego odnawienia.

systemd  jest zalecanym narzędziem do zarządzania procesami, dzięki któremu Ghost działa płynnie. Zalecamy wybranie yes , ale jeśli chcesz to możesz  ustawienić własny system zarządzania procesami.

Start Ghost?

Jeżeli wybierzesz yes, Ghost zostanie uruchomiony a Twój blog zostanie opublikowany online.


Zarządzanie

Gdy Ghost jest prawidłowo skonfigurowany i uruchomiony, należy pamiętać o aktualizacjach oprogramowania i nadzorze administratora. Na szczęście, jest to stosunkowo łatwe do zrobienia przy użyciu Ghost-CLI. Uruchom ghost help, aby uzyskać listę dostępnych poleceń, lub zapoznaj się z pełną dokumentacją Ghost-CLI.


Nieudana instalacja

Jeśli instalacja się nie powiedzie, użyj ghost uninstall , aby ją usunąć i spróbuj ponownie. Jest to lepsze rozwiązanie niż usunięcie folderu, gdyż daje pewność, że wszystkie pliki i ustawienia nieudanej instalacji zostaną usunięte.

Jeśli instalacja zostanie przerwana lub połączenie zostanie utracone, użyj  ghost setup, aby ponownie uruchomić proces konfiguracji.

W celu rozwiązywania problemów i usuwania błędów, sprawdź dokumentację i FAQ.


Co dalej?

Wszystko gotowe! Teraz możesz zacząć dostosowywać swoją stronę. Zapoznaj się z tutorialami lub dokumentacją Ghost API gdzie znajdziesz wiele inspiracji i pomysłów jak możesz dopasować i rozwijać swoją stronę.

Pamiętaj, że ten tutorial nie służy do konfiguracji Ghost na lokalnym komputerze.