Android

Jak zainstalować Ghosta na Ubuntu 18.04

LINUX КУХНЯ: UBUNTU 18.04 и NVIDIA DRIVER

LINUX КУХНЯ: UBUNTU 18.04 и NVIDIA DRIVER

Spisu treści:

Anonim

Ghost to nowoczesna źródłowa platforma wydawnicza zbudowana na platformie Node.js. Jest w pełni konfigurowalny i łatwy w użyciu, dzięki czemu możesz publikować swoje treści z niemal zerową krzywą uczenia się.

W tym samouczku pokażemy, jak wdrożyć bezpieczny blog Ghost na serwerze Ubuntu 18.04 przy użyciu Nginx jako proxy, darmowego certyfikatu Let's Encrypt SSL, najnowszej wersji Lode Node.js oraz MySQL / MariaDB jako backend bazy danych.

Wymagania wstępne

Aby wykonać ten samouczek, musisz:

  • Zgodnie z oficjalnymi wymaganiami systemu Ghost potrzebujesz co najmniej 1G pamięci RAM. Jeśli masz serwer z mniej niż 1 GB pamięci RAM, możesz utworzyć plik wymiany. Nazwa domeny wskazująca adres IP twojego publicznego serwera. W tym samouczku wykorzystamy example.com .Nginx zainstalowany zgodnie z instrukcją instalacji Nginx na Ubuntu 18.04. Firewall skonfigurowany zgodnie z instrukcją Konfigurowanie zapory ogniowej z UFW na Ubuntu 18.04. Upewnij się, że porty 80 i 443 są otwarte.

Przed kontynuowaniem tego samouczka upewnij się, że jesteś zalogowany jako użytkownik z uprawnieniami sudo.

Instalowanie Node.js i Yarn

W chwili pisania tego artykułu zalecaną wersją Node.js dla Ghost jest wersja LTS Carbon 8. Zainstalujemy Node.js z repozytorium NodeSource.

Włącz repozytorium NodeSource dla Node.js v8 za pomocą następującego polecenia curl:

curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -

Zainstaluj Node.js, wpisując:

sudo apt install nodejs Aby zapoznać się z innymi metodami instalacji, zapoznaj się z naszym przewodnikiem Jak zainstalować Node.js w przewodniku Ubuntu 18.04.

Aby zainstalować przędzę, najpierw włącz repozytorium przędzy w systemie za pomocą następujących poleceń:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Po włączeniu repozytorium zainstaluj przędzę z:

sudo apt update sudo apt-get -o Dpkg::Options::="--force-overwrite" install yarn

Instalowanie MySQL

Ghost obsługuje bazy danych MySQL, MariaDB i SQLite. W tym samouczku będziemy używać MySQL, który jest zalecaną bazą danych, gdy uruchomisz Ghost w trybie produkcyjnym.

Zainstaluj pakiet MySQL za pomocą następującego polecenia:

sudo apt install mysql-server

Uruchom komendę mysql_secure_installation aby poprawić bezpieczeństwo instalacji MySQL:

sudo mysql_secure_installation

Zostaniesz poproszony o skonfigurowanie VALIDATE PASSWORD PLUGIN która służy do testowania siły haseł użytkowników MySQL. Istnieją trzy poziomy zasad sprawdzania poprawności hasła: niski, średni i silny. Naciśnij ENTER jeśli nie chcesz konfigurować wtyczki sprawdzania poprawności hasła.

W następnym monicie zostaniesz poproszony o ustawienie hasła dla użytkownika root MySQL.

Po ustawieniu hasła użytkownika root skrypt poprosi również o usunięcie anonimowego użytkownika, ograniczenie dostępu użytkownika root do komputera lokalnego i usunięcie testowej bazy danych. Na wszystkie pytania powinieneś odpowiedzieć Y (tak).

