Ghost je výkonná open source platforma pro publikování a blogování, která je krásně navržena a snadno se používá. Ghost je napsán v javascriptu a jako běhové prostředí používá node.js. První verze Ghost byla vydána v roce 2013 pod licencí MIT a je neustále aktualizována. Tento tutoriál ukazuje instalaci softwaru Ghost Blog, Node.js a Apache jako SSL proxy serveru na Ubuntu 16.04.
Nodejs je open source javascriptový runtime postavený na JavaScriptovém enginu Chrome V8 (v4) pro vývoj webových aplikací na straně serveru. Nodejs je multiplatformní runtime, které lze spustit na OS X, Microsoft Windows, Linux a FreeBSD. Poskytuje architekturu řízenou událostmi a neblokující I/O model, díky kterému je lehký a efektivní pro webové aplikace v reálném čase. Projekt Node.js zahájil v roce 2009 Ryan Dahl a k dnešnímu dni dosáhl verze 6.5.0 (LTS).
Předpoklady
- Ubuntu 16.04
- práva root
Co budeme dělat v tomto tutoriálu:
- Nainstalujte Node.js
- Nainstalujte Ghost
- Nakonfigurujte Ghost
- Nainstalujte Apache a přidejte Ghost VirtualHost
- Povolte SSL pro Ghost
Krok 1 – Instalace Node.js na Ubuntu
Pro tento tutoriál použijeme nodejs v4.x. Nodejs lze nainstalovat mnoha různými způsoby, jako je instalace ze zdroje nebo instalace z úložiště Ubuntu. Budu používat repozitář nodejs nodesecure https://deb.nodesource.com/node_4.x pro instalaci obsahuje aktuální software a použití úložiště umožňuje později snadno aktualizovat node.js.
Nainstalujte klíč úložiště nodesource pomocí níže uvedeného příkazu:
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
Poté přidejte úložiště nodejs provedením následujících příkazů:
sudo echo 'deb https://deb.nodesource.com/node_4.x xenial main' > /etc/apt/sources.list.d/nodesource.list
sudo echo 'deb-src https://deb.nodesource.com/node_4.x xenial main' >> /etc/apt/sources.list.d/nodesource.list
Aktualizujte úložiště:
sudo apt-get update
Nyní můžeme nainstalovat balíček "nodejs", který nainstaluje node.js a jeho závislosti na serveru:
sudo apt-get install -y nodejs
Nyní zkontrolujte verzi nodejs, abyste se ujistili, že instalace proběhla úspěšně:
node --version
Zkontrolujte verzi npm:
npm --version
npm je správce balíčků pro instalaci, publikování a správu programů uzlů.
Krok 2 – Instalace blogu Ghost
Nainstalujeme ghost do adresáře "/var/www/" a použijeme nejnovější verzi Ghost. Vytvořte prosím nový adresář „www“ v /var a zadejte jej pomocí „cd“:
mkdir -p /var/www/
cd /var/www/
Stáhněte si Ghost pomocí příkazu wget a poté jej rozbalte do adresáře s názvem "ghostblog" :
wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip
POZNÁMKA :-d :automaticky vytvoří adresář.
Poté přejděte do adresáře ghostblog a nainstalujte Ghost pomocí npm příkaz:
cd ghostblog/
sudo npm install --production
Krok 3 – Konfigurace Ghost
Přejděte prosím do adresáře ghostblog a zkopírujte ukázkový konfigurační soubor do "config.js"
cd /var/www/ghostblog/
cp config.example.js config.js
Dále přidejte nového uživatele „ghost“. Tento uživatel bude žalován, aby spustil Ghost :
useradd -d /var/www -s /bin/bash ghost
passwd ghost
TYPE NEW PASSWORD FOR ghost USER
Poznámka:
-d =Definuje domovský adresář pro uživatele ghost v /var/www/.
-s =Definuje shell pro uživatele duchů.
Nyní změňte vlastníka instalačního adresáře ghost na uživatele "ghost".
chown -R ghost:ghost /var/www/ghostblog
Otestujte blog ghost spuštěním příkazu npm jako uživatel ghost. Přihlaste se prosím k uživatelskému ghost:
su - ghost
a přejděte do instalačního adresáře a spusťte Ghost:
cd ghostblog/
npm start --production
Ghost je nainstalován a běží na localhost s portem 2368. Můžeme to zkontrolovat příkazem curl:
curl -I localhost:2368
Můžete vidět, že duch běží - HTTP/1.1 200 OK .
Spustíme ghost jako službu, která nám usnadní spouštění ghost. Vraťte se prosím zpět k uživateli sudo/root zadáním „exit“ a vytvořte nový soubor s názvem „ghost.service“ v adresáři „/lib/systemd/system/“.
cd /lib/systemd/system/
vim ghost.service
Vložte skript systemd níže:
[Unit] Description=ghost After=network.target [Service] Type=simple # Ghost installation Directory WorkingDirectory=/var/www/ghostblog User=ghost Group=ghost ExecStart=/usr/bin/npm start --production ExecStop=/usr/bin/npm stop --production Restart=always SyslogIdentifier=Ghost [Install] WantedBy=multi-user.target
Dále znovu načtěte démona systemd:
systemctl daemon-reload
Poté přidejte ghost, který se má spouštět při bootování, a spusťte ghost příkazem systemctl:
systemctl enable ghost
systemctl start ghost
Zkontrolujte port 2368:
, zda je spuštěn duchnetstat -plntu
Krok 4 – Instalace Apache a Ghost VirtualHost
Nainstalujte apache pomocí příkazu apt-get:
sudo apt-get install apache2
Po dokončení instalace vytvořte nový soubor pro virtuálního hostitele ducha v adresáři "/etc/apache2/sites-available/".
sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf
Vložte konfiguraci níže:
<VirtualHost *:80> #Domain Name ServerName ghostblog.me ServerAlias www.ghostblog.me #HTTP proxy/gateway server ProxyRequests off ProxyPass / http://127.0.0.1:2368/ ProxyPassReverse / http:/127.0.0.1:2368/ </VirtualHost>
Uložte a ukončete.
Aktivujte modul HTTP proxy v Apache pomocí příkazu a2enmod jak je uvedeno níže:
sudo a2enmod proxy proxy_http
Nakonec musíme aktivovat virtuálního hostitele Ghost a poté restartovat apache:
sudo a2ensite ghostblog
sudo systemctl restart apache2
Restartujte ducha:
sudo systemctl restart ghost
Otestujte návštěvou domény:http://ghostblog.me
Krok 5 – Povolení SSL pro Ghost
Chcete-li povolit SSL na Apache, ujistěte se, že je v systému nainstalována knihovna OpenSSL. Vygenerujeme nový klíč a soubor crt v adresáři "/etc/apache2/certs". Nejprve vytvoříme certifikáty nového adresáře:
sudo mkdir -p /etc/apache2/certs
A vygenerujte klíč certifikátu pomocí příkazu níže:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt
Změňte prosím oprávnění souboru certifikátu:
sudo cd /etc/apache2/certs/
sudo chmod 600 *
Dále přidejte konfiguraci SSL do ghost virtualhost úpravou souboru „ghostblog.conf“.
sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf
Níže vložte nový konfigurační skript:
<VirtualHost *:80> ServerName ghostblog.me ServerAlias www.ghostblog.me # Force http to https Redirect permanent / https://ghostblog.me/ # ProxyRequests off # ProxyPass / http://127.0.0.1:2368/ # ProxyPassReverse / http:/127.0.0.1:2368/ </VirtualHost> <VirtualHost *:443> ServerName ghostblog.me SSLEngine on SSLCertificateFile /etc/apache2/certs/ghostblog.crt SSLCertificateKeyFile /etc/apache2/certs/ghostblog.key ProxyPass / http://127.0.0.1:2368/ ProxyPassReverse / http:/127.0.0.1:2368/ ProxyPreserveHost On RequestHeader set X-Forwarded-Proto "https" </VirtualHost>
Uložte soubor a ukončete vim.
Aktivujte modul OpenSSL apache a restartujte apache :
sudo a2enmod ssl headers
sudo systemctl restart apache2
Testování
Navštivte http://ghostblog.me a budete nuceni přejít na web HTTPS/SSL vašeho blogu.
Ghost s Apache a SSL byl úspěšně nainstalován.
Závěr
Nodejs je open source multiplatformní běhové prostředí javascriptu pro vytváření webových aplikací na straně serveru. Je lehký a efektivní pro webové aplikace v reálném čase. Ghost je blogovací platforma napsaná v Javascriptu pro Node.js. Ghost je krásně navržený a uživatelsky přívětivý. Intuitivní rozhraní usnadňuje používání tohoto blogovacího systému. Ghost lze nainstalovat samostatně nebo s webovým serverem, jako je Apache nebo Nginx. Ghost můžete zabezpečit pomocí OpenSSL. Konfigurace Ghost s Apache a OpenSSL je snadná, stačí nastavit http_proxy modul apache a vygenerovat SSL certifikát.