Jak si postavit blog na DigitalOcean s Ghost a Next.js

Úvodní slovo

Založení vlastního blogu představuje skvělou příležitost, jak se podělit o své úvahy, nápady a zkušenosti s ostatními. Díky dostupnosti výkonných a intuitivních platforem, jako jsou Ghost a Next.js, je dnes vytváření vlastního blogu snazší než kdy dříve. V tomto článku vás krok za krokem provedeme procesem, jak si na DigitalOcean vybudovat blog pomocí Ghostu a Next.js.

Ghost – Bezplatná platforma pro blogování

Ghost je open-source publikační systém, navržený specificky pro potřeby blogování. Nabízí jednoduché a přehledné uživatelské prostředí, které vám umožní soustředit se na tvorbu obsahu, nikoli na technické detaily. S Ghostem získáte přístup k celé řadě funkcí, mezi které patří:

  • Editor s náhledem v reálném čase
  • Správa více autorů a uživatelských oprávnění
  • Kalendář publikování a plánování článků
  • Integrace se sociálními sítěmi a SEO nástroji

Next.js – Framework pro generování statických webů

Next.js je open-source framework určený k tvorbě statických webových stránek s využitím knihovny React.js. Poskytuje rozsáhlou sadu funkcionalit, jako například:

  • Generování statických stránek pro rychlé načítání
  • Server-side rendering pro vylepšení SEO
  • Automatické rozdělování kódu a dynamické směrování
  • Možnost propojení s různými databázemi a API

Základní nastavení infrastruktury na DigitalOcean

Prvním krokem je konfigurace infrastruktury na DigitalOcean. Postupujte podle následujících instrukcí:

1. Vytvoření dropletu

Vytvořte droplet s následujícími specifikacemi:

  • Operační systém: Ubuntu 20.04 x64
  • Velikost: minimálně 1 GB RAM, 25 GB SSD
  • Lokalita: Vyberte region nejbližší vašim cílovým uživatelům

2. Připojení k dropletu

Připojte se k vytvořenému dropletu pomocí SSH:

ssh root@<vaše_ip_adresa>

3. Nastavení doménového jména

Nastavte doménové jméno pro váš blog v DNS záznamech DigitalOcean.

4. Instalace Node.js a npm

Nainstalujte Node.js a správce balíčků npm:

curl -sL https://deb.nodesource.com/setup_16.x | bash -
apt-get install -y nodejs

5. Instalace Ghost-CLI

Nainstalujte Ghost-CLI, nástroj pro snadnou správu Ghostu:

npm install -g @ghost/cli

Instalace Ghostu

Provedení instalace Ghostu s pomocí Ghost-CLI:

ghost install --source=production

1. Konfigurace Ghostu

Po dokončení instalace nakonfigurujte Ghost:

ghost setup

2. Spuštění Ghostu

Následně spusťte Ghost:

ghost start

Konfigurace Next.js

1. Vytvoření Next.js aplikace

Inicializujte novou Next.js aplikaci:

npx create-next-app <název_aplikace>

2. Instalace Ghost API klienta

Nainstalujte Ghost API klienta, který vám umožní komunikovat s Ghostem:

npm install @tryghost/content-api

3. Využití Ghost API klienta

Využijte Ghost API klienta ve vaší Next.js aplikaci pro načítání příspěvků:

import useSWR from 'swr'

function fetchPosts() {

const url = 'https://your-ghost-url/ghost/api/v3/content/posts/'

const headers = {

"Authorization": "Bearer " + "your_ghost_api_key"

}

const res = await fetch(url, { headers })

return res.json()

}

export default function Posts() {

const { data, error } = useSWR('posts', fetchPosts)

if (error) return <div>Chyba</div>

if (!data) return <div>Načítání...</div>

return (

<div>

{data.posts.map((post) => (

<Post key={post.id} post={post} />

))}

</div>

)

}

4. Vytvoření komponenty příspěvku

Vytvořte komponentu, která se postará o zobrazení jednotlivých příspěvků:

export default function Post({ post }) {

return (

<div>

<h1>{post.title}</h1>

<div dangerouslySetInnerHTML={{ __html: post.html }} />

</div>

)

}

Nasazení na DigitalOcean

1. Nasazení Next.js aplikace

Proveďte nasazení vaší Next.js aplikace na DigitalOcean:

npm run build

scp -r build root@<vaše_ip_adresa>:~/blog

2. Konfigurace Nginx

Nainstalujte a nakonfigurujte Nginx pro poskytování statických souborů:

apt-get install nginx

echo "server { listen 80; server_name example.com; location / { root /home/droplet_user/blog/build; index index.html; } }" > /etc/nginx/sites-available/blog

ln -s /etc/nginx/sites-available/blog /etc/nginx/sites-enabled/blog

service nginx restart

Závěrečné myšlenky

Vytvoření blogu na DigitalOcean s pomocí Ghost a Next.js je efektivní a uživatelsky přívětivý proces. Ghost nabízí robustní platformu pro blogování, zatímco Next.js poskytuje rychlý a výkonný základ pro vaše webové stránky. Postupujte podle tohoto návodu a založte si svůj vlastní blog ještě dnes, a podělte se o své myšlenky a nápady se světem.

Často kladené otázky (FAQ)

1. Jaké výhody nabízí Ghost pro blogování?
* Intuitivní uživatelské rozhraní, zaměření na obsah, správa více autorů, SEO integrace.

2. Jaké jsou hlavní funkce Next.js pro tvorbu statických webů?
* Generování statických stránek, server-side rendering, automatické dělení kódu, dynamické routování.

3. Jakým způsobem se mohu připojit k svému dropletu z příkazového řádku?
* Použijte SSH a příkaz ssh root@<vaše_ip_adresa>.

4. Jak mohu nainstalovat Ghost-CLI?
* Spusťte příkaz npm install -g @ghost/cli.

5. Jak se spouští Ghost?
* Spusťte příkaz ghost start.

6. Jak mohu načítat příspěvky z Ghostu v Next.js?
* Využijte Ghost API klienta a funkci fetchPosts().

7. Jak se provádí nasazení Next.js aplikace na DigitalOcean?
* Sestavte aplikaci, zkopírujte ji do dropletu a nakonfigurujte Nginx pro obsluhu statických souborů.

8. Jaké nástroje lze použít pro optimalizaci SEO?
* Yoast SEO plugin pro WordPress, Google Search Console, Ahrefs.

9. Jak lze zabezpečit blog?
* Použijte SSL certifikát, dvoufaktorové ověřování, pravidelné zálohování.

10. Jak lze propagovat svůj blog?
* Využijte sociální sítě, guest blogging, SEO optimalizaci, e-mail marketing.