Разработка
RUVDS
3305

Как я сэкономил 20 тысяч рублей на движке Ghost, потратив 20 минут времени

Я долго искал движок с удобным редактором, чтобы собрать все свои проекты, заметки и контакты в одном месте. И искал редактор простой и понятный, в идеале как у Notion: с возможностью Markdown, загрузкой изображений прямо из буфера обмена и минималистичным интерфейсом.

В закладки

И нашел идеальный движок для сайта-портфолио Ghost, но мне не понравилась цена — почти 25 тысяч рублей в год. Затем выяснил, что его можно поднять бесплатно на арендованном сервере, введя несколько команд в терминале. Делюсь пошаговой инструкцией, как это сделать.

Почему устарели WordPress, Эгея и остальные классические движки

Мои две главные претензии к популярным движкам это

  • сложный админский интерфейс
  • отсутствие wysiwyg-редактора

Чтобы написать короткий текст в Wordpress-е требуется куча телодвижений, нельзя просто открыть и начать писать. Когда движок предлагает вручную писать HTML-теги и по сто раз переключаются между превью и исходным кодом, заливать картинки на хостинг, а потом вставлять ссылки я чувствую боль.

Когда поработаешь в Notion, возвращаться к старым редакторам кажется такой же потерей в комфорте, как внезапно получить Nokia 5300 после большого экрана одиннадцатого айфона.

Update
С 2018 года Wordpress использует новый крутой редактор Gutenberg который не хуже Notion. На момент написания статьи я не знал об этом.

Что такое wysiwyg редактор и почему я готов работать только с ним

wysiwyg (what you see is what you get) — это тип редактора, в котором текст форматируется сразу, без переключения между исходным кодом и финальной версией.

Именно такой редактор используется на vc.ru, и такого же удобства можно достичь на собственном сайте-визитке, если правильно выбрать движок

Сравнил Notion с Эгеей

C какими требованиями я искал идеальный движок

  • Держать контент на своем хостинге — сервисы закрываются (от narod.ru до google+), рано или поздно все становится недоступным, контент лучше держать у себя. Также я не хочу зависеть от правил и админов площадки: кейс или статью легко могут удалять по каким-то фейковым жалобам, как это происходит на Medium и LiveJournal
  • Возможность подключить свой домен
  • Минимум интерфейса — в идеале интерфейса CMS вообще не должно быть видно, админская панель не нужна, посты должны редактироваться, создаваться и просматриваться в одном месте
  • Полноценный wysiwyg редактор — поддержка разметки Markdown и обработка её в реальном времени, подсветка кода, вставка картинок из буфера обмена
  • Минималистичный внешний вид — я не хочу заниматься версткой и темами, подходящее оформление должно быть из коробки

Расскажу, с чем я сравнивал Ghost и как пришел к идее, хочу визитку именно на нем.

Notion — современный вариант Evernote

Я огромный фанат Notion. Это самый продвинутый инструмент для заметок, создания wiki, простых списков задач и многого другого.

В Notion можно работать командой, есть огромная библиотека шаблонов: таблицы, календари, галерея, даже списки наподобие Trello.

Notion можно превратить в движок для публичного блога, но к сожалению, для этого он плохо приспособлен. Да, вы можете опубликовать все страницы в интернет как обычный сайт, вот даже пример сайта на notion.

Но к нему нельзя прикрутить свой домен, перемещение по страницам выглядит странно, иногда они открываются в виде попапов, а не отдельных страниц.

Плюсы/минусы Notion:

✅ Идеальный редактор

✅ Умеет сложное форматирование

✅ Поддержка шаблонов страниц

❌ Нет self-hosted версии

❌ Плохо подходит для сайта

❌ Нельзя подключить свой домен

❌ Мусор в URL, нельзя задать адрес страницы самостоятельно

❌ Неудобная навигация, попапы вместо отдельных страниц

❌ Нет комментариев

Teletype.in — минималистичный сервис для блогов

Teletype.in очень похож на Medium, он минималистичен, поддерживает markdown и создается русскими разработчиками.

По стилю напоминает telegra.ph, сервис от команды Telegram, но в отличие от телеграф в нем можно зарегистрироваться и вести цельный блог от своего аккаунта. Можно подключить свой домен.

Пока я тестировал Teletype, вылезли его проблемы: я подключил домен и попробовал перенести туда пару статей, но случайно сломал верстку и получил неработающую страницу поста. Так что продукт пока сыроват.

Это компенсируется тем, что разработчики говорят на русском и быстро отвечают на баг-репорты в Telegram: они почти сразу приняли мои запросы и за пару дней их исправили.

