Захтеви
Хајде да шифрујемо
Инсталирајте НодеЈС
Инсталирајте Нгинк
Инсталирајте Гхост
Инсталирајте ПМ2
Закључак
Гхост је платформа за блогове отвореног кода која постаје све популарнија међу програмерима и обичним корисницима од свог издања 2013. године. Фокусира се на садржај и блоговање . Најпривлачнија ствар код Гхост-а је његов једноставан, чист и прилагодљив дизајн. Своје постове на блогу можете писати са мобилног телефона. Садржај за Гхост је написан користећи Маркдовн језик. Гхост је савршен за појединце или мале групе писаца.
У овом упутству ћемо поставити и распоредити сигурну Гхост блог на Федора 25 ВПС користећи Лет је Шифруј , Цертбот , Ноде.јс , Нгинк и ПМ2 .
Захтеви
- Федора 25 инстанца сервера са најмање 1 ГБ РАМ-а .
- Вероватно ћете морати да отворите порт 2368 са
semanage port -a -t http_port_t -p tcp 2368.
Хајде да шифрујемо
Пре него што започнете овај корак, уверите се да сте поставили ДНС записе за свој домен.
Користићемо Лет'с Енцрипт ЦА и ЕФФ-ов Цертбот клијент да добијемо ТЛС сертификат за наш Гхост блог. Не заборавите да замените све инстанце example.comса именом вашег домена.
Систем ажурирања:
dnf check-update || dnf upgrade -y
Инсталирајте потребне алате:
dnf install @development-tools -y
Инсталирајте Цертбот (ака Лет'с Енцрипт клијент):
dnf install certbot -y
Проверите верзију Цертбота:
certbot --version
# certbot 0.12.0
Набавите сертификат користећи самостални” режим:
certbot certonly --standalone --domains example.com,www.example.com --email john.doe@example.com --agree-tos --rsa-key-size 2048
Након проласка кроз претходне кораке, ваш сертификат и приватни кључ ће бити у /etc/letsencrypt/live/example.comдиректоријуму.
Инсталирајте НодеЈС
Ghost currently supports Node versions 0.12.x, 4.2+, and 6.9+ only.
Инсталираћемо подржану верзију за Гхост која је v6 Boron LTSу време писања овог текста .
Преузмите и инсталирајте најновију ЛТС верзију Ноде.јс:
dnf install nodejs -y
Проверите верзију чвора и НПМ-а:
node -v && npm -v
# v6.10.2
# 3.10.10
Инсталирајте Нгинк
Преузмите и инсталирајте Нгинк:
dnf install nginx -y
Проверите верзију Нгинк-а:
nginx -v
# nginx version: nginx/1.10.2
Покрените и омогућите Нгинк услугу:
systemctl start nginx.service && systemctl enable nginx.service
Конфигуришите Нгинк као обрнути прокси:
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
Поново учитајте Нгинк конфигурацију:
systemctl reload nginx.service
Инсталирајте Гхост
Ако желите да угостите више Гхост блогова на истом ВПС-у , свака Гхост инстанца мора да ради на посебном порту.
Направите webrootдиректоријум:
mkdir -p /var/www/
Креирајте новог корисника духа:
useradd -c "Ghost Application" ghost
Преузмите Гхост:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.8/Ghost-0.11.8.zip -o ghost.zip
Распакујте дух:
unzip -uo ghost.zip -d /var/www/ghost
rm -f ghost.zip
Идите на веб-роот:
cd /var/www/ghost
Промените власништво над веброот директоријумом:
chown -R ghost:ghost .
Пребаците се на новог корисника духова:
su - ghost
Идите на веб-роот:
cd /var/www/ghost
Инсталирајте Гхост:
npm install --production
Конфигуришите Гхост променом urlи mailсвојства productionобјекта унутар config.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.
Старт Гхост:
npm start --production
Дух ће сада трчати. И фронт-енд блога и интерфејс администратора су заштићени ХТТПС-ом, а ХТТП/2 такође ради. Можете отворити свој претраживач и посетити сајт на https://example.com. Не заборавите да замените example.comсвојим именом домена.
Искључите Гхост процес притиском на CTRL+ Cи изађите из гхост корисника назад на роот корисника:
exit
Инсталирајте ПМ2
Ако затворите своју терминалску сесију са својим ВПС-ом , ваш блог ће такође бити угашен. То није добро. Да бисмо ово избегли, користићемо менаџер процеса ПМ2 . То ће одржати наш блог активним 24/7.
Инсталирајте најновију стабилну верзију ПМ2 менаџера процеса:
npm install -g pm2@latest
Проверите верзију ПМ2:
pm2 -v
# 2.4.6
Поново пређите на корисника духова:
su - ghost
Подесите NODE_ENVпроменљиву окружења на производњу:
echo "export NODE_ENV=production" >> ~/.bashrc && source ~/.bashrc
Покрените (демонизујте) Гхост апликацију са ПМ2:
pm2 start /var/www/ghost/index.js --name "Ghost Blog"
Идите до https://example.com/ghost/и креирајте Гхост администраторског корисника. Урадите ово што је пре могуће.
Закључак
То је то. Сада имамо потпуно функционалан Гхост блог. Ако желите да промените подразумевану Гхост тему под називом Цаспер у прилагођену, можете само да преузмете и распакујете тему у /var/www/ghost/content/themesфасциклу и изаберете је преко Гхост администраторског интерфејса, који се налази на https://example.com/ghost.