- Установка и настройка Ghost в Ubuntu 16.04
- Требования
- 1: Установка Ghost
- 2: Настройка Ghost
- 3: Nginx как прокси-сервер для Ghost
- 4: Пользователь для Ghost
- 5: Ghost как сервис системы
- Не могу настроить ghost
- 1) Как поставить Ghost?
- 2) Настройка платформы Ghost
- 3) Настройка Nginx в качестве прокси-сервера Ghost
- 4) Создание пользователя для Ghost
- 5) Установка Ghost как сервиса системы
- Как создать простой и мощный блог. Гайд по Ghost
- Кому пригодится Ghost
- Используем Ghost бесплатно и легально
- Устанавливаем Ghost за 15 минут
- Проводим базовую кастомизацию дизайна
- Проводим продвинутую кастомизацию дизайна
- Кастомизируем CSS
- Кастомизируем шаблон
- Оптимизируем под SEO и соцсети
- Добавляем метатеги сайта
- Добавляем метатеги публикаций
- Пишем посты и создаем страницы
- Форматируем
- Используем Markdown
- Используем HTML/CSS-блоки
- Используем изображения
- Добавляем встроенные и декоративные элементы
- Настраиваем
- Публикуем
- Управляем авторами
- Управляем тегами
- Настраиваем paywall или подписку
- Добавляем интеграции
- Подключаем комментарии
- Конфигурируем автоматизации
- Создаем интеграции по API
- Устанавливаем обновления
- Команды для управления Ghost из консоли
- Итоги
Установка и настройка 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
Откройте конфигурационный файл:
sudo nano 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 в конце адреса). Также прокси-сервер добавляет ещё один уровень и в дальнейшем упростит масштабирование блога.
Остановите Ghost (CTRL+C).
Настройте 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
SyslogIdentifier=Ghost
[Install] WantedBy=multi-user.target
Сохраните и закройте файл. Включите и запустите сервис:
systemctl enable ghost.service
sytemctl start ghost.service
Чтобы убедиться, что всё работает, откройте ссылку:
Источник
Не могу настроить ghost
- Главная
- Блог
- Администрирование
- Установка и настройка Ghost в Ubuntu 16.04
Установка и настройка Ghost в Ubuntu 16.04
Из статьи вы узнаете, как поставить Ghost в Ubuntu 16.04, а также настроить платформу для стабильной работы.
Если бы хотите иметь свой блог, то обратите внимание на Ghost. Это легкая платформа, имеющая открытый исходный код и поддерживающая большое количество тем оформления. Сервис можно быстро настроить под потребности любого владельца сайта. Мы покажем вам, как поставить Ghost на Ubuntu сервер версии 16.04. Кроме того, вы узнаете, как настроить Nginx в качестве прокси-сервера для сервиса, а также как заставить работать платформу в фоновом режиме.
Что же нам потребуется?
- • Во-первых – это сервер на Ubuntu 16.04 с 1 Гб свободной памяти минимум;
- • Во-вторых – нужно заранее настроить брандмауэр;
- • В-третьих – сделать пользователя с доступом к sudo;
- • В-четвертых – нужно поставить Nginx;
- • В-пятых – загруженный node.js из официального РРА.
1) Как поставить Ghost?
Мы рекомендуем вам инсталлировать платформу в папку: var/www/ghost. Но сначала требуется загрузить последнюю редакцию Ghost из официального репозитория Github. Наберите в консоли:
Для распаковки архива потребуется специальный инструмент unzip. Его можно поставить с помощью команды:
Архив теперь нужно распаковать в папку /var/www/ghost. Для этого нам пригодится команда:
Данную директорию нужно открыть в консоли:
Нам также потребуются некоторые зависимости для Ghost. Их можно поставить вот так:
2) Настройка платформы Ghost
Все настройки платформы находятся в одной файле /var/www/ghost/config.js. Но имейте ввиду, что его нет в сборке по умолчанию, а присутствует лишь конфигурационный шаблон config.example.js. Его и предстоит скопировать в папку: /var/www/ghost/config.js. При этом копия исходного фала у вас останется. Наберите:
Теперь файл конфигурации нужно открыть с правами доступа:
Первое, что внутри стоит поменять, – это URL, ведь иначе ссылки на ваш блок будут направлять пользователей на my-ghost-blog.com. Нужно указать ваше доменное имя или IP-адрес в поле для URL. Все будет выглядеть вот так:
Имейте ввиду, что адрес сайта нужно писать вот в таком формате: http://example.com либо http://11.11.11.11. Если вы пропишите URL некорректно, платформа Ghost не будет работать. Приложение способно функционировать даже без указания настроек электронной почты. Они могут потребоваться только для восстановления утерянного пароля доступа пользователей Ghost.
Теперь мы можем сохранить изменения в файле конфигурации и закрыть его. Из папки /var/www/ghost нам нужно напустить платформу:
Данная команда должна вам вернуть:
Платформа прослушивает порт 2368. Вы не сможете получить прямой доступ к вашему блогу, если настроили предварительно UFW. Поэтому и придется настраивать Nginx.
3) Настройка Nginx в качестве прокси-сервера Ghost
Приложение требуется настроить для того, чтобы оно обслуживало блог Ghost. Так вы сможете подключиться к 80 порту, ведь на нем и работает Ghost. Это важно, ведь так посетителям не будет нужно писать порт 2368 в конце URL. Прокси-сервер добавит еще один уровень, для упрощения дальнейшего масштабирования вашего блога. Для начала нам нужно остановить Ghost (Ctrl+C). После этого приступаем к настройке Nginx, чтобы сервер мог обслуживать блог. Нужно открыть папку /etc/nginx. Из директории /etc/nginx/sites-enabled: удалите файл конфигурации:
В каталоге /etc/nginx/sites-available/ придется создать новый файл Ghost с помощью:
В файл конфигурации придется добавить некоторые значения. Вместо your-domain-name пропишите свое доменное имя или IP-адрес:
После таких манипуляций все запросы нашему серверу будут передаваться в блог, работающий на 2368 порте. Вышеописанные настройки помогают также установить HTTP-заголовки. Это позволит вам видеть IP-адреса посетителей в логах. Теперь нужно сохранить изменения и закрыть файл. Для активации настроек нужно создать символьную ссылку на фал в папке /etc/nginx/sites-enabled. Наберите в консоли:
Его обязательно нужно будет проверить на наличие ошибок с помощью:
Когда все в порядке, вы увидите на экране вот такие строки:
Если что-то обнаружится, то нужно все поправить и перепроверить заново. В случае успеха – перезапустите сервер Nginx:
4) Создание пользователя для Ghost
Для повышения безопасности сервиса, создайте отдельного Ghost пользователя. У него должен быть доступ к папке /var/www/ghost и домашней директории. Даже при взломе сервиса Ghost у хакера не будет возможности «завалить» систему. Создадим Ghost пользователя с помощью:
Теперь ему нужно передать права доступа к папке /var/www/ghost:
Новый пользователь должен получить возможность запуска Ghost. Чтобы проверить это, нужно войти в систему как пользователь сервиса:
Запускаем Ghost, а также запрашиваем состояние нашего сервиса посредством:
Если все сделано без ошибок, блогом Ghost можно будет пользоваться по ссылке: http://your_domain_or_ip_addressю. Сервер Nginx сможет отправлять запросы нашему сервису.
5) Установка Ghost как сервиса системы
После выполнения всех вышеописанных операций, сервис блога работает в терминале системы. Однако после окончания сессии Ghost перестанет работать. Мы сделаем так, чтобы сервис мог функционировать в фоновом режиме. Для этого создадим unit-файл systemd набрав в консоли:
В него нужно прописать некоторые настройки для определения имени, пользователя и группу сервиса и указания о способе его запуска. Для этого потребуется вставить:
После этого изменения нужно сохранить, а файл – закрыть. Ghost нужно будет включить, а потом запустить:
Откройте ссылку, чтобы удостовериться в том, что все работает, как надо:
Источник
Как создать простой и мощный блог. Гайд по Ghost
Хотите запустить сайт или блог, но всегда откладывали? Не подружились с WordPress? Ищете мощную, но при этом простую CMS (еще и бесплатную)? Отлично, тогда ваш выбор – Ghost.
Это платформа с открытым исходным кодом на Node.js. Ее можно установить за 15-20 минут и настроить за пару часов без навыков программирования. Пользоваться Ghost совсем не сложно, но при этом он дает множество дополнительных инструментов и позволяет гибко настраивать сайт. Я покажу, как быстро и красиво сделать свое мини-медиа. А если разбираться со всеми тонкостями не хочется, можно заказать сайт на Ghost у меня.
Кому пригодится Ghost
- Блогерам и предпринимателям: сделать личный блог, сайт продукта или компании без затрат на разработку и поддержку.
- Независимым изданиям: создать информационный или развлекательный ресурс с быстрой админкой и SEO-оптимизацией.
- Бренд-медиа: запустить коммерческое издание с полным контролем над данными и интеграциями в другие сервисы.
Используем Ghost бесплатно и легально
Ghost – некоммерческий проект, но даже таким организациям нужны деньги на развитие. Поэтому платформа предоставляется в двух форматах: бесплатно и по подписке. И в том, и в другом случае вы получаете одинаковый продукт со всеми функциями. Различие только в том, где будет установлен сайт и кому придется управлять сервером.
Платные тарифы стоят от тридцати долларов в месяц при оплате на год вперед. Единственное их преимущество – Ghost настраивается и обновляется автоматически, а вам не нужно следить за работоспособностью сервера. В бесплатной версии вы получаете все то же самое, но устанавливать и обновлять продукт придется самостоятельно.
Компания идет навстречу платным пользователям:
- Стоимость подписки фиксируется, поэтому если в будущем Ghost поднимет цены, вас это не коснется.
- Сайт не отключат из-за разовых пиковых нагрузок – Ghost просит вас купить план с большим лимитом только после того, как нагрузка превышает квоту три месяца подряд.
- Квоту на авторов расходуют только аккаунты, которые были активны хотя бы раз за последний месяц.
- Для некоммерческих организаций и студентов есть скидка 25%.
Несмотря на подобную лояльность, я рекомендую пользоваться бесплатной версией. Настроить платформу нужно только раз, обновление запускается тремя командами, а сервер на DigitalOcean работает без перебоев, если его не трогать. При этом экономия составит как минимум 24 доллара в месяц – и никаких ограничений.
Устанавливаем Ghost за 15 минут
Провайдер облачного хостинга DigitalOcean предлагает уже сконфигурированный сервер (он называется «дроплет») за 5 долларов в месяц. На нем установлены ОС Ubuntu, веб-сервер Nginx, база данных MySQL, среда Node.js и сам Ghost. Необязательно знать, что значат все эти названия – сервер запускается в один клик и уже готов к работе.
Откройте страницу дроплета и нажмите синюю кнопку «Create Ghost Droplet». После создания аккаунта DigitalOcean откроется окно с настройками вашего будущего сервера. Укажите нужные опции и нажмите зеленую кнопку внизу.
На что обратить внимание:
- Выберите план. По умолчанию провайдер предлагает мощный сервер за 40 долларов в месяц. Ghost будет комфортно себя чувствовать и на самом дешевом тарифе – просто нажмите стрелочку слева и щелкните на «$5/mo».
- Выберите расположение. Сервер может находиться в одном из восьми городов – советую брать тот, что географически ближе к вашим читателям. Если сайт рассчитан на аудиторию из СНГ, можно взять дроплет во Франкфурте, Лондоне или Амстердаме.
- Включите бэкапы. Резервное копирование обойдется всего в один доллар в месяц, зато появится возможность быстро восстановить сервер, если он сломается или когда вы случайно собьете настройки. Это дешевле подписки на Apple Music, а пользы от бэкапов уж точно не меньше.
После того, как вы создали дроплет, нужно закончить настройку Ghost. Подключитесь к серверу через консоль – вы можете использовать встроенную в Mac программу «Терминал», скачать Termius или PuTTY. Для подключения введите IP (адрес сервера – набор цифр, разделенных точками) и одноразовый пароль, который DigitalOcean прислал вам на почту.
Важно: перед тем, как заканчивать настройку Ghost, добавьте А-запись с IP-адресом сервера в DNS вашего домена. В разных сервисах этот процесс устроен по-разному, поэтому воспользуйтесь инструкцией на сайте вашего регистратора доменов.
В консоли сервер попросит вас нажать Enter, ввести ваш домен и e-mail (почта нужна только для создания сертификата защищенного соединения SSL). Затем Ghost самостоятельно настроит сайт.
Готово! Панель управления вашим сайтом находится по адресу «ваш.домен/ghost/». Советую убедиться, что она доступна. Если все прошло правильно, в браузере вы увидите это:
Кликайте на единственную кнопку и создайте аккаунт администратора. Введите название сайта (будет отображаться на главной), имя, почту и пароль. На следующем шаге можно отправить приглашения соавторам или редакторам, если они у вас есть. Это необязательно – можно просто пропустить рассылку приглашений, воспользовавшись опцией «I’ll do this later, take me to my site!».
Добро пожаловать в панель управления. Здесь можно:
- Посмотреть, как выглядит сайт (у вас это будет стандартная тема с набором шаблонных постов).
- Написать и отредактировать посты.
- Создать и отредактировать страницы.
- Управлять темами-тегами.
- Управлять аккаунтами администраторов, редакторов и авторов.
- Изменить базовые настройки сайта (логотип, метаданные, часовой пояс и другое).
- Выбрать тему и отредактировать меню сайта.
- Добавить кастомный код во все страницы сайта (например, счетчик Google Analytics).
- Подключить интеграции.
- Попробовать экспериментальные функции вроде включения paywall.
- Настроить ваш аккаунт.
Так выглядит панель управления сайтом на Ghost
Кстати, управлять сайтом можно не только из браузера, но и через десктопное приложение Ghost.
Проводим базовую кастомизацию дизайна
Основной способ менять структуру и дизайн сайта – это темы. По умолчанию Ghost устанавливается с темой Casper. Если в целом она вас устраивает, можно оставить ее и подкорректировать детали с помощью HTML/CSS.
Так выглядит демо-сайт с темой Casper. При желании можно убрать рубрики, авторов и даты
Другие темы можно найти на сайте Ghost Marketplace и в интернете – например, на Github по тегу ghost-theme. Разработчики создают их для разных целей: есть темы для медиа, сайтов с документацией, лендингов, портфолио, сайтов компаний. Я отредактировал под свои нужды стандартный Casper, но в мой личный топ еще входит тема Liebling – она тоже доступна бесплатно в официальном маркетплейсе.
Демо-версия темы Liebling была недоступна, поэтому пришлось экспериментировать на своем сайте
Важно: Работоспособность сайта зависит не только от платформы, но и от подключенной темы. Если используете тему стороннего разработчика не из официального маркетплейса, убедитесь, что все функции работают на разных типах устройств.
Советую всё-таки пользоваться темами из маркетплейса по еще одной причине. С развитием Ghost появляются новые функции и разделы, а чтобы они работали, автор темы должен ее обновить. Нельзя быть уверенным в своевременных апдейтах от сторонних авторов, зато Casper и другие официальные темы обновляются как часы.
Чтобы установить тему, ее нужно скачать из маркетплейса и загрузить в панель управления. Нужная кнопка находится в самом низу секции Design.
Загружайте новые темы в Ghost в секции Design
Как ни странно, Design отвечает только за темы и меню сайта. Базовые же настройки дизайна скрыты во вкладке General. Добавьте логотип и обложку – они будут отображаться на главной, – и загрузите иконку для браузера. В пункте Title & Description введите название сайта и слоган. Название будет показываться, если у вас не установлен логотип, а слоган будет написан под ним (или под логотипом, если он есть).
В разделе General можно управлять базовыми опциями дизайна
Проводим продвинутую кастомизацию дизайна
Есть два варианта корректировки дизайна темы под себя. Проще всего добавить CSS-код в header с помощью функции Code Injection в панели управления. Другой вариант – отредактировать файлы-шаблоны, из которых состоит тема.
Кастомизируем CSS
Если вы хотите скрыть отдельные элементы, изменить их цвет или размер, придется выяснить, какой класс CSS используется в элементе. В Safari откройте веб-инспектор сочетанием клавиш ⌥+⌘+I, а в Chrome выберите «Проверить элементы» в меню «Посмотреть». Нажмите на элемент – например, на заголовок. В открывшемся коде элемента нужно найти классы, которые стоят внутри кавычек «class=””».
К заголовку применяется класс «post-full-title»
Затем зайдите в Code Injection в панели управления и добавьте этому классу нужные свойства. Допустим, вам не нравится размер и цвет заголовков. Вы проверили, что за заголовки отвечает класс «post-full-title», поэтому в панели добавляете в Header запись с новыми значениями свойств font-size и color.
Уменьшим размер и поменяем цвет заголовков с помощью Code Injection
Запомните: для того, чтобы спрятать какой-либо элемент шаблона, можно просто дописать к его классу свойство «display: none;».
Для тех, кто хотя бы немного разбирается в веб-разработке, не составит труда таким же образом – через раздел Code Injection – подключить Bootstrap, jQuery, Google Tag Manager, пиксель Facebook и другие технологии.
Вы также можете создавать собственные CSS-классы с набором стилевых свойств, чтобы использовать их в отдельных публикациях или на страницах (например, создать стиль для кнопки «заказать» на страницах с лекциями).
Если нужно изменить стили или добавить какой-то элемент только на одной странице, воспользуйтесь такой же секцией Code Injection в настройках редактора.
Необязательно применять кастомный стиль везде – можно добавить его в отдельный пост или страницу
Кастомизируем шаблон
Более продвинутый уровень – изменение самого шаблона. Подключитесь к серверу через любой FTP-клиент (например, Cyberduck) и откройте папку «var/www/ghost/content/themes/ваша-тема». Внутри находятся шаблоны, по которым Ghost «собирает» сайт. Это файлы с расширением «hbs»: page.hbs отвечает за страницы, index.hbs – за главную, default.hbs – за общую структуру страниц (в том числе шапку и подвал), author.hbs – за страницы авторов, и так далее.
Откройте нужный шаблон в текстовом редакторе – теперь можно менять, удалять и перемещать блоки по своему усмотрению. В коде есть комментарии, которые помогут не запутаться в том, к какой части страницы он относится.
Так выглядит шаблон структуры страниц (default.hbs)
Посмотрим на примере: меня раздражает, что в подвале всех страниц рядом со ссылками на мои соцсети есть ссылка на сайт Ghost. Я открываю default.hbs, нахожу в разделе footer строчку со ссылкой и удаляю её. Осталось сохранить файл и перезапустить Ghost.
Просто берем и удаляем выделенную строку со ссылкой на Ghost
Важно: все изменения в шаблонах вступают в силу только после того, как вы перезапустите Ghost. Сделать это можно через консоль командой ghost restart. Подробности о консольных командах и их использовании – в разделе «Устанавливаем обновления».
Оптимизируем под SEO и соцсети
У Ghost еще на старте есть целых шесть преимуществ:
- Сайт сразу же оптимизирован для быстрой загрузки. Что приятно, Ghost продолжает заботится об этом и во время работы – например, создает загружаемым изображениям дополнительные версии с оптимизированным разрешением.
- Ghost самостоятельно формирует структурированные данные о контенте (JSON-LD) и метатеги соцсетей для каждой страницы.
- Ваш сайт по умолчанию поддерживает Google AMP (Accelerated Mobile Pages, технология быстрого просмотра страниц из поиска на мобильных устройствах). Никаких дополнительных действий предпринимать не нужно, они просто работают.
- Файл Sitemap с картой сайта создается и обновляется автоматически. Скормите поисковикам ссылку на него (ваш.домен/sitemap.xml), а об остальном позаботится платформа.
- Сервис сам добавляет тег канонической страницы («rel=”canonical”»). Поисковики всегда знают, что считать основной версией документа.
- Ghost сразу создает и регулярно обновляет RSS-канал с публикациями. Он доступен по адресу «ваш.домен/rss».
Остается только добавить метатеги на сайт и в отдельные публикации.
Добавляем метатеги сайта
Общие метатеги для всего сайта нужно добавить только один раз. Настройки находятся в секции Meta Data раздела General. Добавьте заголовок сайта и описание для поисковиков, а также заголовок, описание и картинку для сниппета (развернутой карточки ссылки в публикации) Facebook и Twitter. Справа от настроек Ghost покажет, как ссылка на сайт будет выглядеть в поисковиках и соцсетях.
Добавляем метатеги публикаций
В редакторе постов и страниц есть аналогичные разделы – Meta Data, Facebook Card и Twitter Card. Если заполнять их каждый раз перед публикацией, в результатах поиска и в лентах соцсетей будут стоять правильные заголовки, описания и картинки.
Возьмите за правило спускаться в этот раздел перед тем, как выпустить пост
Есть маленькая хитрость: если заполнить поле Excerpt (оно отвечает за абзац под заголовком поста на главной), информация оттуда автоматически подтянется в сниппеты Facebook и Twitter.
Пишем посты и создаем страницы
Весь контент делится на два типа – посты (для материалов) и страницы (для любого статичного контента). По сути, отличие только в том, что все посты попадают на главную, а ссылки на страницы вы можете добавлять по своему усмотрению. Вот пара примеров, чтобы лучше понять сценарии использования:
Форматируем
У Ghost минималистичный, но удобный редактор. Принцип работы похож на редактор платформы Medium – только быстрее работает и меньше лагает. Чтобы поменять стиль текста, достаточно выделить нужный фрагмент. Во всплывающем меню (или с помощью горячих клавиш) можно сделать текст:
- Жирным – ⌘/Ctrl + B
- Курсивным – ⌘/Ctrl + I
- Подзаголовком H2 – ⌘/Ctrl + H
- Подзаголовком H3 – ⌘/Ctrl + HH
- Цитатой – Ctrl + Q
- Активной ссылкой – ⌘/Ctrl + K
Важно: все изменения в редакторе сохраняются автоматически. Я, впрочем, все равно время от времени нажимаю ⌘/Ctrl + S – это сочетание, как и везде, принудительно сохраняет документ. Скорее всего, так можно не делать: при наличии интернета синхронизация в Ghost работает не хуже, чем в Google Docs.
Используем Markdown
Редактор поддерживает основную часть языка разметки Markdown без дополнительных действий. Просто начните печатать нужные символы, и Ghost превратит их в форматированный текст.
Эти сочетания Markdown работают прямо в редакторе:
Если нужно использовать остальные инструменты разметки или вставить уже размеченный готовый текст, добавьте блок Markdown в меню по кнопке «+».
Кнопка с плюсом слева от каждой строки открывает меню. Оттуда можно добавить блок Markdown
Используем HTML/CSS-блоки
В посты и страницы можно добавлять любые элементы: кнопки, виджеты, баннеры, формы ввода. При необходимости, можно даже целиком сверстать тело поста или страницы на HTML/CSS – например, если вы хотите сделать колонки с помощью Bootstrap.
Чтобы это сделать, добавьте блок HTML из меню редактора. CSS-стили можно прописывать в inline-формате в этом же блоке или вынести в виде классов в раздел Code Injection.
Блок с кодом HTML дает возможность добавлять кастомные элементы
Так выглядит страница, полностью сверстанная на HTML/CSS + Bootstrap, в редакторе Ghost и в жизни. Я разбиваю код на отдельные блоки, чтобы в нем было легче ориентироваться, но вы можете использовать и один блок для всего кода:
Используем изображения
Отдельные изображения использовать проще простого: перетащите картинку на нужное место в материале. Готово! Вы можете добавить описание или оставить это поле пустым. Ghost сам оптимизирует картинки для разных разрешений – для каждого загруженного файла он создает копии других размеров.
Alt-теги прописывать приходится вручную: нажмите на кнопку «Alt» в правом нижнем углу блока. Поле для ввода альтернативного текста появится на месте описания.
Картинкам в Ghost можно добавлять alt-теги. Это полезно для SEO
В редакторе доступен еще один формат: галерея. В нее можно загрузить от двух до девяти картинок, Ghost сам сформирует из них красивую сетку. Добавьте блок Gallery из меню и перетащите в него всю подборку.
Благодаря интеграции с фотостоком Unsplash, искать и добавлять подходящие бесплатные картинки можно не покидая редактор. По щелчку на Unsplash в меню откроется интерфейс поиска изображений.
Добавляем встроенные и декоративные элементы
Продемонстрировать видео из YouTube? Показать пост из Facebook? Ни слова больше! Вставьте ссылку со стороннего ресурса на новую строку – платформа распознает контент и сделает его встроенным.
Ссылки на другие сайты Ghost превращает в красивые карточки. Алгоритм тот же: ссылка на отдельной строке.
Так выглядит ссылка-карточка в Ghost
Для разделения контента на части есть горизонтальная черта. Её можно добавить из меню или просто напечатать три дефиса (—).
Горизонтальная черта поможет отделить мух от котлет, а UI/UX – от бесплатного брендированного охвата
Настраиваем
Когда вы закончили писать пост или создавать страницу, пора нажать на шестеренку в правом верхнем углу и обратиться к настройкам редактора. В них можно:
- Загрузить картинку, которая будет отображаться на главной. К слову, здесь тоже можно воспользоваться поиском по Unsplash.
- Сделать красивую ссылку по вкусу.
- Изменить отображаемое время публикации (никак не влияет на фактическое время выхода).
- Добавить рубрики-теги.
- Написать текст предпросмотра (показывается под заголовком поста на главной).
- Добавить или отредактировать авторство.
- Управлять метатегами и добавить кастомный код.
- Сделать пост фичером (после публикации он займет самое крупное место на главной).
- Удалить материал.
Публикуем
Итак, материал полностью готов, метатеги прописаны, а сниппеты стоят на своих местах. У вас есть выбор: опубликовать его сейчас или запланировать отложенную публикацию. Обе опции находятся в меню «Publish».
Запускаем синей кнопкой! Что, пока рано? Окей, чтобы отложить материал, выберите дату и время, а затем нажмите кнопку «Schedule». В нужный момент Ghost сам его опубликует.
Можно выпустить пост сейчас или запланировать публикацию
Управляем авторами
Все настройки аккаунтов вашей команды находятся в секции Staff. Оттуда можно добавить новых пользователей, удалить существующих, редактировать профили и управлять уровнями доступа.
Чтобы пригласить коллег, щелкните на кнопку «Invite people», укажите e-mail и его роль (уровень доступа аккаунта):
Есть пять типов аккаунтов с разными уровнями доступа:
- Гостевой автор (Contributor) – самый простой и бесправный аккаунт. Может только создавать посты. Публиковать или видеть что-либо кроме своих материалов он не сможет.
- Штатный автор (Author) – может добавлять рубрики, создавать, редактировать и публиковать посты. Но только свои, да и чужих черновиков он тоже не увидит.
- Редактор (Editor) – управляет всем, что связано с контентом и авторами, но при этом не может менять общие настройки сайта.
- Администратор (Administrator) – почти полный доступ. Не может только управлять базами данных и рассылкой.
- Владелец (Owner) – единственный в своем роде. Нет, серьезно, владелец может быть только один, при этом он имеет права на управление чем угодно, а его аккаунт невозможно удалить.
Учетные записи всех пользователей, кроме владельца, можно приостановить или удалить:
- Приостановить – заблокировать пользователю доступ к учетной записи, но сохранить его профиль, публикации и данные.
- Удалить – полностью стереть все, что связано с пользователем (в том числе все посты). Будьте внимательны: отменить это действие и восстановить данные невозможно.
Управление конкретным аккаунтом находится в его карточке. В ней получится:
- Удалить или приостановить аккаунт.
- Поставить обложку страницы автора.
- Загрузить аватарку.
- Поменять имя.
- Установить адрес профиля.
- Изменить e-mail для уведомлений.
- Повысить или понизить уровень доступа.
- Добавить на страницу автора локацию и сайт.
- Подключить личные аккаунты Twitter и Facebook.
- Указать краткую биографию.
- Поменять пароль.
Страницы автора находятся по адресу «ваш.домен/author/имя-автора». Там собираются все публикации, в которых пользователя указали как автора или соавтора. Выглядят они примерно так:
Так страницу автора увидят пользователи
Управляем тегами
Теги – это рубрики вашего сайта. У каждого тега есть отдельная страница с обложкой и описанием. На нее попадают все публикации, в которых указан тег. Теги бывают двух видов:
- Публичные – видны всем.
- Внутренние – нужны только для личных нужд, видны только авторам (подходят для применения стилей или сортировки контента).
Страница тега выглядит так:
Так читатели увидят страницу тега
Публичный тег-рубрика также отображается возле заголовка статьи. Все читатели его увидят:
Тег-рубрика у материала на главной
Управление тегами находится в секции Tags. У нее две вкладки – для публичных и внутренних тегов:
Создайте публичные или внутренние теги из секции Tags
Из панели управления можно:
- Задать название рубрики.
- Добавить обложку.
- Установить адрес тега.
- Скорректировать описание.
- Добавить метатеги на страницу рубрики.
- Удалить тег.
Настраиваем paywall или подписку
Сайт на Ghost может публиковать платный контент. Если включить paywall, пользователям придется подписываться, чтобы увидеть выбранные вами публикации (или даже все). Функция называется Members и управляется из секции Labs:
Подключите подписки или paywall в секции Labs
После того, как вы активируете переключатель, нужно будет завести и подключить аккаунт платежного сервиса Stripe – через него будет проходить оплата подписки. Stripe принимает все основные банковские карты и платежи через Apple / Google Pay.
Добавьте аккаунт Stripe, чтобы активировать платные подписки
Важно: единственная проблема Stripe – пока что он не работает с российскими банками. Поэтому если у вас есть банковский счет в одной из 36 поддерживаемых стран, считайте, вам повезло. Если зарубежного счета нет, вы сможете сделать в Members бесплатную подписку и показывать контент только зарегистрированным пользователям.
В поле 2 можно установить стоимость ежемесячной и годовой подписки, если у вас есть аккаунт Stripe. Если нет – можете оставить нули. Переключатель (3) разрешает пользователям регистрироваться на сайте без оплаты подписки (как раз то, что нужно, если аккаунта нет). Кроме того, вы можете задать (4) видимость всех будущих постов по умолчанию: для всех, только для подписчиков, только для пользователей с платной подпиской.
Годовую подписку можно продавать со скидкой
Когда paywall включен, в настройках редактора появляется новый пункт. В нем можно указать, какая категория пользователей получит доступ к посту.
Настройка уровня доступа пользователей к контенту
Добавляем интеграции
Ghost поддерживает кучу сервисов от Google Docs до Github. Некоторые из них подключаются к платформе нативно, другие – через сервис автоматизации Zapier.
Подключаем комментарии
На сайт можно поставить плагин комментариев Disqus. Такой же плагин работает, например, в блоге Текстерры – читатели могут авторизовываться через аккаунт сервиса или страницу социальной сети. Подключить его несложно:
- Добавьте сайт в Disqus и найдите его shortname.
- Откройте шаблон post.hbs (помните, я рассказывал про них в разделе «Кастомизируем шаблон»?) в папке /var/www/ghost/content/themes/ваша-тема.
- Добавьте специальный код после тега с классом comments.
- Замените в этом коде демонстрационный shortname на идентификатор вашего сайта.
- Сохраните файл и перезапустите Ghost.
Конфигурируем автоматизации
Сервис Zapier соединяет Ghost с другими приложениями и сервисами. В секции Integrations есть готовые рецепты – например, для автоматической публикации новых материалов в Facebook и Twitter. Другие автоматизации можно найти в подборке на сайте Zapier или создать самостоятельно.
Создайте аккаунт в сервисе, затем скопируйте Admin API Key (это набор цифр) и адрес вашего сайта. Выберите Ghost в разделе Applications и введите скопированные данные во всплывающем окне.
Создаем интеграции по API
По API можно подключить не только Zapier, но и другие сервисы. Принцип работы похожий – вы предоставляете сервису ключи и адрес для связи. После этого создаете Webhook – это что-то вроде сервиса уведомлений, которыми платформы и приложения оповещают друг друга о внутренних изменениях.
Как это работает:
Вы опубликовали материал. Ghost отправляет на сервер с Telegram-ботом вебхук-запрос с названием события «publication.on.air» (название тоже задаете вы). Бот понимает, что вы выпустили публикацию, и присылает ссылку на нее в три канала, которые вы ведете.
Допустим, вы не хотите, чтобы отложенный материал автоматически публиковался в соцсети с одним и тем же текстом предпросмотра. Для каждой сети вы намерены писать отдельную подводку – но как не забыть о выходе материала? Добавьте интеграцию с сервисом IFTTT: когда материал выйдет, Ghost отправит вебхук-запрос в IFTTT, а IFTTT пришлет уведомление на телефон.
Настройки кастомных интеграций находятся в нижней части секции. Чтобы добавить новое соединение, нужно нажать «Add custom integration» и совершить следующие действия:
- Задать название интеграции
- (необязательно) Добавить описание
- (необязательно) Загрузить иконку
- Скопировать ключ контентного API
- Скопировать основной ключ API
- Запомнить адрес API
- Добавить Webhook
Каждому вебхуку нужно присвоить название, событие, при котором он будет отправляться, и задать ссылку на сторонний сервис.
Рассмотрим в качестве стороннего сервиса тот же IFTTT. Подключите опцию Webhooks и скопируйте вебхук-ссылку – ее и нужно будет вставить в поле Target URL. Останется только создать правило, по которому при получении вебхук-запроса «pub.on.air» IFTTT будет присылать уведомление.
Устанавливаем обновления
Все операции с Ghost на сервере нужно производить от имени пользователя ghost-mgr. Чтобы обновить Ghost до последней версии, подключитесь к серверу и переключите пользователя:
Затем перейдите в папку с Ghost:
И запустите обновление:
Дальше система все сделает самостоятельно.
На всякий случай запомните еще несколько команд. Все их нужно выполнять в папке с Ghost от имени пользователя ghost-mgr, как я описывал выше.
Команды для управления Ghost из консоли
- ghost —help – посмотреть справку
- ghost *команда* —help – посмотреть справку о команде (например, ghost doctor —help)
- ghost doctor – провести автодиагностику ошибок
- ghost restart – перезапустить систему
- ghost stop – выключить сайт
- ghost start – включить сайт
- ghost uninstall – удалить Ghost
Итоги
У платформы есть гладко работающая базовая структура, в которую при необходимости можно добавить почти что угодно. Многие процессы и опции автоматизированы, так что нет нужды каждый день переживать, например, насчет скорости загрузки сайта или работоспособности редактора контента.
На мой взгляд, Ghost подходит и абсолютным новичкам, и уверенным знатокам веб-разработки. Первые оценят простоту настройки и использования, вторые – возможности быстрой и оперативной кастомизации.
Источник