Редактор пока не настолько удобный и выверенный в мелочах, как Notion, в комментариях нельзя писать анонимно или через соцсети.

Плюсы/минусы Teletype:

✅ Нормальный редактор

✅ Можно подключить свой домен

✅ Удобно добавлять и редактировать посты

✅ Можно задать свой URL для каждого поста

❌ Нельзя использовать другой хостинг

❌ Редактор тем не менее сыроват

❌ Почти невозможно настроить профиль

❌ Баги в проекте

Ghost — и почему я остановился именно на нем

Ghost — современная и симпатичная CMS с мощным редактором, почти таким же, как в Notion: нормальная поддержка рендера markdown в реальном времени, картинки вставляются простым Ctrl+V, чистый кайф.

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

Есть галерея официальных тем, также можно поискать в Theme Forest, там есть еще порядка полторы сотни свежих. Я пока не нашел свою идеальную, поэтому мой вариант — сверстать свою тему самостоятельно один раз, а затем наслаждаться удобным редактором.

В Ghost есть много интересных функций прямо из коробки и плагинов, например платные подписки на закрытый контент (как на Patreon). Он очень популярен у компаний, которые ведут там корпоративные блоги, среди клиентов Ghost ведут Tinder, Revolut и Nasa.

Движок активно дорабатывается разработчиками, это можно увидеть по их Github.

Плюсы и минусы Ghost:

✅ Идеальный редактор

✅ Полный контроль над сайтом и оформлением

✅ Можно хостить самостоятельно

✅ Легко подключить собственный домен

✅ Можно подключить любой сервис комментариев

❌ Темы нельзя настроить без правки кода и исходников

❌ Создавать и редактировать посты приходится через админку

Лайфхак: как пользоваться Ghost почти бесплатно

Сколько я на самом сэкономил?

Как я уже говорил, Ghost — платный движок и стоимость начинается от $29 в месяц, это 2047 рублей в месяц или 24 541 рублей в год.

Если у вашего блога больше 100 000 просмотров, цена уже растет до 66930 рублей в год.

Я нашел способ развернуть свой блог, заплатив только за хостинг — вместе со всеми скидками, он обходится в 5529.6 рублей в год.

Итого 19011.4 рублей экономии в год


Как это работает без взлома системы?

Дело в том, что Ghost — это опенсорсный проект, значит его исходный код доступен всем бесплатно и его можно запускать, дорабатывать и создавать свои модификации.

Создатели Ghost не просто выложили исходный код проекта, но и упаковали его в docker-контейнер, чтобы люди могли быстро поднять рабочую версию.

Я не буду углубляться в технические детали и просто покажу, как запустить из этого контейнера Ghost на арендованном VPS-сервере.

Это занимает где-то 20 минут времени, но экономия в 17 тысяч стоит моих 20 минут.

Пошаговая инструкция: как поставить Ghost почти бесплатно

Для начала вам понадобится VPS-сервер с Docker.

Что такое VPS-сервер: это вид хостинга, в котором вы полностью управляете настройками сервера.

От обычного shared-хостинга он отличается также, как хостел отличается от собственной квартиры — кроме вас никого на вашей территории нет, вы сами настраиваете все, как пожелаете

Я покажу, как запустить Ghost-блог на примере VPS-ки от ruvds, там можно заказать сервер сразу с предустановленным Docker — он включен в маркетплейс и при настройке движка будет меньше хлопот.

1. Заказываем сервер с Docker. Для этого жмем на маркетплейс, затем выбираем дата-центр.

Дата-центр лучше выбирать географически ближний к вашему ядру аудитории — так выше отклик сайта. Берем rucloud в Москве

Чем ближе дата-центр к пользователю сайта, тем быстрее отклик

2. Выбираем из маркетплейса Docker

3. Чтобы получить максимальную скидку в 40%, я беру оплату за год.

30% из них за предоплату и плюс 10% по промокоду vc10 — если ввести его на этапе оплаты

Выходит всего 460 рублей в месяц за хостинг, вместо 2047 рублей ежемесячных платежей разработчикам Ghost. Скидка в 30% будет продолжаться весь июнь, потом снова станет 20%

4. Затем переходим во вкладку мои серверы. Ждем минут 5-10, чтобы сервер создался.

5. Дальше будем работать в терминале. Найдите Launchpad, начните вводить Termial и откройте программу. Если у вас windows, жмите Win + X.

6. Подключаемся к серверу по SSH. Для этого вводим в терминале команду

