Поиск по сайту:

Как установить программное обеспечение Ghost Blog с Apache и SSL на Ubuntu 15.10


Это руководство существует для этих версий ОС

  • Ubuntu 16.04 (Xenial Xerus)
  • Ubuntu 15.10 (Wily Werewolf)

На этой странице

  1. Предпосылки
  2. Шаг 1. Установите Node.js в Ubuntu
  3. Шаг 2. Установите Ghost Blog
  4. Шаг 3. Настройка Ghost
  5. Шаг 4. Установите Apache и Ghost VirtualHost
  6. Шаг 5. Включите SSL для Ghost
  7. Тестирование
  8. Заключение

Nodejs – это среда выполнения JavaScript с открытым исходным кодом, созданная на базе JavaScript-движка Chromes V8 (v4) для разработки серверных веб-приложений. Nodejs — это кроссплатформенная среда выполнения, которая может работать в OS X, Microsoft Windows, Linux и FreeBSD. Он обеспечивает управляемую событиями архитектуру и неблокирующую модель ввода-вывода, что делает его легким и эффективным для веб-приложений в реальном времени. Проект Node.js был запущен в 2009 году Райаном Далом и на сегодняшний день достиг версии 4.2.0 (LTS).

Ghost — это мощная платформа для публикаций и блогов с открытым исходным кодом, красиво оформленная и простая в использовании. Ghost написан на JavaScript и использует node.js в качестве среды выполнения. Ghost был выпущен в 2013 году по лицензии MIT.

Предпосылки

  • Убунту 15.10
  • привилегии root

Что мы будем делать в этом уроке:

  • Установите Node.js
  • Установить призрак
  • Настроить призрак
  • Установите Apache и добавьте Ghost VirtualHost.
  • Включить SSL для Ghost

Шаг 1. Установите Node.js на Ubuntu

В этом уроке мы будем использовать node.js v0.12. Node.js можно установить из исходного кода или из репозитория nodesource.com. Для установки мы будем использовать репозиторий node.js https://deb.nodesource.com/node_0.12.

Пожалуйста, добавьте и обновите репозиторий, выполнив команду ниже:

curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

Затем установите node.js с помощью apt:

sudo apt-get install -y nodejs

Теперь проверьте версию node.js:

node --version

v0.12.7

И проверьте версию npm:

npm --version

2.11.3

Npm — это менеджер пакетов node.js, который используется для установки, публикации и управления программами Node.

Шаг 2 — Установите Ghost Blog

Мы установим Ghost в каталог \/var/www/\ и будем использовать последнюю версию Ghost. Пожалуйста, создайте новый каталог \www\ в /var и введите его с помощью \cd\:

mkdir -p /var/www/
cd /var/www/

Загрузите Ghost с помощью команды wget, а затем извлеките его в каталог с именем «ghostblog»:

wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip

ПРИМЕЧАНИЕ. -d: автоматически создает каталог.

Затем перейдите в каталог ghostblog и установите Ghost с помощью команды npm от имени пользователя root/sudo:

cd ghostblog/
npm install --production

Шаг 3. Настройка призрака

Перейдите в каталог ghostblog, а затем скопируйте файл примера конфигурации в \config.js\

cd /var/www/ghostblog/
cp config.example.js config.js

Теперь откройте файл конфигурации с помощью редактора vim:

vim config.js

В блоке сервера (строка 27) измените значение хоста на 0.0.0.0.

host = 0.0.0.0

Чтобы разрешить доступ к блогу извне. Сохранить и выйти.

Затем добавьте нового пользователя \призрак\. Этот пользователь будет использоваться для запуска призрака:

sudo adduser --shell /bin/bash ghost
ENTER YOUR PASSWORD

Теперь измените владельца для директории установки призрака на пользователя \призрак\.

chown -R ghost:ghost /var/www/ghostblog

Протестируйте блог-призрак, выполнив команду npm от имени пользователя-призрака. Пожалуйста, войдите в систему под пользователем Ghost:

su - ghost

И перейдите в каталог установки Ghost и запустите его:

cd /var/www/ghostblog
npm start --production

Посетите IP-адрес сервера на порту 2368, в моем случае: 192.168.1.104:2368