Następnie musimy zmienić metodę uwierzytelniania z auth_socket na mysql_native_password , aby instalator Ghost mógł uzyskać dostęp do naszego serwera MySQL. Aby to zrobić, zaloguj się na serwerze MySQL jako użytkownik root:

sudo mysql

i uruchom następującą kwerendę, która ustawi hasło użytkownika root MySQL podczas korzystania z metody mysql_native_password :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_pasword'; FLUSH PRIVILEGES;

Upewnij się, że very_strong_pasword bardzo silne hasło, używając silnego hasła.

Instalowanie Ghost-CLI

Zainstalujemy Ghost przy użyciu oficjalnego narzędzia Ghost CLI. To narzędzie pozwala zainstalować lub zaktualizować Ghost za pomocą jednego polecenia.

Interfejs Ghost CLI jest dostępny jako pakiet npm. Następujące polecenie zainstaluje Ghost CLI na całym świecie w systemie Ubuntu:

sudo yarn global add ghost-cli

Tworzenie lokalizacji instalacji Ghost

Pobieramy i instalujemy Ghosta w katalogu /var/www/ghost , który jest zalecanym miejscem instalacji.

Aby utworzyć typ katalogu:

sudo mkdir -p /var/www/ghost

Zmień własność katalogu na swojego użytkownika:

sudo chown $USER:$USER /var/www/ghost

$USER to zmienna środowiskowa, która przechowuje twoją nazwę użytkownika.

Ustaw prawidłowe uprawnienia do katalogu:

sudo chmod 775 /var/www/ghost

Instalowanie Ducha

Teraz, gdy masz zainstalowany Ghost CLI i wszystkie wymagania wstępne są spełnione, możemy zacząć od instalacji.

Przejdź do katalogu /var/www/ghost .

cd /var/www/ghost

Aby rozpocząć instalację, uruchom ghost install , który zainstaluje i skonfiguruje Ghosta, skonfiguruj Nginx jako odwrotne proxy i zabezpiecz stronę za pomocą darmowego szyfrowania certyfikatu SSL.

ghost install

✔ Checking system Node.js version ✔ Checking logged in user ✔ Checking current folder permissions System checks failed with message: 'Linux version is not Ubuntu 16' Some features of Ghost-CLI may not work without additional configuration. For local installs we recommend using `ghost install local` instead. ? Continue anyway? (y/N) y

Instalator sprawdzi system i wydrukuje niektóre ostrzeżenia, jak pokazano powyżej. Wpisz y aby kontynuować, a następnie instalator pobierze i zainstaluje Ghost:

ℹ Checking operating system compatibility ✔ Checking for a MySQL installation ✔ Checking memory availability ✔ Checking for latest Ghost version ✔ Setting up install directory ✔ Downloading and installing Ghost v1.24.9 ✔ Finishing install process

Następnie zostaniesz poproszony o ustawienie adresu URL bloga i informacji MySQL. Podaj nazwę użytkownika root i hasło, które skonfigurowaliśmy w sekcji Installing MySQL i użyj domyślnej nazwy bazy danych ghost_prod .

? Enter your blog URL: https://example.com ? Enter your MySQL hostname: localhost ? Enter your MySQL username: root ? Enter your MySQL password: ? Enter your Ghost database name: ghost_prod

Instalator utworzy użytkownika systemu o nazwie ghost i zapyta, czy chcesz utworzyć ducha użytkownika MySQL, wpisz Yes .

✔ Configuring Ghost ✔ Setting up instance Running sudo command: chown -R ghost:ghost /var/www/ghost/content ✔ Setting up "ghost" system user ? Do you wish to set up "ghost" mysql user? Yes ✔ Setting up "ghost" mysql user

Następnie instalator zapyta, czy chcesz skonfigurować Nginx. Potwierdź, wpisując Yes .