ssh root@194.87.102.150

Где вместо 194.87.102.150 надо ввести ip-адрес сервера, который вы создали. Найти ip-адрес и пароль в личном кабинете

пароль тоже сохраните, он понадобится

Дальше терминал запросит пароль, вводим.

7. Теперь надо установить на сервере Apache. Он позволит картинке с блогом появиться в браузере. Вводим в терминале команды

sudo apt update sudo apt install apache2 ufw allow "apache full"

8. Теперь устанавливаем сам Ghost. Не забудьте заменить ip-адрес 194.87.102.150 в команде на ip-адрес вашего сервер

docker run -d -e url=http://194.87.102.150:2368 -p 2368:2368 ghost

Вы не поверите, но это все

Теперь, если вы откроете в браузере страничку http://ваш-ip:2368, то увидите приветственную страницу движка Ghost

Остались только детали настройки сервера:

  • привязать доменное имя
  • настроить SSL-сертификат
  • сделать так, чтобы блог открывался сразу на главной

Заканчиваем настройку сайта

Привязываем к блогу доменное имя

Я купил самое дешевое доменное имя vctestaccount.club за доллар. Покажу на его примере, как привязать к VPS доменное имя

1. В настройках ns-записей регистратора, добавляем A-запись с значением нашего IP

В host указываем @, в value — ip-адрес и сохраняем

2. Удаляем остальные записи, они не нужны

3. Дальше открываем терминал. Вводим там команды (вместо example.com вводите свое доменное имя)

mkdir -p /var/www/example.com/ chown -R $USER:$USER /var/www/example.com

4. Затем открываем этот файл с помощью редактора nano этой командой

nano /var/www/example.com/index.htm

Прямо в терминале откроется файл — содержимое главной страницы вашего сайта. Напишите в нем любой текст, я написал hello world.

Этот файл — содержимое главной страницы сайта

Затем нажмите Сtrl + X, редактор спросит сохранить ли файл. Введите Y и нажмите Enter

5. Дальше вводим команды

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf nano /etc/apache2/sites-available/example.com.conf

6. И снова открылся редактор.

Вам нужно заменить выделенуню эту строчку на

/var/www/example.com/index.html​

добавить в файл строчку

ServerName example.com

Вот так будет выглядеть готовый файл

Заменили одну строчку, добавили новую. Не забывайте вместо example.com вводить свое доменное имя

Выходим из редактора, нажав CTRL + X, вводим Y (на запрос, сохранить ли файл) и жмем Enter

7. Активируем изменения командами

a2ensite example.com systemctl reload apache2

Ура, теперь сайт начал открываться по нашему доменному имени, а в нем — то, что вы написали в файле главной страницы

Пока сайт будет открываться только по адресу http://vctestaccount.club/

Пока сайт будет открываться только по адресу http://ваш-домен.com/

Стоит попытаться войти через безопасное соединение https://ваш-домен.com/, как страница будет выводить ошибку. Чтобы починить это, вам надо настроить SSL-сертификат.

Настраиваем SSL-сертификат

1. Вводим команды

add-apt-repository ppa:certbot/certbot apt install python-certbot-apache certbot --apache -d example.com

На этом этапе у вас попросят email. Смело вводите, затем вводите букву А и нажимайте enter

2. Теперь у вас спросят, надо ли переадресовывать весь трафик на безопасное соединение. Говорите «да», то есть вводите 2 и жмите enter

Вуаля! Теперь сайт откроется и через HTTPS, а сверху появится значок

Делаем так, чтобы блог открывался на главной

Возвращаемся в терминал вводим команду

nano /etc/apache2/sites-available/example.com-le-ssl.conf

Откроется файл, куда надо вставить текст

<Proxy *> Order deny,allow Allow from all </Proxy> SSLProxyEngine On ProxyRequests Off ProxyPreserveHost On ProxyPass / http://localhost:2368/ ProxyPassReverse / http://localhost:2368/

Вот как это должно получиться

Проследите, чтобы текст вставился до закрывающих тегов  </VirtualHost> и  </IfModule>

Теперь закрываем файл через CTRL + X, вводим Y и нажимаем enter

4. Вводим команды

systemctl reload apache2 a2enmod proxy a2enmod proxy_http a2enmod proxy_ajp a2enmod rewrite a2enmod deflate a2enmod headers a2enmod proxy_balancer a2enmod proxy_html a2enmod proxy_ftp a2enmod proxy_connect a2enmod ssl systemctl reload apache2

Все. Блог открылся на главной по вашему домену

