Követelmények
Titkosítsuk
Telepítse a NodeJS-t
Telepítse az Nginx-et
Telepítse a Ghost-ot
Telepítse a PM2-t
Következtetés
A Ghost egy nyílt forráskódú blogplatform, amely 2013-as megjelenése óta egyre népszerűbb a fejlesztők és a hétköznapi felhasználók körében. A tartalomra és a blogírásra helyezi a hangsúlyt . A Ghost legvonzóbb tulajdonsága az egyszerű, letisztult és érzékeny kialakítás. Blogbejegyzéseit mobiltelefonról is írhatja. A Ghost tartalma a Markdown nyelven íródott. A Ghost tökéletesen illeszkedik egyénekhez vagy kisebb írócsoportokhoz.
Ebben az útmutatóban egy biztonságos Ghost blogot állítunk be és telepítünk egy Fedora 25 VPS-en a Let's Encrypt , Certbot , Node.js , Nginx és PM2 használatával .
Követelmények
- Fedora 25 szerverpéldány minimum 1 GB RAM-mal .
- Valószínűleg meg kell nyitnia a 2368-as portot a -val
semanage port -a -t http_port_t -p tcp 2368.
Titkosítsuk
Mielőtt elkezdené ezt a lépést, győződjön meg arról, hogy beállította a DNS- rekordokat a domainhez.
A Let's Encrypt CA és az EFF Certbot kliensét fogjuk használni, hogy TLS-tanúsítványt szerezzünk Ghost blogunkhoz. Ne felejtse el a(z) összes példányát lecserélni example.coma domain nevére.
Rendszerfrissítés:
dnf check-update || dnf upgrade -y
Telepítse a szükséges eszközöket:
dnf install @development-tools -y
Telepítse a Certbotot (más néven Let's Encrypt kliens):
dnf install certbot -y
Ellenőrizze a Certbot verzióját:
certbot --version
# certbot 0.12.0
Tanúsítvány beszerzése önálló” módban:
certbot certonly --standalone --domains example.com,www.example.com --email john.doe@example.com --agree-tos --rsa-key-size 2048
Az előző lépések elvégzése után a tanúsítvány és a privát kulcs a /etc/letsencrypt/live/example.comkönyvtárban lesz.
Telepítse a NodeJS-t
Ghost currently supports Node versions 0.12.x, 4.2+, and 6.9+ only.
Telepíteni fogjuk a Ghost támogatott verzióját, amely v6 Boron LTSaz írás idején van.
Töltse le és telepítse a Node.js legújabb LTS- verzióját:
dnf install nodejs -y
Ellenőrizze a csomópont és az NPM verzióját:
node -v && npm -v
# v6.10.2
# 3.10.10
Telepítse az Nginx-et
Töltse le és telepítse az Nginx-et:
dnf install nginx -y
Ellenőrizze az Nginx verzióját:
nginx -v
# nginx version: nginx/1.10.2
Az Nginx szolgáltatás indítása és engedélyezése:
systemctl start nginx.service && systemctl enable nginx.service
Az Nginx konfigurálása fordított proxyként:
vi /etc/nginx/conf.d/ghost.conf
Illessze be a következőket /etc/nginx/conf.d/ghost.conf:
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:2368;
}
}
Ellenőrizze az Nginx szintaxisát:
nginx -t
Az Nginx konfiguráció újratöltése:
systemctl reload nginx.service
Telepítse a Ghost-ot
Ha több Ghost-blogot szeretne tárolni ugyanazon a VPS-en , minden Ghost-példánynak külön porton kell futnia.
Készít webrootkönyvtárban:
mkdir -p /var/www/
Hozzon létre egy új szellemfelhasználót:
useradd -c "Ghost Application" ghost
Ghost letöltése:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.8/Ghost-0.11.8.zip -o ghost.zip
Csomagold ki a Ghost-ot:
unzip -uo ghost.zip -d /var/www/ghost
rm -f ghost.zip
Navigáljon a webroothoz:
cd /var/www/ghost
A webroot könyvtár tulajdonjogának módosítása:
chown -R ghost:ghost .
Váltás új ghost felhasználóra:
su - ghost
Navigáljon a webroothoz:
cd /var/www/ghost
A Ghost telepítése:
npm install --production
A Ghost konfigurálása a fájlon belüli objektum urlés mailtulajdonság megváltoztatásával :productionconfig.js
cp config.example.js config.js
vi config.js
var path = require('path'),
config;
config = {
// ### Production
// When running Ghost in the wild, use the production environment.
// Configure your URL and mail settings here
production: {
url: 'https://example.com',
mail: {
options: {
service: '',
auth: {
user: '',
pass: ''
}
}
},
. . .
. . .
},
}
. . .
. . .
NOTE: You should configure mail also. Consult the official Ghost documentation on how to do that.
Indítsa el a Ghostot:
npm start --production
A Ghost most futni fog. Mind a blog front-end, mind az adminisztrációs felület HTTPS- sel védett, és a HTTP/2 is működik. Megnyithatja böngészőjét, és felkeresheti a webhelyet a címen https://example.com. Ne felejtse el lecserélni example.coma domain nevét.
Zárja le a Ghost folyamatot a CTRL+ megnyomásával, Cés lépjen vissza a ghost felhasználóból a root felhasználóba:
exit
Telepítse a PM2-t
Ha bezárja a terminál-munkamenetet a VPS- szel , a blogod is megszűnik. Ez nem jó. Ennek elkerülése érdekében a PM2 folyamatkezelőt fogjuk használni . Ez a nap 24 órájában fenn fogja tartani a blogunkat.
Telepítse a PM2 folyamatkezelő legújabb stabil verzióját:
npm install -g pm2@latest
Ellenőrizze a PM2 verziót:
pm2 -v
# 2.4.6
Váltson újra szellemfelhasználóra:
su - ghost
NODE_ENVKörnyezeti változó beállítása élesre:
echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc
Indítsa el (démonizálja) a Ghost alkalmazást a PM2-vel:
pm2 start /var/www/ghost/index.js --name "Ghost Blog"
Keresse meg https://example.com/ghost/és hozzon létre Ghost adminisztrátori felhasználót. Tedd meg ezt a lehető leghamarabb.
Következtetés
Ez az. Most már van egy teljesen működőképes Ghost blogunk. Ha meg szeretné változtatni az alapértelmezett Casper nevű Ghost témát egy egyénire , egyszerűen töltse le és csomagolja ki a témát a /var/www/ghost/content/themesmappába, és válassza ki a Ghost adminisztrációs felületén, amely a címen található https://example.com/ghost.