Kërkesat
Le të Enkriptojmë
Instaloni NodeJS
Instaloni Nginx
Instaloni Ghost
Instaloni PM2
konkluzioni
Ghost është një platformë blogimi me burim të hapur që po fiton popullaritet midis zhvilluesve dhe përdoruesve të zakonshëm që nga publikimi i tij në 2013. Ai e vë fokusin në përmbajtje dhe në blog . Gjëja më tërheqëse për Ghost është dizajni i tij i thjeshtë, i pastër dhe i përgjegjshëm. Ju mund të shkruani postimet tuaja në blog nga një telefon celular. Përmbajtja për Ghost është shkruar duke përdorur gjuhën Markdown. Ghost është i përshtatshëm për individë ose grupe të vogla shkrimtarësh.
Në këtë udhëzues ne do të konfigurojmë dhe vendosim një blog të sigurt Ghost në një Fedora 25 VPS duke përdorur Let's Encrypt , Certbot , Node.js , Nginx dhe PM2 .
Kërkesat
- Shembull i serverit Fedora 25 me minimum 1 GB RAM .
- Ndoshta do t'ju duhet të hapni portin 2368 me
semanage port -a -t http_port_t -p tcp 2368
.
Le të Enkriptojmë
Përpara se të filloni këtë hap, sigurohuni që të keni vendosur regjistrime DNS për domenin tuaj.
Ne do të përdorim Let's Encrypt CA dhe klientin Certbot të EFF për të marrë certifikatën TLS për blogun tonë Ghost. Mos harroni të zëvendësoni të gjitha rastet e example.com
me emrin e domenit tuaj.
Sistemi i përditësimit:
dnf check-update || dnf upgrade -y
Instaloni mjetet e nevojshme:
dnf install @development-tools -y
Instaloni Certbot (aka Let's Encrypt klient):
dnf install certbot -y
Kontrolloni versionin Certbot:
certbot --version
# certbot 0.12.0
Merrni një certifikatë duke përdorur modalitetin e pavarur:
certbot certonly --standalone --domains example.com,www.example.com --email [email protected] --agree-tos --rsa-key-size 2048
Pasi të keni kaluar hapat e mëparshëm, certifikata juaj dhe çelësi privat do të jenë në /etc/letsencrypt/live/example.com
drejtori.
Instaloni NodeJS
Ghost currently supports Node versions 0.12.x, 4.2+, and 6.9+ only.
Ne do të instalojmë versionin e mbështetur për Ghost që është v6 Boron LTS
në kohën e këtij shkrimi.
Shkarkoni dhe instaloni versionin më të fundit LTS të Node.js:
dnf install nodejs -y
Kontrolloni versionin Node dhe NPM:
node -v && npm -v
# v6.10.2
# 3.10.10
Instaloni Nginx
Shkarkoni dhe instaloni Nginx:
dnf install nginx -y
Kontrolloni versionin Nginx:
nginx -v
# nginx version: nginx/1.10.2
Filloni dhe aktivizoni shërbimin Nginx:
systemctl start nginx.service && systemctl enable nginx.service
Konfiguro Nginx si një përfaqësues të kundërt:
vi /etc/nginx/conf.d/ghost.conf
Ngjit sa vijon në /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;
}
}
Kontrolloni sintaksën Nginx:
nginx -t
Rifresko konfigurimin Nginx:
systemctl reload nginx.service
Instaloni Ghost
Nëse dëshironi të strehoni shumë blogje Ghost në të njëjtin VPS , çdo shembull Ghost duhet të funksionojë në një port të veçantë.
Krijoni webroot
drejtorinë:
mkdir -p /var/www/
Krijo një përdorues të ri fantazmë:
useradd -c "Ghost Application" ghost
Shkarkoni Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.8/Ghost-0.11.8.zip -o ghost.zip
Zhzip fantazmën:
unzip -uo ghost.zip -d /var/www/ghost
rm -f ghost.zip
Navigoni te webroot:
cd /var/www/ghost
Ndryshoni pronësinë e drejtorisë webroot:
chown -R ghost:ghost .
Kalo te përdoruesi i ri fantazmë:
su - ghost
Navigoni te webroot:
cd /var/www/ghost
Instaloni Ghost:
npm install --production
Konfiguro Ghost duke ndryshuar url
dhe mail
vetinë e production
objektit brenda config.js
skedarit:
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.
Start Ghost:
npm start --production
Ghost tani do të funksionojë. Si ndërfaqja e përparme e blogut ashtu edhe ndërfaqja e administratorit janë të siguruara me HTTPS dhe HTTP/2 po funksionon gjithashtu. Mund të hapni shfletuesin tuaj dhe të vizitoni sajtin në https://example.com
. Mos harroni të zëvendësoni example.com
me emrin e domain.
Mbyllni procesin Ghost duke shtypur CTRL
+ C
dhe dilni nga përdoruesi fantazmë përsëri te përdoruesi rrënjë:
exit
Instaloni PM2
Nëse mbyllni sesionin tuaj të terminalit me VPS-në tuaj, blogu juaj gjithashtu do të shkojë poshtë. Kjo nuk është mirë. Për të shmangur këtë, ne do të përdorim menaxherin e procesit PM2 . Ai do ta mbajë blogun tonë aktiv 24/7.
Instaloni versionin më të fundit të qëndrueshëm të menaxherit të procesit PM2:
npm install -g pm2@latest
Kontrolloni versionin PM2:
pm2 -v
# 2.4.6
Kalo sërish te përdoruesi fantazmë:
su - ghost
Cakto NODE_ENV
variablin e mjedisit në prodhim:
echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc
Filloni (daemonizoni) aplikacionin Ghost me PM2:
pm2 start /var/www/ghost/index.js --name "Ghost Blog"
Navigoni https://example.com/ghost/
dhe krijoni përdoruesin e administratorit Ghost. Bëjeni këtë sa më shpejt të jetë e mundur.
konkluzioni
Kjo eshte. Tani kemi një blog Ghost plotësisht funksional. Nëse dëshironi të ndryshoni temën e paracaktuar të Ghost të quajtur Casper në një të personalizuar, thjesht mund ta shkarkoni dhe ta çzipni temën në /var/www/ghost/content/themes
dosje dhe ta zgjidhni atë nëpërmjet ndërfaqes së administratorit Ghost, që ndodhet në https://example.com/ghost
.