Чтобы упростить запуск Ghost, мы создадим системную службу для запуска Ghost. Вернитесь к пользователю sudo/root и создайте новый файл с именем \ghost.service\ в каталоге \/lib/systemd/system/\.

sudo cd /lib/systemd/system/
sudo vim ghost.service

Вставьте скрипт systemd ниже:

[Unit]
Description=ghost
After=network.target

[Service]
Type=simple
# Ghost installation Directory
WorkingDirectory=/var/www/ghostblog
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start --production
ExecStop=/usr/bin/npm stop --production
Restart=always
SyslogIdentifier=Ghost

[Install]
WantedBy=multi-user.target

И сохраните файл. Затем перезагрузите демон systemd:

sudo systemctl daemon-reload

Добавьте службу Ghost для автоматического запуска во время загрузки и запустите Ghost с помощью команды systemctl:

sudo systemctl enable ghost
sudo systemctl start ghost

Шаг 4 — Установите Apache и Ghost VirtualHost

Установите apache с помощью команды apt-get:

sudo apt-get install apache2

После завершения установки создайте новый файл для виртуального хоста-призрака в каталоге \/etc/apache2/sites-available/\.

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

Вставьте конфигурацию ниже:

<VirtualHost *:80>
    #Domain Name
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    #HTTP proxy/gateway server
    ProxyRequests off 
    ProxyPass / http://127.0.0.1:2368/ 
    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

Сохранить и выйти.

Активируйте модуль прокси-сервера HTTP в apache с помощью команды a2enmod, как показано ниже:

sudo a2enmod proxy proxy_http

Наконец, нам нужно активировать виртуальный хост Ghost, а затем перезапустить apache:

sudo a2ensite ghostblog
sudo systemctl restart apache2

Перезапустите призрак:

sudo systemctl restart ghost

Протестируйте, посетив домен: http://ghostblog.me.

Шаг 5. Включите SSL для Ghost

Чтобы включить SSL в Apache, убедитесь, что в системе установлена библиотека openssl. Мы создадим новый ключ и файл crt в каталоге \/etc/apache2/certs\. Сначала мы создаем новые сертификаты каталога:

sudo mkdir -p /etc/apache2/certs

И сгенерируйте ключ сертификата с помощью команды ниже:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt

Пожалуйста, измените разрешение файла сертификата:

sudo cd /etc/apache2/certs/
sudo chmod 600 *

Затем добавьте конфигурацию ssl в виртуальный хост-призрак, отредактировав файл \ghostblog.conf\.

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

Вставьте новый скрипт конфигурации ниже:

<VirtualHost *:80>
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    # Force http to https
    Redirect permanent / https://ghostblog.me/
#    ProxyRequests off 
#    ProxyPass / http://127.0.0.1:2368/ 
#    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

<VirtualHost *:443>

   ServerName ghostblog.me

   SSLEngine on
   SSLCertificateFile /etc/apache2/certs/ghostblog.crt
   SSLCertificateKeyFile /etc/apache2/certs/ghostblog.key

   ProxyPass / http://127.0.0.1:2368/
   ProxyPassReverse / http:/127.0.0.1:2368/
   ProxyPreserveHost   On

   RequestHeader set X-Forwarded-Proto "https"

</VirtualHost>

Сохранить и выйти.

Активируйте модуль apache OpenSSL и перезапустите apache:

sudo a2enmod ssl headers
sudo systemctl restart apache2

Тестирование

Посетите http://ghostblog.me, и вы будете вынуждены перейти на HTTPS/SSL-сайт своего блога.

Теперь Ghost с apache и SSL успешно установлен.

Заключение

Nodejs — это многоплатформенная среда выполнения javascript с открытым исходным кодом для создания веб-приложений на стороне сервера. Он легкий и эффективный для веб-приложений в реальном времени. Ghost — это платформа для ведения блогов, написанная на Javascript для Node.js. Ghost красиво оформлен и удобен для пользователя. Интуитивно понятный интерфейс упрощает использование этой системы блогов. Ghost можно установить отдельно или с веб-сервером, таким как Apache или Nginx. Вы можете защитить Ghost с помощью openssl. Настроить Ghost с помощью Apache и OpenSSL очень просто, вам просто нужно настроить модуль apache http_proxy и сгенерировать SSL-сертификат.