GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nasadit Ghost Blog s Nginx na Ubuntu 20.04

Ghost je bezplatná, open-source a odlehčená blogovací platforma postavená na Node.js. Je jednoduchý, přizpůsobitelný a umožňuje vám vytvářet a publikovat váš obsah na internetu. Je speciálně navržen pro blogování, takže je mnohem rychlejší než jiné platformy pro blogování. Nabízí bohatou sadu funkcí, některé z nich jsou uvedeny níže:

  • Editor Markdown
  • Plánované publikování
  • Poskytujte aplikaci pro Linux, Mac a Windows
  • Poskytuje stovky bezplatných a prémiových motivů
  • Vestavěná analytika
  • Poskytněte plugin pro migraci pro migraci z WordPress na Ghost

Tento tutoriál vysvětlí, jak nainstalovat Ghost s Nginx a Let's Encrypt SSL na Ubuntu 20.04.

Předpoklady

  • Server se systémem Ubuntu 20.04.
  • Platný název domény ukazující na IP adresu vašeho serveru.
  • Na vašem serveru je nakonfigurováno heslo uživatele root.

Začínáme

Nejprve se doporučuje aktualizovat mezipaměť balíčků APT na nejnovější verzi. Můžete jej aktualizovat pomocí následujícího příkazu:

apt-get update -y

Po aktualizaci mezipaměti APT nainstalujte další požadované závislosti pomocí následujícího příkazu:

apt-get install gnupg2 curl unzip git acl -y

Dále budete také muset nainstalovat Node.js do vašeho systému.

Nejprve přidejte úložiště Node.js pomocí následujícího příkazu:

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

Jakmile je úložiště nainstalováno, spusťte následující příkaz k instalaci souboru Node.js do vašeho systému.

apt-get install nodejs -y

Po dokončení instalace ověřte verzi Node.js pomocí následujícího příkazu:

node -v

Měli byste získat následující výstup:

v12.22.1

Dále ověřte verzi NPM pomocí následujícího příkazu:

npm -v

Měli byste získat následující výstup:

6.14.12

Instalovat Nginx a MariaDB

Dále budete muset do svého systému nainstalovat webový server Nginx a databázový server MariaDB. Oba balíčky můžete nainstalovat pomocí následujícího příkazu:

apt-get install mariadb-server nginx -y

Po dokončení instalace zabezpečte instalaci MariaDB a nastavte heslo roota MariaDB pomocí následujícího příkazu:

mysql_secure_installation

Odpovězte na všechny otázky, abyste zajistili instalaci MariaDB:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Dále se přihlaste do MariaDB pomocí následujícího příkazu:

mysql -u root -p

Po přihlášení vytvořte databázi a uživatele pro Ghost pomocí následujícího příkazu:

MariaDB [(none)]> CREATE DATABASE ghostdb;
MariaDB [(none)]> CREATE USER 'ghostuser'@'localhost' IDENTIFIED BY 'password';

Dále udělte všechna oprávnění databázi Ghost pomocí následujícího příkazu:

MariaDB [(none)]> GRANT ALL ON ghostdb.* TO 'ghostuser'@'localhost';

Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Nainstalovat Ghost Cli

Dále budete muset nainstalovat Ghost Cli, abyste mohli nainstalovat a spravovat Ghost. Můžete jej nainstalovat pomocí NPM, jak je znázorněno níže:

npm install -g [email protected]

Po instalaci ověřte nainstalovanou verzi Ghost Cli následujícím příkazem:

ghost version

Měli byste vidět následující výstup:

Ghost-CLI version: 1.16.3

Instalovat Ghost

Nejprve vytvořte samostatného uživatele pro Ghost pomocí následujícího příkazu:

adduser user1

Dále přidejte uživatele1 do skupiny sudo a www-data pomocí následujícího příkazu:

adduser user1 sudo
adduser user1 www-data

Dále se přihlaste pomocí user1 a vytvořte adresář pro Ghost pomocí následujícího příkazu:

su - user1
sudo mkdir /var/www/ghost

Dále nastavte správná oprávnění a vlastnictví pomocí následujícího příkazu:

sudo chown -R www-data:www-data /var/www/ghost
sudo chown -R www-data:www-data /var/www/
sudo chmod 775 /var/www/ghost
sudo setfacl -R -m u:user1:rwx /var/www/ghost/

Dále změňte adresář na ghost a nainstalujte blogovací platformu Ghost pomocí následujícího příkazu:

cd /var/www/ghost
ghost install

Budete požádáni, abyste poskytli adresu URL svého blogu, název databáze, uživatelské jméno, heslo a další informace, jak je uvedeno níže:

? Enter your blog URL: https://ghost.linuxbuz.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: ghostuser
? Enter your MySQL password: [hidden]
? Enter your Ghost database name: ghostdb
? Configuring Ghost
? Setting up instance
+ sudo useradd --system --user-group ghost
+ sudo chown -R ghost:ghost /var/www/ghost/content
? Setting up "ghost" system user
? Setting up "ghost" mysql user [skipped]
? Do you wish to set up Nginx? Yes
+ sudo mv /tmp/ghost-linuxbuz-com/ghost.linuxbuz.com.conf /etc/nginx/sites-available/ghost.linuxbuz.com.conf
+ sudo ln -sf /etc/nginx/sites-available/ghost.linuxbuz.com.conf /etc/nginx/sites-enabled/ghost.linuxbuz.com.conf
+ sudo nginx -s reload
? Setting up SSL [skipped]
? Do you wish to set up Systemd? Yes
+ sudo mv /tmp/ghost-linuxbuz-com/ghost_ghost-linuxbuz-com.service /lib/systemd/system/ghost_ghost-linuxbuz-com.service
+ sudo systemctl daemon-reload
? Setting up Systemd
+ sudo systemctl is-active ghost_ghost-linuxbuz-com
? Do you want to start Ghost? (Y/n) 

