Меню Рубрики

Установка ghost на хостинг

Предложение от 8host.com

Установка и настройка Ghost в Ubuntu 16.04

Ghost – это легковесная и простая блог-платформа с открытым исходным кодом. Ghost легко приспособить к индивидуальным потребностям пользователей. Также платформа предоставляет множество тем.

Данное руководство поможет установить Ghost на сервер Ubuntu 16.04, настроить Nginx как прокси-сервер Ghost и перевести платформу в фоновый режим.

Требования

  • Сервер Ubuntu 16.04 (1GB минимум).
  • Пользователь с доступом к sudo (больше информации в руководстве по начальной настройке сервера).
  • Настроенный брандмауэр.
  • Node.js из официального PPA (инструкции по установке можно найти здесь).
  • Nginx (подробнее – здесь).

1: Установка Ghost

Ghost рекомендуется установить в каталог var/www/ghost.

Загрузите последнюю версию Ghost из репозитория GitHub:

Чтобы распаковать архив, установите инструмент unzip:

sudo apt-get install unzip

Распакуйте загруженный архив в каталог /var/www/ghost:

sudo unzip -d /var/www/ghost ghost-latest.zip

Установите зависимости Ghost, необходимые на этапе производства.

sudo npm install —production

2: Настройка Ghost

Конфигурационный файл Ghost – /var/www/ghost/config.js. Этот файл не поставляется по умолчанию, но Ghost предоставляет шаблон конфигурации, файл config.example.js.

Скопируйте файл config.example.js в /var/www/ghost/config.js (у вас останется копия исходного файла).

sudo cp config.example.js config.js

Откройте конфигурационный файл:

Сначала нужно изменить URL (в противном случае ссылки на блог будут перенаправлять пользователей на my-ghost-blog.com). В поле url укажите свой домен или IP-адрес.

.
config = <
// ### Production
// When running Ghost in the wild, use the production environment
// Configure your URL and mail settings here
production: <
url: ‘http://your_domain_or_ip_address’,
mail: <>,
.

Значение url записывается в формате http://example.com или http://11.11.11.11 (если использовать неправильный формат, Ghost не запустится).

Ghost может работать без настроек почты; они необходимы только в том случае, если вы хотите обеспечить восстановление пароля пользователей Ghost (данное руководство не охватывает этот раздел настроек).

Больше о пользовательской настройке Ghost можно узнать на официальном сайте проекта.

Сохраните и закройте файл.

Запустите Ghost из каталога /var/www/ghost.

sudo npm start —production

> ghost@0.11.7 start /var/www/ghost
> node index
WARNING: Ghost is attempting to use a direct method to send email.
It is recommended that you explicitly configure an email service.
Help and documentation can be found at http://support.ghost.org/mail.
Migrations: Creating tables.
.
Ghost is running in production.
Your blog is now available on http://your_domain_or_ip_address
Ctrl+C to shut down

Ghost прослушивает порт 2368. Если вы настроили UFW, вы не сможете получить прямой доступ к блогу. Настройте прокси-сервер Nginx.

3: Nginx как прокси-сервер для Ghost

Теперь нужно настроить Nginx для обслуживания блога Ghost. Это позволит подключиться через порт 80 к тому порту, на котором работает Ghost (тогда пользователям не придётся указывать порт : 2368 в конце адреса). Также прокси-сервер добавляет ещё один уровень и в дальнейшем упростит масштабирование блога.

Настройте Nginx. Откройте каталог /etc/nginx и удалите стандартный конфигурационный файл Nginx из каталога /etc/nginx/sites-enabled:

cd /etc/nginx/
sudo rm sites-enabled/default

Создайте новый файл ghost в каталоге /etc/nginx/sites-available/.

sudo nano /etc/nginx/sites-available/ghost

Вставьте в конфигурационный файл следующие параметры (вместо your-domain-name укажите свой домен или IP).

server <
listen 80;
server_name your_domain_or_ip_address;
location / <
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:2368;
>
>

Теперь все запросы к этому серверу будут передаваться блогу Ghost, который работает на порте 2368. Также эти настройки устанавливают соответствующие HTTP-заголовки, благодаря чему в логах вы увидите IP-адреса посетителей.

