Ας κρυπτογραφήσουμε (Certbot)
Εγκαταστήστε το NodeJS
Εγκαταστήστε το Nginx
Εγκαταστήστε το Ghost
Εκτελέστε το Ghost επίμονα
συμπέρασμα
Το Ghost είναι μια πλατφόρμα blogging ανοιχτού κώδικα που κερδίζει δημοτικότητα μεταξύ των προγραμματιστών και των απλών χρηστών από την κυκλοφορία της το 2013. Δίνει έμφαση στο περιεχόμενο και το blogging . Το πιο ελκυστικό πράγμα για το Ghost είναι ο απλός, καθαρός και ανταποκρινόμενος σχεδιασμός του. Μπορείτε να γράψετε τις αναρτήσεις του ιστολογίου σας από ένα κινητό τηλέφωνο. Το περιεχόμενο για το Ghost γράφεται χρησιμοποιώντας τη γλώσσα Markdown.
Σε αυτόν τον οδηγό πρόκειται να δημιουργήσουμε και να αναπτύξουμε ένα ασφαλές ιστολόγιο Ghost σε ένα CentOS 7 VPS χρησιμοποιώντας Let's Encrypt, Node.js και Nginx.
Ας κρυπτογραφήσουμε (Certbot)
Πριν ξεκινήσετε αυτό το βήμα, βεβαιωθείτε ότι έχετε ορίσει εγγραφές DNS για τον τομέα σας.
Θα χρησιμοποιήσουμε το Let's Encrypt Certificate Authority και τον πελάτη Certbot του για να αποκτήσουμε πιστοποιητικά TLS για το ιστολόγιό μας Ghost. Μην ξεχάσετε να αντικαταστήσετε όλες τις εμφανίσεις του example.comμε το όνομα τομέα σας.
Σύστημα ενημέρωσης:
yum check-update && yum update
Εγκαταστήστε εργαλεία ανάπτυξης:
yum groupinstall -y 'Development Tools'
Ενεργοποιήστε το αποθετήριο EPEL (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
Εγκαταστήστε το Certbot (γνωστό και ως πελάτης Let's Encrypt):
yum install -y certbot
Ελέγξτε την έκδοση:
certbot --version
# certbot 0.9.3
Λήψη πιστοποιητικού:
certbot certonly -d example.com -d www.example.com --email john.doe@mail.com --agree-tos --standalone
Αφού ολοκληρώσετε τα προηγούμενα βήματα, το πιστοποιητικό και το ιδιωτικό κλειδί σας θα βρίσκονται στον /etc/letsencrypt/live/example.comκατάλογο.
Εγκαταστήστε το NodeJS
Ghost υποστηρίζει προς το παρόν εκδόσεις Κόμβος 0.12.x , 4.2+ και 6.9+ μόνο.
Θα εγκαταστήσουμε τη συνιστώμενη έκδοση για το Ghost που βρίσκεται Node v4.x argon LTSτη στιγμή της συγγραφής αυτής.
Κατεβάστε και εγκαταστήστε την έκδοση LTS του Node.js:
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum --disablerepo "*" --enablerepo "nodesource" install -y nodejs
Ελέγξτε την έκδοση Node και NPM:
node -v && npm -v
# v4.7.2
# 2.15.11
Εγκαταστήστε το Nginx
Εκτελέστε vi /etc/yum.repos.d/nginx.repoκαι αντιγράψτε/επικολλήστε τις παρακάτω οδηγίες και αποθηκεύστε και βγείτε:
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
Κατεβάστε και εγκαταστήστε το Nginx:
yum install -y nginx
Ελέγξτε την έκδοση Nginx:
nginx -v
# nginx version: nginx/1.11.8
Ξεκινήστε τη διαδικασία Nginx και ελέγξτε την κατάσταση:
systemctl start nginx
systemctl status nginx
Διαμορφώστε το Nginx ως αντίστροφο διακομιστή μεσολάβησης:
vi /etc/nginx/conf.d/ghost.conf
Προσθέστε τα ακόλουθα στο /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;
}
}
Ελέγξτε τη σύνταξη:
nginx -t
Επανεκκινήστε το Nginx:
systemctl restart nginx
Εγκαταστήστε το Ghost
Εάν θέλετε να φιλοξενήσετε πολλά ιστολόγια Ghost στο ίδιο VPS, κάθε παρουσία Ghost πρέπει να εκτελείται σε ξεχωριστή θύρα.
Δημιουργία webrootκαταλόγου:
mkdir -p /var/www/
Δημιουργήστε έναν χρήστη Ghost:
useradd -c "Ghost Application" ghost
Κατεβάστε και εγκαταστήστε το 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
Εναλλαγή στο ghostχρήστη:
su - ghost
Εγκαταστήστε το Ghost:
cd /var/www/ghost
npm install --production
Διαμορφώστε το Ghost αλλάζοντας την urlιδιότητα του productionαντικειμένου μέσα στο config.jsαρχείο:
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',
...
}
...
...
Αποθήκευση config.jsαρχείου και έξοδος.
Start Ghost:
npm start --production
Το Ghost θα τρέχει τώρα. Τόσο το front-end ιστολογίου όσο και η διεπαφή διαχειριστή είναι ασφαλισμένα με HTTPS και το HTTP/2 λειτουργεί επίσης. Μπορείτε να ανοίξετε το πρόγραμμα περιήγησής σας και να επισκεφτείτε τον ιστότοπο στη διεύθυνση https://example.com. Μην ξεχάσετε να αντικαταστήσετε example.comμε το όνομα τομέα σας.
Εκτελέστε το Ghost επίμονα
Εάν κλείσετε την περίοδο σύνδεσης του τερματικού σας με το VPS σας, το ιστολόγιό σας θα σβήσει επίσης. Αυτό δεν είναι καλό. Για να αποφευχθεί αυτό, θα χρησιμοποιήσουμε τον διαχειριστή διαδικασιών Forever. Αυτό θα κρατήσει το blog μας ανοιχτό 24/7.
Εναλλαγή σε ghostχρήστη εάν δεν είστε:
su - ghost
Μεταβείτε στο ghostφάκελο
cd /var/www/ghost
Εγκαταστήστε το Forever Process Manager:
npm install forever
Προσθέστε τη νέα foreverεντολή στη διαδρομή σας:
echo "export PATH=/var/www/ghost/node_modules/forever/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
Ξεκινήστε το Ghost με το για πάντα:
NODE_ENV=production /var/www/ghost/node_modules/forever/bin/forever start index.js
Σε αυτό το σημείο, foreverθα έπρεπε να είχε ξεκινήσει το Ghost.
Μεταβείτε https://example.com/ghostκαι δημιουργήστε έναν λογαριασμό διαχειριστή Ghost. Κάντε αυτό το συντομότερο δυνατό. Για να ελέγξετε την τρέχουσα έκδοση του Ghost, μεταβείτε στο https://example.com/ghost/about/μετά τη δημιουργία λογαριασμού διαχειριστή.
συμπέρασμα
Αυτό είναι. Τώρα έχουμε ένα πλήρως λειτουργικό ιστολόγιο Ghost. Εάν θέλετε να αλλάξετε το προεπιλεγμένο θέμα Ghost που ονομάζεται Casper σε προσαρμοσμένο, μπορείτε απλώς να κάνετε λήψη και να αποσυμπιέσετε το θέμα στο /var/www/ghost/content/themesφάκελο και να το επιλέξετε μέσω της διεπαφής διαχειριστή Ghost, που βρίσκεται στη διεύθυνση https://example.com/ghost.