La oss kryptere (Certbot)
Installer NodeJS
Installer Nginx
Installer Ghost
Kjør Ghost vedvarende
Konklusjon
Ghost er en bloggplattform med åpen kildekode som har blitt mer populær blant utviklere og vanlige brukere siden utgivelsen i 2013. Det setter fokus på innhold og blogging . Det mest attraktive med Ghost er dens enkle, rene og responsive design. Du kan skrive blogginnleggene dine fra en mobiltelefon. Innhold for Ghost er skrevet med Markdown-språket.
I denne guiden skal vi sette opp og distribuere en sikker Ghost-blogg på en CentOS 7 VPS ved hjelp av Let's Encrypt, Node.js og Nginx.
La oss kryptere (Certbot)
Før du starter dette trinnet, sørg for at du har satt DNS-poster for domenet ditt.
Vi kommer til å bruke Let's Encrypt Certificate Authority og dens Certbot-klient for å få TLS-sertifikater for Ghost-bloggen vår. Ikke glem å erstatte alle forekomster av example.commed ditt domenenavn.
Oppdateringssystem:
yum check-update && yum update
Installer utviklingsverktøy:
yum groupinstall -y 'Development Tools'
Aktiver EPEL-depotet (Extra Packages for 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
Installer Certbot (aka Let's Encrypt-klient):
yum install -y certbot
Sjekk versjon:
certbot --version
# certbot 0.9.3
Få sertifikat:
certbot certonly -d example.com -d www.example.com --email john.doe@mail.com --agree-tos --standalone
Etter å ha gått gjennom tidligere trinn, vil sertifikatet og den private nøkkelen din være i /etc/letsencrypt/live/example.comkatalogen.
Installer NodeJS
Ghost støtter for tiden Node versjoner 0.12.x , 4.2+ , og 6.9+ bare.
Vi kommer til å installere anbefalt versjon for Ghost som er Node v4.x argon LTSi skrivende stund.
Last ned og installer LTS- versjonen av Node.js:
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum --disablerepo "*" --enablerepo "nodesource" install -y nodejs
Sjekk node- og NPM-versjon:
node -v && npm -v
# v4.7.2
# 2.15.11
Installer Nginx
Kjør vi /etc/yum.repos.d/nginx.repoog kopier/lim inn instruksjonene nedenfor og lagre og avslutt:
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
Last ned og installer Nginx:
yum install -y nginx
Sjekk Nginx-versjonen:
nginx -v
# nginx version: nginx/1.11.8
Start Nginx-prosessen og sjekk status:
systemctl start nginx
systemctl status nginx
Konfigurer Nginx som en omvendt proxy:
vi /etc/nginx/conf.d/ghost.conf
Legg til følgende til /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;
}
}
Sjekk syntaks:
nginx -t
Start Nginx på nytt:
systemctl restart nginx
Installer Ghost
Hvis du vil være vert for flere Ghost-blogger på samme VPS, må hver Ghost-forekomst kjøres på en egen port.
Lag webrootkatalog:
mkdir -p /var/www/
Opprett en Ghost-bruker:
useradd -c "Ghost Application" ghost
Last ned og installer 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
Bytt til ghostbrukeren:
su - ghost
Installer Ghost:
cd /var/www/ghost
npm install --production
Konfigurer Ghost ved å endre urlegenskapen til productionobjektet inne i config.jsfilen:
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',
...
}
...
...
Lagre config.jsfilen og avslutt.
Start Ghost:
npm start --production
Ghost vil nå kjøre. Både blogggrensesnitt og administrasjonsgrensesnitt er sikret med HTTPS og HTTP/2 fungerer også. Du kan åpne nettleseren og besøke nettstedet på https://example.com. Ikke glem å erstatte example.commed ditt domenenavn.
Kjør Ghost vedvarende
Hvis du lukker terminaløkten med VPS-en din, vil bloggen din også gå ned. Det er ikke bra. For å unngå dette kommer vi til å bruke Forever-prosessbehandleren. Det vil holde bloggen vår oppe 24/7.
Bytt til ghostbruker hvis du ikke er:
su - ghost
Gå til ghostmappen
cd /var/www/ghost
Installer Forever-prosessbehandler:
npm install forever
Legg til den nye foreverkommandoen til banen din:
echo "export PATH=/var/www/ghost/node_modules/forever/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
Start Ghost med forever:
NODE_ENV=production /var/www/ghost/node_modules/forever/bin/forever start index.js
På dette tidspunktet foreverburde jeg ha startet Ghost.
Gå til https://example.com/ghostog opprett en Ghost-administratorkonto. Gjør dette så snart som mulig. For å sjekke den kjørende versjonen av Ghost, gå til https://example.com/ghost/about/etter å ha opprettet en administratorkonto.
Konklusjon
Det er det. Vi har nå en fullt funksjonell Ghost-blogg. Hvis du vil endre standard Ghost-tema kalt Casper til et tilpasset, kan du bare laste ned og pakke ut temaet i /var/www/ghost/content/themesmappen og velge det via Ghost-administrasjonsgrensesnittet, som ligger på https://example.com/ghost.