Выводы

Некоторые платные SaaS-версии продуктов доступны бесплатно и даже легально, если копнуть чуть глубже. Если вы видите слова OpenSource и Docker, то вероятно все получится.

Если у вас не работают какие-то команды или вы запутались в процессе — пишите в комментарии и я постараюсь помочь.

Идеальный хостинг для бизнеса: автоматизированный, быстрый и надежный.
{ "author_name": "RUVDS", "author_type": "editor", "tags": [], "comments": 38, "likes": 9, "favorites": 65, "is_advertisement": false, "subsite_label": "dev", "id": 130558, "is_wide": true, "is_ugc": false, "date": "Mon, 01 Jun 2020 12:42:22 +0300", "is_special": false }
0
38 комментариев
Популярные
По порядку
Написать комментарий...
5

Судя по имени автора и выбранному хостингу со ссылками, статья больше похожа на рекламу серваков. Тонкий хитрый план, но нет.

Ответить
2

Конечно не без рекламы, тем более в корпоративном аккаунте.
Но инструкция сработает и для других VPS, тоже будет дешевле, чем напрямую платить Ghost

Ответить
–5

Слабо написать другую статью, но с линками на другой хостинг? Вот и я о том же. Не нужно пытаться мне что-то доказать, для меня совершенно очевидно, что первый смысл статьи был в рекламе своих серверов, а заодно и про что-то полезное рассказать.

Ответить
0

Не слабо, но зачем?

Ответить
8

Я лично только рад, когда компании ради продвижения своих услуг генерируют полезный контент. 

Но даже у меня возникает отторжение, когда читаешь текст от имени «человека, который сэкономил 20 тысяч» и осознаёшь, что на самом деле текст написал не такой человек, а маркетолог, придумавший эффектный заголовок. Ощущаешь, что тебе врут и держат тебя за дурака.

Особенно смешно становится, когда в тексте от мужского лица на скриншотах появляются логин «saniagalimova» и женская аватарка.

При этом, если бы вместо «как я сэкономил 20 тысяч» был текст «как сэкономить 20 тысяч», было бы ок: вся та же полезная информация про Ghost осталась бы, а ощущение вранья при чтении не возникало бы.

Ответить
–4

Вот именно. Лучше пиарить себя любимого под соусом "полезного контента"

Ответить
0

oh sh... хабр засрали своими переводами, теперь и до vc добрались

Ответить
5

Реклама не реклама, но статья полезная.
Зачастую нехватает таких разжеванных мануалов на vc.

Уже пошел смотреть особенности cms.

Ответить
0

Спасибо, рад, что понравилось

Ответить
4

Если выбрать Digital Ocean, не придется возиться с Апаче, сертификатом, гонять туда-сюда .conf и вот это всё. Может, получится сократить этот гайд аж втрое или вчетверо. А цена останется такая же, примерно 5-6 $ в месяц.

https://marketplace.digitalocean.com/apps/ghost

Ответить
3

Статья притянута за уши.
1. DigitalOcean позволяет развернуть Ghost в один клик.
2. Используя арендованный VPS сервер вы не экономите 20 тысяч рублей за тот же сервис, так как вы не получаете высокодоступность сервиса, не получаете регулярных бэкапов (ок, настраивайте сами, а заодно и регулярно проверяйте ваши бэкапы), не получаете CDN. Мне не очень хочется просыпаться утром и узнавать, что всю ночь мой Ghost-сайт не работал, потому что Docker убил контейнер.
3. Ghost как сайт-портфолио - оверкилл. Это в первую очередь мощная блог платформа. Для вашей цели сойдет и Тильда или что-нибудь отсюда https://www.staticgen.com, если хочется развлекаться с управлением сервером. 
4. Ну и как сказал Sergey Dilong выше, Ghost это в первую очередь опен-сорс платформа, которая предлагает платный хостинг, чтобы собрать денег на дальнейшую поддержку и разработку сервиса.

Ответить
1

К Нотион МОЖНО подключить домен. Сторонний сервис. 8 долларов в месяц

Ответить
4

Можно и бесплатно (а также скрыть логотип Notion и подключить аналитику), если пропустить сайт через Cloudflare. Использую так в качестве базы знаний для сервиса. 

Ответить
1

поделитесь статьей как такое настроить можно. было бы очень полезно

Ответить
4

Напишу сегодня здесь на VC

Ответить
0

Пингую

Ответить
3

80 процентов написано, завтра релизим 😁

Ответить
0

Круто, спасибо, не знал

Ответить
2

