Přechod na Ghost

Blogovacím platformám se bráním nějakou dobu jako čert kříži. Vše jsem se snažil řešit nad Pimcore pomocí jednoduchého pluginu, ale nějakou dobu už mě štve forma zadávání (byť formou Drag & Drop).

Nějakou dobu jsem však četl kladné ohlasy na Ghost. Jednoduchá platforma, nižší systémové nároky jak WordPress, co víc si přát. Analýzou člověk začal rozkrývat jednotlivé funkčnosti systému. Čeho si člověk na první pohled všimne je responsivní design editoru který oceníte, pokud chcete přidávat příspěvky někde na cestách z mobilních zařízení.

Desktop
Telefon

Pokud mezi povolenými značkami některou nenaleznete, lze bez problémů použít klasické HTML. Jednou z nich bude i tabulka. Rozšířené zadání příspěvku pak naleznete pod symbolem ozubeného kolečka vedle tlačítka pro uložení/publikaci.

Instalace

Samotná instalace je velmi jednoduchá. Pokud instalujete Ghost na debian wheezy tak jako já, můžete postupovat dle následujícího návodu:

  • Přidejte repozitář s wheezy-backports
echo "deb http://ftp.us.debian.org/debian wheezy-backports main" >> /etc/apt/sources.list
  • A standardně proveďte následující příkaz. Krom NodeJS bude instalován i npm package manager
apt-get update && apt-get install nodejs-legacy

Po instalaci NodeJS stačí postupovat dle popisu. Příkazem z adresáře s Ghostem npm install --production spustíte jednoduchý webserver.

Horší je situace, pokud už na daném serveru nějaký webserver běží a Vy chcete, aby Ghost běžel na portu 80. Pokud vezmeme v potaz dva nejrozšířenější servery Nginx a Apache, u obou je řešení v podstatě stejné - proxy.

Nginx

try_files   $uri    @nodejs;   
...
location @nodejs
{
    # node.js is listening on port 2368 by default        
    proxy_pass  127.0.0.1:2368;
    break;
}

Apache

<VirtualHost *:80>
    ServerName mujblog.cz
    ServerAlias www.mujblog.cz
    ProxyRequests off
    ProxyPass / http://127.0.0.1:2368/
    ProxyPassReverse / http:/127.0.0.1:2368/
</VirtualHost>

Co ale dělat v případě, když potřebujete Ghost rozběhnout v podsložce daného webu? U Proxy samozřejmě stačí upravit cestu:

<VirtualHost *:80>
    ServerName mujblog.cz
    ServerAlias www.mujblog.cz
    ProxyRequests off
    ProxyPass /blog/ http://127.0.0.1:2368/blog/
    ProxyPassReverse /blog/ http:/127.0.0.1:2368/blog/
</VirtualHost>

Tomu ale musí odpovídat i konfigurace samotného Ghosta. V sekci production tak změňte URL:

production: {
    url: 'http://www.mujblog.cz/blog/',
    ...

Krom těchto dvou řešení jsem narazil i na další možnosti, jakým způsobem rozběhnout Ghost či zmigrovat všechny weby na jiný webserver než je Apache:

Konfigurace

Krom webového serveru je vhodné si pro různé notifikace nakonfigurovat mailserver. Ten je v defaultu prázdný, nicméně pokud Vám běží mailserver na stejném stroji, konfigurace se skládá z několika řádků:

...
mail: {
    transport: 'SMTP',
    options: {
        host: '127.0.0.1'
    }
},
...

Další možnosti jak nakonfigurovat mail naleznete v oficiální dokumentaci http://support.ghost.org/mail