Tento tutoriál vám ukáže, jak nainstalovat blogovací platformu Ghost na server Ubuntu. Ghost je open-source blogovací software kódovaný v Node.js, který vám umožňuje vytvářet moderní, krásné blogy. Ve srovnání s WordPressem je Ghost lehký a mnohem rychlejší, protože je vytvořen speciálně pro blogování a není komplexním systémem pro správu obsahu jako WordPress.
Funkce duchů
V době psaní tohoto článku je nejnovější verze Ghost v3.2.0, vydaná 23. prosince 2019. Funkce Ghost jsou následující:
- Editor založený na Markdown, který vám umožní rychle psát příspěvky.
- Jednoduchá správa obsahu.
- Úpravy ve spolupráci s vaším týmem.
- Plánované publikování
- Vestavěná analytika
- Přímo zabudované správné SEO se sémantickým značením, trvalými odkazy, soubory Sitemap XML, kanonickými značkami a automatickými metadaty s ručními přepisy.
- Integrovaná podpora stránek AMP (Accelerated Mobile Pages)
- Kompletní kanály RSS, formuláře pro zachycování odběrů e-mailů a integrace webhooku Slack
- Na tržišti Ghost jsou k dispozici stovky krásných bezplatných a prémiových motivů
- Pěkně vypadající výchozí motiv Capser s podporou tmavého režimu.
- Multiplatformní desktopová aplikace dostupná pro Linux, Mac a Windows.
- Oficiální plugin Ghost Migrator WordPress vám umožňuje snadnou migraci z WordPress na Ghost.
Nadace Ghost nabízí spravovaný hosting, ale zde uvidíme, jak vytvořit blog Ghost s vlastním hostitelem na serveru Ubuntu.
Předpoklady instalace Ghost na Ubuntu Server
Chcete-li provozovat blog Ghost, potřebujete server s alespoň 1 GB RAM. Kliknutím na tento speciální odkaz získáte kredit 50 $ zdarma na DigitalOcean. (Pouze pro nové uživatele). Pokud již jste uživatelem DigitalOcean, můžete kliknout na tento speciální odkaz a získat kredit 50 $ zdarma na Vultr (pouze pro nové uživatele). Jakmile budete mít účet u DigitalOcean nebo Vultr, nainstalujte si Ubuntu na svůj server a postupujte podle pokynů níže. Pro nejlepší kompatibilitu použijte LTS verzi Ubuntu, jako je Ubuntu 18.04 nebo 16.04.
Musíte mít také název domény. Zaregistroval jsem si název domény u NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.
Poznámka :Nainstaloval jsem Ghost s uživatelem sudo na Ubuntu. Chcete-li dosáhnout nejlepších výsledků, měli byste tento návod sledovat také s uživatelem sudo, nikoli s uživatelem root. Chcete-li přidat uživatele sudo, jednoduše spusťte
sudo adduser username sudo adduser username sudo
Poté přepněte na nového uživatele.
su - username
Krok 1:Aktualizujte Ubuntu
Pokud váš server nebyl nějakou dobu aktualizován, spusťte následující příkaz a aktualizujte stávající softwarové balíčky.
sudo apt update;sudo apt upgrade
Krok 2:Nainstalujte Node.js na Ubuntu
Ghost vyžaduje instalaci LTS verze Node.js a nepodporuje non-LTS verzi. Nejnovější LTS verze Node.js je v12.x, ale v současné době je Ghost více kompatibilní s Node.js v10.x. Přidejte úložiště NodeSource pomocí příkazu níže.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Poté nainstalujte Node.js.
sudo apt install nodejs
Zkontrolujte verzi uzlu.
node -v
Ukázkový výstup:
v10.18.1
Zkontrolujte npm
verze:
npm -v
Ukázkový výstup:
6.13.4
Krok 3:Nainstalujte databázový server MariaDB
podporuje MySQL a MariaDB. MariaDB je drop-in náhrada za MySQL. Je vyvinut bývalými členy týmu MySQL, kteří se obávají, že by Oracle mohl změnit MySQL na uzavřený produkt. Pojďme tedy nainstalovat databázový server MariaDB.
Chcete-li jej nainstalovat na Ubuntu 18.04/20.04, zadejte následující příkaz.
sudo apt install mariadb-server mariadb-client
Po instalaci by se měl server MariaDB automaticky spustit. Použijte systemctl zkontrolovat jeho stav.
systemctl status mariadb
Ukázkový výstup:
● mariadb.service - MariaDB 10.1.34 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-09-08 11:13:27 UTC; 21s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 3473 (mysqld) Status: "Taking your SQL requests now..." Tasks: 27 (limit: 505) CGroup: /system.slice/mariadb.service └─3473 /usr/sbin/mysqld
Pokud neběží, spusťte jej tímto příkazem:
sudo systemctl start mariadb
Chcete-li povolit automatické spouštění MariaDB při spouštění systému, spusťte
sudo systemctl enable mariadb
Nyní spusťte bezpečnostní skript po instalaci.
sudo mysql_secure_installation
Až budete požádáni o zadání rootovského hesla MariaDB, stiskněte klávesu Enter, protože heslo root ještě není nastaveno. Poté zadejte y
pro nastavení hesla uživatele root pro server MariaDB.
Dále můžete stisknout Enter pro zodpovězení všech zbývajících otázek, což odstraní anonymního uživatele, zakáže vzdálené přihlášení root a odstraní testovací databázi. Tento krok je základním požadavkem pro zabezpečení databáze MariaDB. (Všimněte si, že písmeno Y
je velká, což znamená, že se jedná o výchozí odpověď.)
Zkontrolujte informace o verzi serveru MariaDB.
mariadb --version
Výstup:
mariadb Ver 15.1 Distrib 10.1.34-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Krok 4:Vytvořte databázi a uživatele pro Ghost
Nyní se musíme přihlásit do konzole MariaDB a vytvořit databázi a uživatele pro Ghost. Ve výchozím nastavení používá balíček MaraiDB na Ubuntu unix_socket k ověření přihlášení uživatele, což v podstatě znamená, že můžete použít uživatelské jméno a heslo operačního systému pro přihlášení do konzoly MariaDB. Můžete tedy spustit následující příkaz a přihlásit se bez zadání hesla root MariaDB.
sudo mariadb -u root
Vytvořte databázi pro Ghost pomocí následujícího příkazu. Pojmenoval jsem to ghost
, ale můžete použít jakýkoli název, který chcete. (Nevynechávejte středník.)
create database ghost;
Poté zadejte příkaz níže pro vytvoření databázového uživatele pro Ghost a udělte mu všechna oprávnění k databázi duchů.
grant all privileges on ghost.* to ghost@localhost identified by 'ghost_password';
Vypláchněte tabulku oprávnění, aby se změny projevily, a poté opusťte konzolu MariaDB.
flush privileges; exit;
Krok 5:Nainstalujte webový server Nginx
Ghost bude používat webový server Nginx, takže spusťte následující příkaz a nainstalujte jej z výchozího úložiště Ubuntu.
sudo apt install nginx
Pokud používáte firewall UFW, musíte také otevřít port 80 a 443.
sudo ufw allow 80/tcp sudo ufw allow 443/tcp
Krok 6:Vytvořte záznam pro název vaší blogové domény
Před instalací Ghost se doporučuje vytvořit DNS A záznam pro název domény vašeho blogu. Záznam A ukazuje název vaší domény na IP adresu vašeho serveru Ubuntu.
Krok 7:Nainstalujte Ghost
Nainstalujte Ghost-CLI.
sudo npm install [email protected] -g
Poté vytvořte adresář (/var/www/ghost/
) pro Ghost.
sudo mkdir -p /var/www/ghost/
Udělte oprávnění ke svému uživatelskému účtu. Nahraďte username
s vaším skutečným uživatelským jménem.
sudo apt install acl sudo setfacl -R -m u:username:rwx /var/www/ghost/ sudo chmod 775 /var/www/ghost
Nyní změňte pracovní adresář na /var/www/ghost/
a nainstalujte Ghost.
cd /var/www/ghost/ ghost install
Instalace může chvíli trvat. Během instalace budete požádáni o zadání adresy URL vašeho blogu. Zadejte něco jako https://yourdomain.com
. A budete muset zadat název databáze MariaDB, uživatelské přihlašovací údaje, které jste vytvořili v kroku 4.
? Enter your blog URL: https://yourdomain.com ? Enter your MySQL hostname: localhost ? Enter your MySQL username: ghost ? Enter your MySQL password: ghost_password ? Enter your Ghost database name: ghost
Pokud používáte Ubuntu 20.04 a zobrazí se vám následující zpráva, můžete ji ignorovat a pokračovat v instalaci.
System checks failed with message: 'Linux version is not Ubuntu 16 or 18' Some features of Ghost-CLI may not work without additional configuration. For local installs we recommend using `ghost install local` instead.
ghost
uživatel systému bude automaticky vytvořen. Doporučuje se, abyste souhlasili s nastavením Nginx a SSL, takže váš blog bude dostupný prostřednictvím zabezpečeného protokolu HTTPS. Přijměte také nastavení služby Systemd, abyste mohli Ghost snadno spustit, zastavit nebo restartovat.
Jakmile byl Ghost úspěšně nainstalován, přejděte na https://yourdomain.com/ghost
pro dokončení nastavení. Nejprve si musíte vytvořit účet.
Pak můžete pozvat některé zaměstnance na svůj blog Ghost, nebo to můžete udělat později.
Krok 8:Upravte soubor Nginx Config
Ve výchozím nastavení konfigurační soubor Nginx pro Ghost obsahuje jeden název domény. Pokud chcete, aby Nginx obsluhoval doménu www i doménu bez www, upravte konfigurační soubor.
sudo nano /etc/nginx/sites-enabled/yourdomain.com.conf
Najděte následující řádek
server_name yourdomain.com;
Přidejte doménu www.
server_name yourdomain.com www.yourdomain.com;
Uložte a zavřete soubor. Poté smažte /etc/nginx/sites-enabled/yourdomain.com-ssl.conf
soubor.
sudo rm /etc/nginx/sites-enabled/yourdomain.com-ssl.conf
Poté nainstalujte klienta Certbot Let’s Encrypt
sudo apt install certbot python3-certbot-nginx
Získejte certifikát SSL pro doménu www i doménu bez www.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d yourdomain.com,www.yourdomain.com
Restartujte Nginx a máte hotovo.
sudo systemctl restart nginx
Krok 9:Nastavení upozornění e-mailem
Abyste mohli posílat e-maily z vašeho blogu Ghost (pro resetování hesla, pozvání uživatelů, registraci členů atd.), musíte nakonfigurovat nastavení SMTP. Pokud byste chtěli používat svůj vlastní e-mailový server, přečtěte si prosím následující návod, jak snadno nastavit svůj vlastní e-mailový server.
- Jak snadno nastavit svůj vlastní e-mailový server na Ubuntu 18.04 pomocí iRedMail
Jakmile budete mít svůj vlastní e-mailový server, upravte konfigurační soubor Ghost.
sudo nano /var/www/ghost/config.production.json
Ve výchozím nastavení jsou nastavení pošty následující:
"mail": { "transport": "Direct" },
Změňte jej na použití SMTP.
"mail": { "transport": "SMTP", "from": "[email protected]", "options": { "service": "yourdomain.com", "host": "mail.yourdomain.com", "port": 465, "secureConnection": true, "auth": { "user": "[email protected]", "pass": "the_email_account_password" } } },
Všimněte si, že Ghost nepodporuje port 587 pro SMTP. Uložte a zavřete soubor. Poté restartujte Ghost prostřednictvím služby systemd.
sudo systemctl restart ghost_yourdomain-com.service
Nyní by váš blog Ghost měl být schopen odesílat e-maily.