Есть опыт с Ghost, использовал для коммерческих проектов. Могу сказать, что у Ghost есть два серьезных недостатка, которые делают его слабо применимым для крупных проектов. 

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

Во-вторых, у Ghost есть техническое ограничение - он может работать только на одном сервере. Если вы захотите развернуть кластер из Ghost‘ов, вам это не удастся без серьезных изменений в исходном коде. Без изменений, часть серверов будет просто периодически валиться и выдавать 50x-ые или 405-ую ошибки.

Wordpress, сколько бы я его не ненавидел, более пригоден для применения в кластере, хоть и там есть подвохи (но минимальные)

Ответить
2

Ghost - это в принципе бесплатная CMS-система, поэтому я не понимаю, что вы там сэкономили. Я недавно разворачивал его через Git на обычном хостинге, который стоит всего 80 руб. При этом, чтобы развернуть Ghost много ума не надо, достаточно зайти на официальный сайт и заглянуть в документацию.

Пользы от этой статьи никакой, но скриншоты сделаны не плохо:)

Ответить
0

Ваш гений просто выше крыши! Какой уникальный опыт!
Само модержание статьи — полезное, но подано не с той точки зрения. Нас встречает сенсационный заголовок формата "Как я на**** систему", а в итоге разбираем Evernote-like UX CMS-ы для портфолио, потом нас встречает неожиданный твист, что, оказывается, Ghost это опенсорсная БЕСПЛАТНАЯ CMS, а платный хостинг это лишь способ монетизации разработки за счёт упрощения настройки (аналогично делает и Wordpress), ещё и огромный кусок о том, как развернуть это на сервере в подарок.

Ответить
0

Жаль, что вам не понравилось

Ответить
2

Статья понравилась, но подача — нет

Ответить
0

Подскажите, что было не так? 
Был бы очень благодарен, потому что хочется писать контент, который не будет раздражать аудиторию и в принципе будет полезен читателям

Ответить
1

Мне понравилось:
- Введение в формфактор "Заметки" для портфолио
- Обзор доступных CMS
- Примеры таких портфолио

Мне не понравилось:
- Желтизна заголовка
- Неоднозначность заявлений о платности сервиса в начале, что ведёт к твисту позже

Что мне хотелось бы видеть:
- Упразднение размера части статьи об установке на собственном сервере с ссылками на отдельные статьи, если устанавливающий будет нуждаться в подробностях

Ответить
0

То есть, надо было
- сразу сказать, что Ghost опенсорсный и бесплатный, а оплачивают его ради простоты настройки
- вообще не упоминать марку vps? или не рассказывать как его настроить?

Ответить
0

Не совсем так
Основная цель статьи была рассказать о CMS Ghost. Во первых, хотелось бы в таком случае видеть немного более подробный её обзор
Во вторых, из статьи можно сделать вывод, что оплата хостинга на вашем сервисе может быть выгоднее, чем непосредственный хостинг у Ghost, что и нужно было прямым текстом сказать
В третьих, инструкции о настройке убирать не нужно, но существенно укоротить, оставив только специфические пункты, а для общего процесса делоинга на вашем VPS можно было бы оставить ссылку на отдельную статью на VC/вашем сайте

Ответить
–2

Спасибо!

Мне казалось, что в пункте про экономию довольно прямолинейно говорилось о том, что у нас правда дешевле. Надо еще прямолинейней, в лоб?

Ответить
–2

Хакеры, не стесняясь, хвастаются на VC. Ок 

Ответить
–1

Не хакеры, а хостеры. В данном случае.

Ответить
4

Не хостеры, а хипстеры. 

Ответить
0

Это абсолютно легально

Ответить
0

Сысоев тоже так думал

Ответить
0

В этом и проблема ghost'a, чтобы развернуть блог/портфолио нужен VPS/VDS. Не все хостеры поддерживают требования этой платформы

Ответить
0

ну я и написал, откуда такое брать и как настроить

Ответить
0

500 рублей за хостинг с годовой оплатой?? у хетцнера полноценный vps стоит 200 рублей при помесячной оплате: https://www.hetzner.com/cloud

Ответить
0

надо смотреть на мощность — мы взяли не самый дешевый тариф под докер

Ответить
0

Расскажите пожалуйста (в подробных картинках) как развернуть Докузавр 2 на сервере.
А то я как только читаю "Введите Sudo и настройте зависимости..." - мне становится неуютно.
https://v2.docusaurus.io/
От фейсбука- сайт для документации, аналог ГитБука

Ответить

Комментарии