Jak samodzielnie hostować i instalować Ghost na serwerze Linux

Jak samodzielnie hostować i instalować Ghost na serwerze Linux

Ghost to program do zarządzania treścią typu open source, który umożliwia łatwe tworzenie bloga i usługi biuletynu. Możesz zdecydować się na subskrypcję usługi Ghost(Pro), aby korzystać z CMS, lub, jeśli masz bardziej techniczne możliwości, samodzielnie hostować ją na swoim serwerze. Tutaj pokażemy ci to drugie – Ghost z własnym hostem na twoim serwerze Linux.

Dlaczego powinieneś samodzielnie hostować Ghost na swoim serwerze

Jedną z zalet bloga Ghost jest to, że zapewnia zintegrowaną, pełną funkcji platformę, która działa od razu po wyjęciu z pudełka. Obejmuje to możliwość śledzenia analiz, zarabiania na postach i tworzenia automatycznych biuletynów dla subskrybentów.

Zrzut ekranu panelu kontrolnego Ghost.

Zainstalowanie Ghosta na serwerze pozwala Ci być wydawcą bez konieczności polegania na osobach trzecich w zakresie zarządzania Twoimi danymi. Może to być pomocne, jeśli jesteś dziennikarzem publikującym krytyczne artykuły na kontrowersyjne tematy.

Wreszcie, Ghost jest łatwy we wdrożeniu i utrzymaniu, nawet dla użytkowników nietechnicznych. W przeciwieństwie do tradycyjnych platform CMS, Ghost zapewnia kompleksowe rozwiązanie, które możesz „ustawić i zapomnieć” na swoim komputerze hostingowym.

Instalowanie Ghosta na serwerze

Założenie : Zanim zaczniemy, zakładamy, że masz już dostępny serwer Linux i nazwę domeny, na której będziesz hostować instalację Ghost. Jeśli chcesz wynająć serwer Linux, polecamy DigitalOcean lub Linode .

Ponieważ będziemy używać Dockera, będziemy musieli najpierw zainstalować Dockera na serwerze.

1. Zainstaluj klucz publiczny repozytorium projektu Docker:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

2. Utwórz nowy plik repozytorium w katalogu konfiguracyjnym apt na swoim komputerze:

sudo nano /etc/apt/sources.list.d/docker.list

3. Wklej następujący wiersz kodu do nowego pliku repozytorium:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

4. Odśwież listę repozytoriów swojego systemu i zaktualizuj istniejące pliki binarne na swoim komputerze:

sudo apt updatesudo apt upgrade

5. Zainstaluj Docker i Docker Compose wraz z ich zależnościami:

sudo apt install wget docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

6. Dodaj swojego użytkownika do grupy Docker

sudo usermod -aG docker $USER

7. Ustaw usługę Docker tak, aby uruchamiała się przy uruchomieniu:

sudo systemctl enable docker.service

8. Zrestartuj serwer.

sudo reboot

Konfigurowanie Gmaila do dostarczania SMTP

Ghost nie ma własnego klienta dostarczania poczty e-mail, więc musimy podłączyć go do Gmaila, aby móc dostarczać pocztę.

1. Otwórz przeglądarkę internetową i zaloguj się na konto Gmail, które chcesz połączyć z instancją Ghost.

2. Kliknij ikonę profilu swojego konta, a następnie kliknij „Zarządzaj swoim kontem Google”.

3. Wybierz kategorię „Bezpieczeństwo”, a następnie kliknij opcję „Weryfikacja dwuetapowa” w podkategorii „Jak logujesz się do Google”.

Zrzut ekranu przedstawiający proces weryfikacji dwuetapowej dla kont Gmail.

4. Zweryfikuj swój numer telefonu i włącz weryfikację dwuetapową .

5. Wróć do kategorii „Bezpieczeństwo”, a następnie ponownie kliknij opcję „Weryfikacja dwuetapowa”. Spowoduje to otwarcie nowego ekranu menu, w którym możesz ustawić nowe klucze dodatkowe dla swojego konta. Przewiń stronę w dół i kliknij „Hasła do aplikacji”.

Zrzut ekranu przedstawiający

6. Wybierz „Poczta” z pierwszej listy rozwijanej, a następnie wybierz „Inne” z drugiej.

7. Wpisz „Gmail dla Ghost” w polu tekstowym, a następnie kliknij „Generuj”. Otworzy się okno z żółtym polem tekstowym zawierającym niestandardowe hasło do aplikacji.

Zrzut ekranu przedstawiający wygenerowane hasło do aplikacji Ghost.

Budowanie kontenera Docker

1. Utwórz nowy katalog na pliki dockerfile instalacji Ghost:

mkdir ~/ghost
cd ~/ghost

2. Utwórz nowy plik docker-compose.yml, korzystając z ulubionego edytora tekstu:

nano. /docker-compose.yml

3. Wklej następujący blok kodu do nowego pliku docker-compose.yml i zapisz go.

---
version: "3"
services:
ghost:
image: ghost:latest
restart: always
ports:
- 8080:2368
environment:
database__client: mysql
database__connection__host: db
database__connection__database: ghost
database__connection__user: ghost
database__connection__password: ghost
url: ${GHOST_URL}
mail__transport: ${MAIL_TRANSPORT}
mail__options__host: ${MAIL_HOST}
mail__options__port: ${MAIL_PORT}
mail__options__secureConnection: ${MAIL_SECURE_CONNECTION}
mail__options__auth__user: ${MAIL_USER}
mail__options__auth__pass: ${MAIL_PASSWORD}
volumes:
- ghost-data:/var/lib/ghost/content
links:
- db
db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ghost
MYSQL_USER: ghost
MYSQL_PASSWORD: ghost
cap_add:
- SYS_NICE
volumes:
- ghost-db:/var/lib/mysql
volumes:
ghost-data: null
ghost-db: null

4. Utwórz plik „.env” w katalogu dokowanym Ghost:

nano. /.env

5. Wklej następujący blok kodu do pliku new. plik env:

# URLGHOST_URL="#REPLACE_ME_WITH_DOMAIN_NAME#"# DatabaseMYSQL_ROOT_PASSWORD="#REPLACE_ME_WITH_SECURE_PASSWORD#"# SMTP variablesMAIL_SERVICE="Gmail"MAIL_TRANSPORT="SMTP"MAIL_USER="#REPLACE_ME_WITH_YOUR_GMAIL_ADDRESS#"MAIL_PASSWORD="#REPLACE_ME_WITH_YOUR_APP_PASSWORD#"MAIL_HOST="smtp.gmail.com"MAIL_PORT="465"MAIL_SECURE_CONNECTION="true"

  • Zmień wartość zmiennej „GHOST_URL” z „#REPLACE_ME_WITH_DOMAIN_NAME#” na pełną nazwę domeny.
Terminal pokazujący adres URL zdalnej instancji Ghost.
  • Zastąp wartość „MYSQL_ROOT_PASSWORD” wystarczająco losowym hasłem.
  • Zmień wartość „MAIL_USER” i „MAIL_PASSWORD” za pomocą adresu e-mail swojego konta Gmail i hasła do aplikacji.

6. Zbuduj kontener Ghost Docker, uruchamiając następującą komendę:

sudo docker compose up -d

Konfigurowanie zwrotnego serwera proxy

Gdy Ghost działa w backendzie, musimy skonfigurować odwrotne proxy, aby móc uzyskać publiczny dostęp do Ghost. W tym przypadku użyjemy odwrotnego proxy Nginx .

1. Zainstaluj pakiet serwera WWW Nginx. Będzie to służyć jako demon odwrotnego proxy, który przejmie połączenia z Internetu i przekieruje je do Ghost.

sudo apt install nginx

2. Utwórz nowy plik konfiguracyjny witryny Nginx, korzystając z ulubionego edytora tekstu:

sudo nano /etc/nginx/sites-available/ghost

3. Wklej następujący blok kodu do pliku konfiguracyjnego nowej witryny:

server {
listen 80;
listen [::]:80;

root /var/www/html;
server_name ghost.myvpsserver.top;


location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8080;
}}

4. Utwórz dowiązanie symboliczne do konfiguracji witryny Ghost:

sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/

5. Włącz usługę serwera WWW Nginx za pomocą systemctl:

sudo systemctl enable --now nginx.service

Włączanie protokołu SSL na odwrotnym serwerze proxy Nginx

1. Upewnij się, że w komputerze znajduje się pakiet Snap „core”:

sudo snap install core

2. Zainstaluj pakiet snap certbot:

sudo snap install certbot --classic

3. Zarejestruj instalację certbota na swój adres e-mail, uruchamiając następującą komendę:

sudo certbot register --agree-tos --email ramces@email.invalid

4. Poproś o nowy certyfikat SSL dla swojego bloga Ghost:

sudo certbot --nginx -d ghost.myvpsserver.top

5. Sprawdź, czy Twoja nowa instancja Ghost jest dostępna poprzez SSL, otwierając przeglądarkę internetową i ładując nazwę swojej domeny.

Zrzut ekranu przedstawiający działającą instancję Ghost ze zdalnego serwera.

Uruchamianie Ghosta na komputerze lokalnym

Jeśli nie masz serwera i chcesz zainstalować Ghost na swoim komputerze lokalnym, też możesz. Ponadto możesz skorzystać z Tailscale, aby uzyskać do niego dostęp w dowolnym miejscu w przeglądarce.