Сохраните и закройте файл. Чтобы активировать эти настройки, создайте символьную ссылку на файл в каталоге /etc/nginx/sites-enabled:

sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

Проверьте файл на наличие ошибок:

Если ошибок нет, вы увидите:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Если команда обнаружила ошибки, исправьте их и повторите проверку.

После этого перезапустите Nginx:

sudo service nginx restart

4: Пользователь для Ghost

Чтобы повысить безопасность сервиса, нужно создать отдельного пользователя для Ghost, у которого будет доступ только к /var/www/ghost и домашнему каталогу. Даже если блог Ghost будет взломан, злоумышленник не сможет сильно повредить систему.

Создайте пользователя ghost:

sudo adduser —shell /bin/bash —gecos ‘Ghost application’ ghost

Передайте ему права на каталог /var/www/ghost:

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

Убедитесь, что новый пользователь может запускать Ghost. Войдите как пользователь ghost:

Запустите Ghost и запросите состояние сервиса:

cd /var/www/ghost
npm start —production

Теперь блог Ghost должен быть доступен по ссылке http://your_domain_or_ip_address. Nginx отправит запросы экземпляру Ghost.

5: Ghost как сервис системы

На данный момент Ghost работает в терминале. Если вы прервёте сессию, блог прекратит работу. Чтобы блог Ghost продолжал работать в фоновом режиме, создайте unit-файл systemd.

Добавьте в файл следующую конфигурацию, которая определяет имя, группу и пользователя сервиса, а также информацию о том, как его запускать:

Читайте также:  Установка зажигания на минском мотоцикле
[Unit]
Description=Ghost
After=network.target
[Service]
Type=simple
WorkingDirectory=/var/www/ghost
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start —production
ExecStop=/usr/bin/npm stop —production
Restart=always
Syslog > [Install]
WantedBy=multi-user.target

Сохраните и закройте файл. Включите и запустите сервис:

systemctl enable ghost.service
sytemctl start ghost.service

Чтобы убедиться, что всё работает, откройте ссылку:

источник

Призраки в облаках или установка Ghost в Windows Azure

Сегодня многие блоггеры считают, что WordPress стал слишком перегружен лишним функционалом и превращается из платформы для блогов в полноценную и сложную CMS. Это вовсе не плохо — разнообразие плагинов, модулей и тем, доступных сейчас в сети, позволяет использовать возможности платформы практически для любых целей. Однако у этого разнообразия есть и обратная сторона медали. Нагромождение модулей негативно сказывается на производительности сайта, при том, что даже «чистый» вордпресс не может похвастаться выскокой скоростью работы.

Ghost

Некоторое время назад на сайта стартапов Kickstarter был запущен проект под названием Ghost, слоган которого был «just a blogging platform» (платформа только для блогов). Идея пришлась многим по вкусу и проект собрал почти $200.000, вместо изначальных $25.000. Сейчас проект активно развивается и на официальном сайте уже доступна для скачивания версия 0.3.3.

Меня, как и многих других, очень заинтересовал этот проект. Во-первых, мне нравится минималистичный дизайн. Во-вторых, WordPress и правда немного избыточен для моих нужд и слегка туповат в работе. А в-третьих, меня завлекло то, что Ghost разрабатывается на Node.js — технология, о которой очень много говорят в последнее время. Я решил попробовать в действии, что же это за «just a blogging platform», и установить его себе в Windows Azure как дополнение к основному блогу.

Создание сайта в Windows Azure

Перед тем, как перейти непосредственно к работе с Ghost, нам сперва потребуется создать службу Web Sites, где мы будем хоститься. Делается это как обычно через портал управления Windows Azure. В меню New (плюсик внизу страницы) выбираем Compute -> Web Site -> Quick Create. На текущем этапе нам нужен пустой сайт без каких-либо предустановленных компонентов. Все, что нам потребуется, мы доставим далее.

После того, как сайт будет создан, нам необходимо произвести пару настроек. Во-первых, нужно сделать определенный финт ушами для того, чтобы Ghost правильно работал (подробнее — ниже). Перейдите на вкладку Configure и найдите там раздел app settings. В нем надо создать такую строку: KEY=NODE_ENV, VALUE=production.