V tomto okamžiku je Ghost nainstalován a spuštěn.

Zabezpečte Ghost pomocí Let's Encrypt SSL

Dále budete muset Ghost zabezpečit pomocí Let's Encrypt SSL.

Nejprve nainstalujte klienta Certbot pomocí následujícího příkazu:

sudo apt-get install certbot python3-certbot-nginx -y

Po instalaci spusťte následující příkaz ke stažení Let's Encrypt SSL a nakonfigurujte Nginx tak, aby používal tento certifikát:

sudo certbot --nginx -d ghost.linuxbuz.com

Budete požádáni, abyste poskytli svou e-mailovou adresu a přijali podmínky služby, jak je uvedeno níže:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for ghost.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/ghost.linuxbuz.com.conf

Dále zvolte, zda chcete přesměrovat provoz HTTP na HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Napište 2 a stiskněte Enter pro dokončení instalace.

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/ghost.linuxbuz.com.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://ghost.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=ghost.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/ghost.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/ghost.linuxbuz.com/privkey.pem
   Your cert will expire on 2021-07-13. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Nyní můžete ověřit web Ghost pomocí následujícího příkazu;

ghost ls

Měli byste vidět následující výstup:

+ sudo systemctl is-active ghost_ghost-linuxbuz-com
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
? Name               ? Location       ? Version ? Status               ? URL                        ? Port ? Process Manager ?
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
? ghost-linuxbuz-com ? /var/www/ghost ? 4.2.1   ? running (production) ? https://ghost.linuxbuz.com ? 2368 ? systemd         ?
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

Službu Ghost můžete také ověřit pomocí následujícího příkazu:

sudo systemctl status ghost_ghost-linuxbuz-com

Měli byste vidět následující výstup:

? ghost_ghost-linuxbuz-com.service - Ghost systemd service for blog: ghost-linuxbuz-com
     Loaded: loaded (/lib/systemd/system/ghost_ghost-linuxbuz-com.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-04-14 07:05:33 UTC; 9min ago
       Docs: https://ghost.org/docs/
   Main PID: 7546 (node)
      Tasks: 22 (limit: 2353)
     Memory: 134.3M
     CGroup: /system.slice/ghost_ghost-linuxbuz-com.service
             ??7546 ghost run
             ??7590 /usr/bin/node current/index.js

Apr 14 07:13:44 ubuntu node[7590]: [2021-04-14 07:13:44] INFO "GET /ghost/assets/img/dashboard/start-membership-baafa2c6558d118ae59cb1fddab045>
Apr 14 07:13:44 ubuntu node[7590]: [2021-04-14 07:13:44] INFO "GET /ghost/assets/img/dashboard/the-browser-f5e7e199fe82d8435913e84d022fa7e1.pn>
Apr 14 07:13:44 ubuntu node[7590]: [2021-04-14 07:13:44] INFO "GET /ghost/assets/img/dashboard/join-community-bb5478f7dca6c04a2d0baf2b02f880fb>
Apr 14 07:13:44 ubuntu node[7590]: [2021-04-14 07:13:44] INFO "GET /ghost/api/canary/admin/members/?filter=status%3Apaid&order=created_at%20as>
Apr 14 07:14:11 ubuntu node[7590]: [2021-04-14 07:14:11] INFO "GET /" 200 475ms
Apr 14 07:14:11 ubuntu node[7590]: [2021-04-14 07:14:11] INFO "GET /" 200 480ms
Apr 14 07:14:15 ubuntu node[7590]: [2021-04-14 07:14:15] INFO "GET /members/api/site/" 200 12ms
Apr 14 07:14:18 ubuntu node[7590]: [2021-04-14 07:14:18] INFO "GET /" 304 142ms
Apr 14 07:14:25 ubuntu node[7590]: [2021-04-14 07:14:25] INFO "GET /members/api/site/" 304 4ms
Apr 14 07:14:26 ubuntu node[7590]: [2021-04-14 07:14:26] INFO "GET /members/api/member/" 401 4ms

Přístup k administrátorskému rozhraní Ghost

Nyní otevřete webový prohlížeč a přejděte do administrátorského rozhraní Ghost pomocí adresy URL https://ghost.linuxbuz.com/ghost/ . Měli byste vidět následující stránku:

Klikněte na Vytvořit účet vytvořte svůj první účet:

Zadejte podrobnosti o svém účtu a klikněte na Udělám to později ve spodní části obrazovky. Na následující stránce byste měli vidět administrátorské rozhraní Ghost:

Na svůj web Ghost můžete také přistupovat pomocí adresy URL https://ghost.linuxbuz.com/. Měli byste vidět následující stránku:

Závěr

Gratulujeme! úspěšně jste nainstalovali blogovací platformu Ghost na Ubuntu 20.04. Nyní můžete vytvářet a publikovat svůj vlastní obsah z rozhraní Ghost.


Ubuntu
  1. Jak nainstalovat Nginx pomocí Google PageSpeed ​​na Ubuntu 20.04

  2. Jak nasadit Modsecurity s Nginx na Ubuntu 20.04 LTS

  3. Jak nasadit aplikaci Flask s Nginx a Gunicorn na Ubuntu 20.04

  1. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  2. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Mailpile s Nginx na Ubuntu 15.10

  1. Jak nainstalovat Redmine 3 s Nginx na Ubuntu 15.10

  2. Jak nainstalovat Piwik s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Redmine 3.2 s Nginx na Ubuntu 16.04