1. Zainstaluj demona Tailscale VPN na swoim komputerze i połącz go ze swoim kontem Tailscale. Przejdź do konsoli administratora Tailscale i kliknij zakładkę „DNS” na górnym pasku konsoli.

Zrzut ekranu przedstawiający kartę DNS w konsoli administracyjnej Tailscale.

2. Kliknij przycisk „Zmień nazwę sieci ogonowej…” w podkategorii „Nazwa sieci ogonowej”.

Zrzut ekranu przedstawiający

3. Ustaw nazwę hosta swojej maszyny na „ghost”, a następnie nową subdomenę dla sieci Tailscale:

sudo hostnamectl set-hostname ghost.your-tailnet.ts.net

Włączanie lejka ogonowego

1. Otwórz konsolę administratora Tailscale i kliknij zakładkę „DNS”.

2. Przewiń w dół strony i kliknij „Włącz HTTPS…”

Zrzut ekranu przedstawiający opcję HTTPS dla hostów Tailscale.

3. Przewiń z powrotem do góry strony, a następnie kliknij zakładkę „Kontrola dostępu”.

Zrzut ekranu przedstawiający

4. Kliknij przycisk „Dodaj lejek do polityki”.

Zrzut ekranu przedstawiający

5. Uruchom następującą komendę, aby utworzyć odwrotne proxy między Tailscale a lokalnym kontenerem Docker:

sudo tailscale serve https / http://127.0.0.1:8080

6. Włącz lejek Tailscale dla swojego zwrotnego proxy, uruchamiając następującą komendę:

sudo tailscale funnel 443 on

7. Sprawdź, czy Twoja nowa instancja Ghost jest dostępna poprzez lejek Tailscale, otwierając przeglądarkę internetową i ładując adres Tailscale.

Zrzut ekranu przedstawiający działającą instalację Ghost na Tailscale.

Korzystanie z Ghosta po raz pierwszy

1. Otwórz przeglądarkę internetową i przejdź do adresu URL instalacji Ghost, a następnie do podkatalogu „/ghost”.

Zrzut ekranu paska adresu przeglądarki internetowej pokazujący poprawny adres URL strony konfiguracji Ghost.

2. Kliknij pierwsze pole i podaj nazwę swojego nowego bloga Ghost. Wypełnij pozostałe pola szczegółowymi informacjami o administratorze, a następnie kliknij „Utwórz konto i rozpocznij publikowanie”.

Zrzut ekranu przedstawiający

Tworzenie pierwszego postu w Ghost

1. Kliknij przycisk „Napisz swój pierwszy post” na stronie wprowadzenia Ghost.

Zrzut ekranu przedstawiający stronę zawierającą pierwsze kroki dotyczące wejścia na pokład Ghost.

2. Spowoduje to wyświetlenie edytora zwykłego tekstu, w którym możesz napisać prosty post tekstowy. Po zakończeniu kliknij „Opublikuj”, aby utworzyć nowy post testowy.

3. Sprawdź stronę główną Ghost, aby zobaczyć, czy nowy post został przesłany.

Dodawanie nowego użytkownika do Ghost

1. Wróć do konsoli administratora Ghost, a następnie kliknij „Członkowie” na lewym pasku bocznym strony.

2. Kliknij przycisk „Nowy członek” w prawym górnym rogu strony.

Zrzut ekranu przedstawiający listę członków bieżącej instancji Ghost.

3. Podaj dane nowego członka, a następnie kliknij „Zapisz”, aby dodać go do kanału biuletynu bloga.

Często Zadawane Pytania

Czy Tailscale Lejek ma jakieś ograniczenia?

Tak. Domyślnie możesz udostępniać ruch w Tailscale tylko przez trzy porty: 443, 8443 i 10000 i tylko przy użyciu protokołu TCP. Oznacza to, że nie będziesz mógł ujawnić żadnych usług online działających w czasie rzeczywistym, takich jak VoIP i serwery gier.

Czy mogę spersonalizować nazwę domeny Tailscale?

Nie. Dzieje się tak dlatego, że każdy adres DNS Tailscale jest dostosowany do Twojego konkretnego konta. Dzięki temu usługa może zidentyfikować Twoje maszyny spośród innych w większej sieci Tailscale.

Czy mój blog Ghost przestanie działać, gdy mój komputer będzie offline?

Tak. Jedną z wad hostingu na własnym sprzęcie jest to, że czas działania Twojej witryny zależy od sprawności Twojego komputera. Oznacza to, że za każdym razem, gdy Twoja maszyna hosta ulegnie awarii, nastąpi awaria Twojego bloga Ghost.

Zdjęcie: KOMUNIKACJA W BIURZE PRACY OSOBY KORZYSTAJĄCE Z KONCEPCJI BLOGA KOMPUTEROWEGO i tradycyjnego ciasteczka halloweenowego-ducha autorstwa 123RF.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *