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 4.2.0 (LTS).
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. Ghost byl vydán v roce 2013 pod licencí MIT.
Předpoklady
- Ubuntu 15.10
- 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 node.js v0.12. Node.js lze nainstalovat ze zdroje nebo z úložiště nodesource.com. Budeme používat úložiště node.js https://deb.nodesource.com/node_0.12 pro instalaci.
Přidejte a aktualizujte úložiště provedením příkazu níže:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
Dále nainstalujte node.js pomocí apt:
sudo apt-get install -y nodejs
Nyní zkontrolujte verzi node.js:
node --version
v0.12.7
A zkontrolujte verzi npm:
npm --version
2.11.3
Npm je správce balíčků node.js, který se používá k instalaci, publikování a správě 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 jako root/sudo:
cd ghostblog/
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
Nyní otevřete konfigurační soubor pomocí editoru vim:
vim config.js
V bloku serveru (řádek 27) , změňte hodnotu hostitele na 0.0.0.0 .
host = 0.0.0.0
Chcete-li umožnit přístup k blogu zvenčí. Uložte a ukončete.
Poté přidejte nového uživatele „ghost“. Tento uživatel bude použit ke spuštění ghost:
sudo adduser --shell /bin/bash ghost
ENTER YOUR PASSWORD
Nyní změňte vlastníka instalačního adresáře duchů 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 Ghost a spusťte jej:
cd /var/www/ghostblog
npm start --production
Navštivte IP serveru na portu 2368, v mém případě:192.168.1.104:2368
Abychom nám usnadnili spouštění Ghost, vytvoříme systémovou službu pro spuštění Ghost. Vraťte se prosím zpět k uživateli sudo/root a vytvořte nový soubor s názvem „ghost.service“ v adresáři „/lib/systemd/system/“.
sudo cd /lib/systemd/system/
sudo 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
A uložte soubor. Poté znovu načtěte démona systemd:
sudo systemctl daemon-reload
Přidejte službu Ghost, aby se automaticky spouštěla při bootování, a spusťte Ghost příkazem systemctl:
sudo systemctl enable ghost
sudo systemctl start ghost
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žit a ukončit.
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 je nyní úspěšně nainstalován.
Závěr
Nodejs je open source multiplatformní javascriptový runtine pro vytváření webových aplikací na straně serveru. Je lehký a účinný 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.