Как установить программное обеспечение Ghost Blog с Apache и SSL на Ubuntu 15.10
Это руководство существует для этих версий ОС
- Ubuntu 16.04 (Xenial Xerus)
- Ubuntu 15.10 (Wily Werewolf)
На этой странице
- Предпосылки
- Шаг 1. Установите Node.js в Ubuntu
- Шаг 2. Установите Ghost Blog
- Шаг 3. Настройка Ghost
- Шаг 4. Установите Apache и Ghost VirtualHost
- Шаг 5. Включите SSL для Ghost
- Тестирование
- Заключение
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-сертификат.