Ghost este o platformă de bloguri open source care câștigă popularitate în rândul dezvoltatorilor și utilizatorilor obișnuiți de la lansarea din 2013. Pune accent pe conținut și pe bloguri . Cel mai atractiv lucru despre Ghost este designul său simplu, curat și sensibil. Vă puteți scrie postările de pe blog de pe un telefon mobil. Conținutul pentru Ghost este scris folosind limbajul Markdown.
În acest ghid vom configura și disloca un blog Ghost sigur pe un VPS CentOS 7 folosind Let's Encrypt, Node.js și Nginx.
Hai să criptăm (Certbot)
Înainte de a începe acest pas, asigurați-vă că ați setat înregistrări DNS pentru domeniul dvs.
Vom folosi autorizația „Encrypt Certificate” și clientul Certbot pentru a obține certificate TLS pentru blogul nostru Ghost. Nu uitați să înlocuiți toate instanțele example.comcu numele de domeniu.
-
Sistem de actualizare:
yum check-update && yum update
-
Instalați instrumente de dezvoltare:
yum groupinstall -y 'Development Tools'
-
Activați depozitul EPEL (pachete suplimentare pentru Enterprise Linux).
# Certbot is packaged in EPEL (Extra Packages for Enterprise Linux). To use Certbot, you must first enable the EPEL repository.
yum install -y epel-release
-
Instalați Certbot (aka client Let's Encrypt):
yum install -y certbot
-
Verificați versiunea:
certbot --version
# certbot 0.9.3
-
Obține certificat:
certbot certonly -d example.com -d www.example.com --email [email protected] --agree-tos --standalone
După parcurgerea etapelor anterioare, certificatul și cheia privată se vor afla în /etc/letsencrypt/live/example.comdirector.
Instalați NodeJS
Momentan, Ghost acceptă numai versiunile de nod 0.12.x , 4.2+ și 6.9+ .
Vom instala versiunea recomandată pentru Ghost, care se află Node v4.x argon LTSla momentul acestei scrieri.
-
Descărcați și instalați versiunea LTS a Node.js:
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum --disablerepo "*" --enablerepo "nodesource" install -y nodejs
-
Verificați versiunea Node și NPM:
node -v && npm -v
# v4.7.2
# 2.15.11
Instalați Nginx
-
Rulați vi /etc/yum.repos.d/nginx.repoși copiați / lipiți directivele de mai jos și salvați și ieșiți:
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
-
Descărcați și instalați Nginx:
yum install -y nginx
-
Verificați versiunea Nginx:
nginx -v
# nginx version: nginx/1.11.8
-
Începeți procesul Nginx și verificați starea:
systemctl start nginx
systemctl status nginx
-
Configurați Nginx ca proxy invers:
vi /etc/nginx/conf.d/ghost.conf
-
Adăugați următoarele /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;
}
}
-
Verificați sintaxa:
nginx -t
-
Reporniți Nginx:
systemctl restart nginx
Instalați Ghost
Dacă doriți să găzduiți mai multe bloguri Ghost pe același VPS, fiecare instanță Ghost trebuie să ruleze pe un port separat.
-
Creare webrootdirector:
mkdir -p /var/www/
-
Creați un utilizator Ghost:
useradd -c "Ghost Application" ghost
-
Descărcați și instalați Ghost:
cd /var/www
wget https://ghost.org/zip/ghost-latest.zip
unzip ghost-latest.zip -d ghost
chown -R ghost:ghost /var/www/ghost/
rm ghost-latest.zip
-
Comutați la ghostutilizator:
su - ghost
-
Instalați Ghost:
cd /var/www/ghost
npm install --production
-
Configurați Ghost schimbând urlproprietatea productionobiectului din config.jsfișier:
cp config.example.js config.js
vi config.js
config = {
// ### Production
// When running Ghost in the wild, use the production environment.
// Configure your URL and mail settings here
production: {
url: 'https://example.com',
...
}
...
...
-
Salvați config.jsfișierul și ieșiți.
-
Start Ghost:
npm start --production
Ghostul va alerga acum. Atât blogul front-end cât și interfața de administrare sunt securizate cu HTTPS și HTTP / 2 funcționează de asemenea. Puteți deschide browserul și vizita site-ul la https://example.com. Nu uitați să înlocuiți example.comcu numele dvs. de domeniu.
Fugi Duhul cu perseverență
Dacă închideți sesiunea de terminal cu VPS , blogul dvs. va coborî și el. Asta nu e bine. Pentru a evita acest lucru, vom folosi managerul de proces Forever. Asta va menține blogul nostru la zi 24/7.
-
Treceți la ghostutilizator dacă nu sunteți:
su - ghost
-
Accesați ghostfolderul
cd /var/www/ghost
-
Instalați managerul de proces pentru Forever:
npm install forever
-
Adaugă noua forevercomandă la calea ta:
echo "export PATH=/var/www/ghost/node_modules/forever/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
-
Începe Ghostul pentru totdeauna:
NODE_ENV=production /var/www/ghost/node_modules/forever/bin/forever start index.js
În acest moment, foreverar fi trebuit să pornească Ghost.
-
Accesați https://example.com/ghostși creați un cont de administrator Ghost. Faceți acest lucru cât mai curând posibil. Pentru a verifica versiunea rulantă a Ghost, du-te https://example.com/ghost/about/după crearea contului de admin.
Concluzie
Asta e. Avem acum un blog Ghost complet funcțional. Dacă doriți să schimbați tema Ghost implicită numită Casper într-una personalizată, puteți doar să descărcați și să dezarhivați tema în /var/www/ghost/content/themesfolder și să o selectați prin interfața de administrare Ghost, localizată la https://example.com/ghost.