Во-вторых, нам надо настроить способ, как передать данные с рабочего компьютера в облако. Для этого в Windows Azure есть поддержка систем контроля версий, таких как TFS или Git. Поскольку проект Ghost является Open Source и сам поставялется через GitHub, то мы тоже настроим на своем сайте Git-репозиторий и будем работать с ним. Делается это просто: на вкладке Quick Access (которая с облачком и молнией) есть пункт Integrate source control:

Нажимаем на Set up deployment from source control и выбираем Local Git repository:

Стоит упомянуть, что среди доступных вариантов есть еще и TFS и прочие системы контроля версии (даже Dropbox), но для нашего случая мы выберем Git.

На этом настройка облака Windows Azure завершена и можно переходить к наиболее интересной части — установке и настройке Ghost.

Настройка рабочего окружения

Установить Ghost можно двумя способами. Первый и самый простой — это скачать уже скомпилированные файлы напрямую с официального сайта проекта. Этот метод хорош тем, что не требует никаких дополнительных действий со стороны пользователя. Однако, поскольку проект находится в активной фазе развития, у вас есть риск, что вы скачаете не самую последнюю версию проекта, которая не будет содержать важных исправлений. Так было в моем случае. Скачав архив с сайта проекта, я получил набор файлов, который отлично устанавливался и запускался локально, однако совершенно не хотел работать в облаке.

Поэтому я считаю, что на данный момент лучше сначала пойти более долгим путем, чтобы не иметь проблем в дальнейшем. Долгий путь заключается в самостоятельной сборке готового пакета из исходников Ghost. И это только сначала звучит слишком сложно, а на деле вам нужно будет потратить лишних 10-15 минут на все.

Итак, что нам в итоге нужно сделать:

  1. Установить Node.js. Дистрибутив берется на официальном сайте Node.js. Устанавливается как обычная программа Windows. Главное следите за тем, чтобы он прописался в PATH, чтобы потом можно было пользоваться командами node, не указывая их полный путь в системе.
  2. Установить клиент для Git. Консольный клиент для Windows можно скачать на оф. сайте. Также посмотрите, чтобы он прописал вне нужные пути в PATH, или же вам придется работать из специальной командной строки Git Bash, как это делаю я.
  3. Установить Grunt. Это утилита для компиляции JavaScript проектов. Она нужна нам для того, чтобы из исходников Ghost сформировать готовый пакет для публикации. Для установки Grunt вам достаточно из командной строки выполнить команду npm install grunt-cli —g . Программа npm идет вместе с nodejs и является по сути менеджером пакетов наподобие apt-get в Debian Linux. Удобная штука, с помощью которой можно скачать и установить все необходимые для работы расширения.
  4. Для того, чтобы Grunt заработал, нам надо дополнительно установить Ruby. Скачать его можно тоже на официальном сайте.
  5. Также для работы Grunt необходимы два расширения для Ruby под названием Bourbon и Sass. Установить их оба можно одной командой gem install bourbon .
Читайте также:  Установка гимп в убунту

На этом настройка рабочего окружения завершена.

Подготовка Ghost

Подготовка Ghost разбивается на два этапа. Первый — получение файлов из официального репозитория на GitHub и последующая их компиляция. Второй — финишная настройка конфигов и прочих вещей, чтобы запустить блог в Windows Azure. Приступим!

Репозиторий Ghost на GitHub находится по этому адресу. Чтобы получить файлы проекта на свой компьютер, откройте Git Bash (его вы установили на предыдцщем этапе в п.2), перейдите в папку, где хотите сохранить этот проект и выполните команду:

Через какое-то время на вашей машине появится локальная копия репозитория Ghost со всеми файлами, которые вам будут нужны. Далее наши действия такие (то, что иде после # считается комментарием и выполнению не подлежит):

Теперь надо сделать еще один финт. Дело в том, что по умолчанию сайт Node.js, работающий в Azure, считает стартовой страницей файл с названием server.js. В Ghost же стартовой страницей является index.js, поэтому нам надо самостоятельно убрать эти разногласия. Делается это очень просто. Создаем в блокноте файл server.js в корневой директории Ghost и пишем там одну единственную строку:

Сохраняем изменения. Все, теперь Windows Azure корректно найдет настроящий стартовый файл Ghost’а.

Итак, мы уже почти готовы опубликовать свой новый блог в Azure. Осталось лишь настроить конфиги. Тут все довольно просто. В корневой директории Ghost есть файл под названием config.example.js. Переименовываем его в config.js и открываем на редактирование.

Обратите внимание, что мы ищем блок production. Это как раз конфигурация, для которой мы задавали значение параметра DEV_ENV в самом начале поста. Тут нас интересует две вещи, а именно параметр url в самом начале блока и параметр port в самом конце. Первый надо изменить на тот url, на котором будет жить ваш блог. В случае Windows Azure по умолчанию этот URL выглядит примерно так: .azurewebsites.net. Вы можете изменить его, если вручную пропишете домен для веб-сайта, но это уже тема отдельной истории. Ну а значение port меняем на строку process.env.PORT (без кавычек). Итого, должно получиться следующее:

Ну и последний шаг — открываем файл .gitignore в корневой папке проекта, находим там строки ниже и комментируем их:

Если бы мы этого не сделали, то при установке блога в Windows Azure Git просто бы не стал их копировать, проигнорировав.

Публикация сайта в Windows Azure

Теперь у нас все готово к финальному действию — публикации сайта. Для этого надо выполнить несколько команд в Git Bash:

Сперва мы сохранили все изменения с репозиторием, которые мы сделали. Затем мы закоммитили их с определенным комментарием. На третьей строке мы создали ссылку на удаленный Git-репозиторий. Адрес этого репозитория создается специально на каждый Web Site в Windows Azure (это мы сделали в самом начале) и его можно узнать на вкладке Deployments. Последняя команда отправит все файлы на сервере Windows Azure. Вы можете увидеть, как в процессе публикации выполняются различные команды на сервере. После того, как все закончится, вы должны будете увидеть свой сайт, работающий уже в облаке, а на вкладке Deployments будет красоваться что-то вроде этого:

Для первичной настройки блога зайдите по ссылке /ghost, где вам будет предложено ввести имя пользователя и пароль администратора. После чего вы полностью закончите устанавливать и настраивать свой новый блог и сможете приступить к творчеству!

Впечатления от Ghost

Я установил себе Ghost как второй блог параллельно с основным (http://ghost.glamcoder.ru/) и хочу поделиться своими впечатлениями от работы.

Начну с плюсов. Во-первых, мне очень нравится markdown как язык разметки для написания постов. Он очень чистый, легко редактируется и интуитивно понятный. А еще он больше гиковский, что добавляет ему шарма. Это что-то вроде LaTeX по сравнению с MS Word.
Во-вторых, Ghost работает шустро. Гораздо быстрее, чем WordPress, даже не задушенный плагинами. Понятное дело, что это скорее не столько заслуга Node.js (хотя наверно и его тоже), сколько просто молодость проекта и он еще не успел стать мультикомбайном типа Nero. Но разработчики уверяют, что он таким никогда не станет и всегда останется чистым и простым. Посотрим.
В-третьих, мне нравится его дизайн. Все просто, понятно, ничего лишнего. Минимализм в лучшем его проявлении.
Это, пожалуй, не все плюсы Ghost, но по крайней мере самые заметные.

Читайте также:  Установка bitrix шаг 5

С минусами не все так просто. Наибольшая претензия у меня к тому, что блог практически не кастомизируется средствами интерфейса. Т.е. из всех настроект доступно только редактирование названия и описания блога, да фонового изображения на главной странице. Все, больше ничего нет. Ни тебе менюшки, ни виджетов, ни публикации в соц. сети. Нет даже коммментарием под постами. Иными словами, блог действительно лишен всего, что не относится к написанию текста. Но тем не менее я не могу назвать это минусом. Это особенность платформы, с которой надо смириться. Любые модификации, которые вам нужны, вы можете написать сами. В прямом смысле — открыть исходный код и дописать туда нужные модули. Например, код для Яндекс.Метрики я вставлял с помощью редактирования стандартного шаблона вьюхи. То же предлагается сделать для подключения комментариев от Disqus. Полная свобода творчества!

Что хочется сказать в итоге. Если вы гик, программист, технарь (нужное подчеркнуть) и вы любите минимализм, то Ghost вам скорее всего придется по душе. Если же вы любите, чтобы все работало сразу и из коробки с минимальными усилиями — то проходите мимо. В скором времени ребята из Ghost обещают запустить свой собственный хостинг с блогами, и тогда, возможно, он покажется вам удобным. Но сейчас Ghost требует много ручной работы.

источник

Предложение от 8host.com

Установка Ghost на Nginx

Блог-платформа Ghost значительно упрощает ведение и поддержку блогов. В этом руководстве показано, как установить и запустить Ghost на виртуальном выделенном сервере.

Требования

Чтобы следовать руководству, нужны:

  • Предварительно настроенный VPS. Это руководство было выполнено на сервере Ubuntu 12.04, но оно действительно и для других современных дистрибутивов. О начальной настройке сервера Ubuntu 12.04 можно прочесть здесь.
  • Доменное имя.

1: Установка NPM

Прежде чем приступить к установке программ, убедитесь, что система находится в актуальном состоянии. Подключитесь к VPS:

А затем запустите следующие команды:

apt-get update
apt-get upgrade

После этого нужно установить npm. Следующая команда установит некоторые зависимости Node, добавит репозиторий в apt-get, после чего установит nodejs:

apt-get install python-software-properties python g++ make
add-apt-repository ppa:chris-lea/node.js
apt-get update
apt-get install nodejs

Примечание: Эту команду не нужно запускать с правами sudo, поскольку ранее вы вошли в систему как root. В противном случае используйте привилегии sudo.

Теперь попробуйте ввести npm в командную строку, после чего на экране должна появиться справочная информация. Можно приступать к установке Ghost.

2: Установка Ghost

Чтобы установить Ghost на удалённый сервер, нужно использовать npm:

/ghost-0.3
npm install —production

После завершения установки убедитесь, что Ghost работает:

Результат должен иметь такой вид:

> ghost@0.3.0 start /root/ghost-0.3
> node index
Ghost is running.
Listening on 127.0.0.1:2368
Url configured as: http://my-ghost-blog.com

Если на экране появился такой вывод, значит, установка прошла успешно. Остановите процесс при помощи клавиш Ctrl-C и приступайте к установке Nginx.

3: Установка и настройка Nginx

Теперь нужно установить и настроить Nginx.

Примечание: Nginx – это свободный и открытый высокопроизводительный HTTP-сервер и обратный прокси.

Веб-сервер Nginx прост в установке:

Чтобы приступить к настройке веб-сервера, откройте каталог конфигурационных файлов Nginx и удалите стандартный файл:

cd /etc/nginx/
rm sites-enabled/default

Создайте новый конфигурационный файл:

cd sites-available
touch ghost

В этот файл внесите следующий код, отредактировав его согласно своим данным (в целом, нужно только указать свой домен):

server <
listen 0.0.0.0:80;
server_name *your-domain-name*;
access_log /var/log/nginx/*your-domain-name*.log;
location / <
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:2368;
proxy_redirect off;
>
>

В завершение создайте символьную ссылку из sites-available на sites-enabled:

cd ..
ln -s sites-available/ghost sites-enabled/ghost

Теперь сервер будет прослушивать трафик, поступающий на порт 80, и передавать запросы платформе Ghost.

Снова запустите сервер и посетите свой домен. Если на экране появилась приветственная страница Ghost – всё прошло успешно!

4: Настройка Upstart

В завершение нужно создать задачу Upstart, которая будет обрабатывать Ghost и гарантировать запуск Ghost после сбоя. Создайте конфигурационный файл Upstart:

cd /etc/init
nano ghost.conf

# ghost
# description «An Upstart task to make sure that my Ghost server is always running»
# author «Your Name Here»
start on startup
script
cd /root/ghost
npm start
end script

Теперь Ghost будет запущен вместе с сервером. Кроме того, это позволяет управлять платформой Ghost при помощи таких команд:

service ghost start
service ghost stop
service ghost restart

источник

Добавить комментарий