Ghost: Różnice pomiędzy wersjami

 
(Nie pokazano 26 wersji utworzonych przez 3 użytkowników)
Linia 5: Linia 5:
 
Do uruchomienia Ghost należy najpierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
 
Do uruchomienia Ghost należy najpierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
 
* Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]].
 
* Domena jest prawidłowo dodana i skonfigurowana w naszym systemie [[DNS]].
* Została dodana [[Strona WWW]] z wskazaniem typu Node.js.
+
* Została dodana [[Strona WWW]] z wskazaniem typu Node.js w wersji 18.
 +
* Został dodany certyfikat SSL dla domeny (można wygenerować w panelu darmowy, uznawany certyfikat SSL Let's Encrypt).
 
* Włączono możliwość korzystania z własnego oprogramowania - [[Binexec]].
 
* Włączono możliwość korzystania z własnego oprogramowania - [[Binexec]].
 +
* Wykonano [[Node.js#Wstępna_konfiguracja|wstępną konifgurację]] Node.js wraz z ustawieniem Node 18.
 
* Utworzono bazę danych [[MySQL]].
 
* Utworzono bazę danych [[MySQL]].
 +
* Zarezerwowano [[Rezerwacja_portów|jeden port TCP]] (wymagany w trakcie instalacji poprzez ghost-cli).
  
 
=== Instalacja ===
 
=== Instalacja ===
  
Aby zainstalować Ghost należy najpierw [[logowanie|zalogować się]] na shellu ''MyDevil'' i przejść do katalogu <code class="directory">/usr/home/''login''/domains/''domena''/public_nodejs</code>.
+
* Aby zainstalować Ghost należy najpierw [[logowanie|zalogować się]] na ''MyDevil'' poprzez SSH i przejść do katalogu <code class="directory">~/domains/''domena''</code>. Gdzie "domena" to nazwa utworzonej uprzednio strony www: <syntaxhighlight lang="bash">cd ~/domains/domena </syntaxhighlight>
Pobrać pliki projektu Ghost: <syntaxhighlight lang="bash">fetch -o ghost.zip https://ghost.org/zip/ghost-latest.zip</syntaxhighlight>
+
 
Wypakować po czym usunąć archiwum: <syntaxhighlight lang="bash">unzip ghost.zip && rm ghost.zip</syntaxhighlight>
+
* Usunąć zawartość katalogu (usunie to wszystkie pliki w katalogu, należy zachować ostrożność, jak i sprawdzić czy jesteśmy w prawidłowym katalogu) poleceniem: <syntaxhighlight lang="bash">rm -R *</syntaxhighlight>
Zainstalować zależności: <syntaxhighlight lang="bash">npm install --production && npm install knex-migrator</syntaxhighlight>
+
* Zainstalować ghost-cli <syntaxhighlight lang="bash">npm i -g ghost-cli</syntaxhighlight>
Podać adres strony w konfiguracji Ghost, polecenie (pod <nowiki>http://domena.pl</nowiki> należy podać adres strony):<syntaxhighlight lang="bash"> sed --e "s#http://localhost:2368#http://domena.pl#g" ./core/server/config/defaults.json</syntaxhighlight>
+
* Uruchomić instalację Ghost wraz ze wskazaniem uprzednio zarezerwowanego portu (w przykładzie wskazano port 5555, należy go zmienić) <syntaxhighlight lang="bash">ghost install --no-setup-nginx --port 5555 </syntaxhighlight>
Edytować plik <code class="directory">core/server/config/env/config.production.json</code> poprzez ulubiony edytor (np. nano) w celu uzupełnienia ustawień dotyczących uprzednio utworzonej bazy danych.
+
 
Przed edycją:<code>
+
* Przy pytaniu o ''Enter your blog URL:'' podajemy adres domeny, poprzedzamy go ''https://''. Nie podajemy portu na końcu. Następne pytania dotyczą MySQL. Podajemy host serwera MySQL, nazwę użytkownika bazy, hasło do bazy oraz nazwę bazy. Przy pytaniach o utworzeniu użytkownika bazy danych ghost, skonfigurowania Nginx oraz  Systemd, startowaniu Ghost odpowiadamy '''n'''.
        "connection": {
+
 
            "host"    : "127.0.0.1",
+
* Skopiować utworzony plik konfiguracyjny: <syntaxhighlight lang="bash">cp config.production.json current/</syntaxhighlight>
            "user"    : "root",
+
 
            "password" : "",
+
* Utworzyć wymagane link symboliczy między current a public_nodejs: <syntaxhighlight lang="bash">ln -s current public_nodejs</syntaxhighlight>
            "database" : "ghost"
+
 
        }
+
* Utworzyć plik <code class="directory">app.js</code> z zawartością <code>''require("./index.js");</code>'' w public_nodejs poprzez polecenie: <syntaxhighlight lang="bash">echo "require(\"./index.js\");" >> public_nodejs/app.js</syntaxhighlight>
</code>
+
 
Przykład po edycji:<code>
+
* Utworzyć dostęp do logów: <syntaxhighlight lang="bash">mkdir logs && ln -s /usr/local/devil/logs/httpd/users/${USER}/$(basename `pwd`)/ ./logs/access</syntaxhighlight>
        "connection": {
+
 
            "host"    : "mysqlX.mydevil.net",
+
 
            "user"    : "m1234_nazwa",
 
            "password" : "hasło",
 
            "database" : "m1234_nazwa"
 
        }
 
</code>
 
Wgrać podstawową zawartość bazy: <syntaxhighlight lang="bash">NODE_ENV=production ./node_modules/.bin/knex-migrator init</syntaxhighlight>
 
Utworzyć plik <code class="directory">app.js</code> z zawartością <code>''require("./index.js");</code>'': <syntaxhighlight lang="bash">echo "require(\"./index.js\");" >> app.js</syntaxhighlight>
 
Usunąć plik index.html: <syntaxhighlight lang="bash">rm public/index.html</syntaxhighlight>
 
 
 
Panel administracyjny bloga znajduje się pod adresem <nowiki>http://domena.pl/ghost</nowiki> gdzie ''domena.pl'' to adres naszej strony, po zainstalowaniu Ghost należy wejść na podany adres w celu utworzenia konta administratora.
 
Panel administracyjny bloga znajduje się pod adresem <nowiki>http://domena.pl/ghost</nowiki> gdzie ''domena.pl'' to adres naszej strony, po zainstalowaniu Ghost należy wejść na podany adres w celu utworzenia konta administratora.
  
 
=== Odnośniki zewnętrzne ===
 
=== Odnośniki zewnętrzne ===
 
* [https://docs.ghost.org Dokumentacja Ghost]
 
* [https://docs.ghost.org Dokumentacja Ghost]
 +
*[https://ghost.org/docs/faq/node-versions/ Strona dokumentacji wskazująca wymagania wersji Node.js dla poszczególnych wersji Ghost]
  
 
[[Kategoria:Poradniki]]
 
[[Kategoria:Poradniki]]
 
[[Kategoria:Node.js]]
 
[[Kategoria:Node.js]]

Aktualna wersja na dzień 12:20, 4 lut 2024

Ghost to otwarty system blogowy publikowany na licencji MIT.

Wstępna konfiguracja

Do uruchomienia Ghost należy najpierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:

  • Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS.
  • Została dodana Strona WWW z wskazaniem typu Node.js w wersji 18.
  • Został dodany certyfikat SSL dla domeny (można wygenerować w panelu darmowy, uznawany certyfikat SSL Let's Encrypt).
  • Włączono możliwość korzystania z własnego oprogramowania - Binexec.
  • Wykonano wstępną konifgurację Node.js wraz z ustawieniem Node 18.
  • Utworzono bazę danych MySQL.
  • Zarezerwowano jeden port TCP (wymagany w trakcie instalacji poprzez ghost-cli).

Instalacja

  • Aby zainstalować Ghost należy najpierw zalogować się na MyDevil poprzez SSH i przejść do katalogu ~/domains/domena. Gdzie "domena" to nazwa utworzonej uprzednio strony www:
    cd ~/domains/domena
  • Usunąć zawartość katalogu (usunie to wszystkie pliki w katalogu, należy zachować ostrożność, jak i sprawdzić czy jesteśmy w prawidłowym katalogu) poleceniem:
    rm -R *
  • Zainstalować ghost-cli
    npm i -g ghost-cli
  • Uruchomić instalację Ghost wraz ze wskazaniem uprzednio zarezerwowanego portu (w przykładzie wskazano port 5555, należy go zmienić)
    ghost install --no-setup-nginx --port 5555
  • Przy pytaniu o Enter your blog URL: podajemy adres domeny, poprzedzamy go https://. Nie podajemy portu na końcu. Następne pytania dotyczą MySQL. Podajemy host serwera MySQL, nazwę użytkownika bazy, hasło do bazy oraz nazwę bazy. Przy pytaniach o utworzeniu użytkownika bazy danych ghost, skonfigurowania Nginx oraz Systemd, startowaniu Ghost odpowiadamy n.
  • Skopiować utworzony plik konfiguracyjny:
    cp config.production.json current/
  • Utworzyć wymagane link symboliczy między current a public_nodejs:
    ln -s current public_nodejs
  • Utworzyć plik app.js z zawartością require("./index.js"); w public_nodejs poprzez polecenie:
    echo "require(\"./index.js\");" >> public_nodejs/app.js
  • Utworzyć dostęp do logów:
    mkdir logs && ln -s /usr/local/devil/logs/httpd/users/${USER}/$(basename `pwd`)/ ./logs/access


Panel administracyjny bloga znajduje się pod adresem http://domena.pl/ghost gdzie domena.pl to adres naszej strony, po zainstalowaniu Ghost należy wejść na podany adres w celu utworzenia konta administratora.

Odnośniki zewnętrzne