Inštalovať - nakonfigurujte Ghost na openSUSE 42.2 Leap
Čo je Ghost?
V ére Webu 2.0 sú blogy pre mnohých ľudí dôležitou súčasťou rádu a napríklad popularita WordPress a Tumblr to dokazuje.
Dnes budeme hovoriť o platforme na vytváranie a prevádzkovanie online publikácií (ako sú blogy, časopisy atď.) s názvom Ghost. Tento nástroj je open source a plne napadnuteľný, napísaný v JavaScripte a spustený na Node.js.
V tomto návode uvidíme, ako nainštalovať – nakonfigurovať Ghost na openSUSE Leap 42.2 pomocou Apache ako webového servera.
Verzia Node.js
Ghost beží nad Node.js. Presnejšie povedané, vývojári sa rozhodli podporovať iba verzie LTS. V tomto návode budeme používať verziu 4.2.x.
Aj keď to znamená, že Ghost nemôže používať najnovšie funkcie Node.js, voľba sa zdá byť rozumná, pretože im ponecháva priestor tráviť čas vytváraním nových funkcií a opravovaním chýb namiesto sledovania zmien v Node a opakovaným testovaním svojej platformy. každé vydanie.
Pre konečných používateľov a správcov to vedie k stabilnejšej a podporovanejšej platforme, ktorú mnohí považujú za príťažlivú.
Začíname – Nainštalujte Node.js a npm
Node.js verzia 4 je už dostupná v openSUSE. Ak ho chcete nainštalovať, stačí použiť
zypper
:
zypper in nodejs
The following NEW package is going to be installed:
nodejs4
1 new package to install.
Overall download size: 3.3 MiB. Already cached: 0 B. After the operation, additional
12.7 MiB will be used.
Continue? [y/n/? shows all options] (y): y
Retrieving package nodejs4-4.6.1-3.1.x86_64 (1/1), 3.3 MiB ( 12.7 MiB unpacked)
Retrieving: nodejs4-4.6.1-3.1.x86_64.rpm ...........................[done (846.4 KiB/s)]
Checking for file conflicts: .....................................................[done]
(1/1) Installing: nodejs4-4.6.1-3.1.x86_64 .......................................[done]
Ďalej nainštalujte
npm
:
zypper in npm
Skontrolujte verziu:
npm --version
2.15.9
Inštalácia Ghost
Zmeňte adresár na
/srv/www
a stiahnite si Ghost:
cd /srv/www
wget https://ghost.org/zip/ghost-latest.zip
Rozbaľte ho do nového adresára s názvom
ghost
pomocou nasledujúceho kódu:
unzip -d ghost ghost-latest.zip
Prejdite do tohto nového adresára a nainštalujte Ghost pomocou
npm
:
cd ghost
npm install --production
Nakonfigurujte Ghost
Adresár ghost
obsahuje príklad konfiguračného súboru. Použi toto.
cp config.example.js config.js
Ďalej vytvorte nového používateľa s názvom ghostusr:
useradd -d /srv/www -s /bin/bash -U ghostusr
passwd ghostusr
Nastavte tohto používateľa ako vlastníka adresára duchov:
chown -R ghostusr:ghostusr /srv/www/ghost
Teraz je možné testovať Ghost pomocou
npm
vykonaním nasledujúcich príkazov:
su - ghostusr
cd ghost
npm start --production
Výsledkom by mal byť výstup podobný tomuto:
Migrations: Creating tables...
Migrations: Creating table: posts
Migrations: Creating table: users
Migrations: Creating table: roles
Migrations: Creating table: roles_users
Migrations: Creating table: permissions
Migrations: Creating table: permissions_users
Migrations: Creating table: permissions_roles
Migrations: Creating table: permissions_apps
Migrations: Creating table: settings
Migrations: Creating table: tags
Migrations: Creating table: posts_tags
Migrations: Creating table: apps
Migrations: Creating table: app_settings
Migrations: Creating table: app_fields
Migrations: Creating table: clients
Migrations: Creating table: client_trusted_domains
Migrations: Creating table: accesstokens
Migrations: Creating table: refreshtokens
Migrations: Creating table: subscribers
Migrations: Running fixture populations
Migrations: Creating owner
Ghost is running in production...
Your blog is now available on http://my-ghost-blog.com
Otvorte nové okno terminálu a otestujte, či Ghost efektívne beží vykonaním nasledujúceho príkazu:
curl -I localhost:2368
HTTP/1.1 200 OK
X-Powered-By: Express
Cache-Control: public, max-age=0
Content-Type: text/html; charset=utf-8
Content-Length: 4554
ETag: W/"11ca-93Do3c+nffISfn1kLrmRZg"
Vary: Accept-Encoding
Date: Mon, 13 Mar 2017 07:59:39 GMT
Connection: keep-alive
V okne terminálu so spusteným Ghostom ho zastavte zadaním CTRL+C.
Teraz vytvorte novú službu systemd:
$EDITOR /etc/systemd/system/ghost.service
A vložte tam nasledujúcu konfiguráciu:
[Unit]
Description=Ghost Blog - Publication platform
After=network.target
[Service]
Type=simple
Ghost installation Directory
WorkingDirectory=/srv/www/ghost
User=ghostusr
Group=ghostusr
ExecStart=/usr/bin/npm start --production
ExecStop=/usr/bin/npm stop --production
Restart=always
SyslogIdentifier=Ghost
[Install]
WantedBy=multi-user.target
Znovu načítať démona systemd:
systemct daemon-reload
a potom spustite novú službu:
systemctl start ghost
Skontrolujte stav:
systemctl status ghost
A ukáže nasledovné:
ghost.service - Ghost Blog - Publication platform
Loaded: loaded (/etc/systemd/system/ghost.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2017-03-13 09:06:41 CET; 5s ago
Ak chcete, aby sa spustil pri štarte:
systemctl enable ghost
Inštalácia a konfigurácia Apache
Nainštalujte Apache 2 pomocou
zypper
:
zypper in apache2
A vytvorte nového virtuálneho hostiteľa pre Ghost:
$EDITOR /etc/apache2/sites-available/ghost.conf
Tam prilepte:
<VirtualHost *:80>
#Domain Name
ServerName myghostblog.com
ServerAlias www.myghostblog.com
#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čite.
Aktivujte modul proxy, aktivujte Ghost a reštartujte všetko:
a2enmod proxy proxy_http
ln -s /etc/apache2/sites-available/ghost.conf /etc/apache2/sites-enabled/ghost.conf
systemctl restart apache2
systemctl restart ghost
Otvorte webový prehliadač a navštívte stránku http://localhost:2368 a:
Povoliť SSL
Vytvorte nový adresár, ktorý bude obsahovať certifikáty:
mkdir -p /etc/apache2/certs
A tam vygenerujte nový certifikát:
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/apache2/certs/ghost.key -out /etc/apache2/certs/ghost.crt
Zmeniť povolenia:
chmod 600 /etc/apache2/certs/*
Nakoniec upravte konfiguráciu virtuálneho hostiteľa, aby ste povolili SSL:
$EDITOR /etc/apache2/sites-available/ghost.conf
<VirtualHost *:80>
ServerName myghostblog.com
ServerAlias www.myghostblog.com
# Force http to https
Redirect permanent / https://myghostblog.com/
ProxyRequests off
ProxyPass / http://127.0.0.1:2368/
ProxyPassReverse / http:/127.0.0.1:2368/
</VirtualHost>
<VirtualHost *:443>
ServerName myghostblog.com
SSLEngine on
SSLCertificateFile /etc/apache2/certs/ghost.crt
SSLCertificateKeyFile /etc/apache2/certs/ghost.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, ukončite a reštartujte Apache:
a2enmod ssl headers
systemctl restart apache2
Záver
Ghost je teraz v prevádzke. Prejdite na localhost:2368/ghost/ a dokončite nastavenie účtu správcu a potom začnite blogovať!