? Do you wish to set up Nginx? Yes ✔ Creating nginx config file at /var/www/ghost/system/files/example.com.conf Running sudo command: ln -sf /var/www/ghost/system/files/example.com.conf /etc/nginx/sites-available/example.com.conf Running sudo command: ln -sf /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf Running sudo command: nginx -s reload ✔ Setting up Nginx

Po skonfigurowaniu Nginx instalator zapyta Cię, czy chcesz skonfigurować SSL. Potwierdź, wpisując Yes a kreator konfiguracji poprosi o podanie adresu e-mail, a następnie wygeneruje bezpłatny certyfikat Let's Encrypt SSL dla Twojej domeny i skonfiguruje Nginx.

? Do you wish to set up SSL? Yes ? Enter your email (used for Let's Encrypt notifications) [email protected] Running sudo command: mkdir -p /etc/letsencrypt Running sudo command:./acme.sh --install --home /etc/letsencrypt Running sudo command: /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --domain example.com --webroot /var/www/ghost/system/nginx-root --reloadcmd "nginx -s reload" --accountemail [email protected] Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048 Running sudo command: mv /tmp/ssl-params.conf /etc/nginx/snippets/ssl-params.conf ✔ Creating ssl config file at /var/www/ghost/system/files/example.com-ssl.conf Running sudo command: ln -sf /var/www/ghost/system/files/example.com-ssl.conf /etc/nginx/sites-available/example.com-ssl.conf Running sudo command: ln -sf /etc/nginx/sites-available/example.com-ssl.conf /etc/nginx/sites-enabled/example.com-ssl.conf Running sudo command: nginx -s reload ✔ Setting up SSL

Następnie instalator zapyta, czy chcesz skonfigurować usługę systemową. Wpisz Y aby zaakceptować, a instalator utworzy nową usługę systemową o nazwie ghost_example-com i umożliwi jej uruchomienie przy starcie:

? Do you wish to set up Systemd? Yes ✔ Creating systemd service file at /var/www/ghost/system/files/ghost_example-com.service Running sudo command: ln -sf /var/www/ghost/system/files/ghost_example-com.service /lib/systemd/system/ghost_example-com.service Running sudo command: systemctl daemon-reload ✔ Setting up Systemd

Na koniec instalator skonfiguruje bazę danych i zapyta, czy chcesz uruchomić program Ghost, wpisz Yes .

Running sudo command: /var/www/ghost/current/node_modules/.bin/knex-migrator-migrate --init --mgpath /var/www/ghost/current ✔ Running database migrations ? Do you want to start Ghost? Yes Running sudo command: systemctl is-active ghost_example-com ✔ Ensuring user is not logged in as ghost user ✔ Checking if logged in user is directory owner ✔ Checking current folder permissions Running sudo command: systemctl is-active ghost_example-com ✔ Validating config ✔ Checking folder permissions ✔ Checking file permissions ✔ Checking content folder ownership ✔ Checking memory availability Running sudo command: systemctl start ghost_example-com ✔ Starting Ghost Running sudo command: systemctl is-enabled ghost_example-com Running sudo command: systemctl enable ghost_example-com --quiet ✔ Starting Ghost You can access your publication at https://example.com Next, go to your admin interface at https://example.com/ghost/ to complete the setup of your publication Ghost uses direct mail by default To set up an alternative email method read our docs at

Ukończ konfigurację Ghost

Otwórz przeglądarkę, przejdź do interfejsu administratora Ghost na https://example.com/ghost/ a zostanie wyświetlony następujący ekran:

Stąd możesz tworzyć nowe posty, dodawać użytkowników i zmieniać konfigurację Ghosts.

Wniosek

W tym samouczku nauczyłeś się instalować gotową instancję Ghost.

Powinieneś teraz odwiedzić stronę pomocy Ghost i dowiedzieć się więcej o tym, jak zarządzać instalacją Ghosta. Możesz także odwiedzić Ghost Marketplace i odkryć motywy Ghost.

blog ghost nodejs npm ubuntu