Как я сэкономил 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, и такого же удобства можно достичь на собственном сайте-визитке, если правильно выбрать движок
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 — если ввести его на этапе оплаты
4. Затем переходим во вкладку мои серверы. Ждем минут 5-10, чтобы сервер создался.
5. Дальше будем работать в терминале. Найдите Launchpad, начните вводить Termial и откройте программу. Если у вас windows, жмите Win + X.
6. Подключаемся к серверу по SSH. Для этого вводим в терминале команду
Где вместо 194.87.102.150 надо ввести ip-адрес сервера, который вы создали. Найти ip-адрес и пароль в личном кабинете
Дальше терминал запросит пароль, вводим.
7. Теперь надо установить на сервере Apache. Он позволит картинке с блогом появиться в браузере. Вводим в терминале команды
8. Теперь устанавливаем сам Ghost. Не забудьте заменить ip-адрес 194.87.102.150 в команде на ip-адрес вашего сервер
Вы не поверите, но это все
Теперь, если вы откроете в браузере страничку http://ваш-ip:2368, то увидите приветственную страницу движка Ghost
Остались только детали настройки сервера:
- привязать доменное имя
- настроить SSL-сертификат
- сделать так, чтобы блог открывался сразу на главной
Заканчиваем настройку сайта
Привязываем к блогу доменное имя
Я купил самое дешевое доменное имя vctestaccount.club за доллар. Покажу на его примере, как привязать к VPS доменное имя
1. В настройках ns-записей регистратора, добавляем A-запись с значением нашего IP
2. Удаляем остальные записи, они не нужны
3. Дальше открываем терминал. Вводим там команды (вместо example.com вводите свое доменное имя)
4. Затем открываем этот файл с помощью редактора nano этой командой
Прямо в терминале откроется файл — содержимое главной страницы вашего сайта. Напишите в нем любой текст, я написал hello world.
Затем нажмите Сtrl + X, редактор спросит сохранить ли файл. Введите Y и нажмите Enter
5. Дальше вводим команды
6. И снова открылся редактор.
Вам нужно заменить выделенуню эту строчку на
добавить в файл строчку
Вот так будет выглядеть готовый файл
Выходим из редактора, нажав CTRL + X, вводим Y (на запрос, сохранить ли файл) и жмем Enter
7. Активируем изменения командами
Ура, теперь сайт начал открываться по нашему доменному имени, а в нем — то, что вы написали в файле главной страницы
Пока сайт будет открываться только по адресу http://ваш-домен.com/
Стоит попытаться войти через безопасное соединение https://ваш-домен.com/, как страница будет выводить ошибку. Чтобы починить это, вам надо настроить SSL-сертификат.
Настраиваем SSL-сертификат
1. Вводим команды
На этом этапе у вас попросят email. Смело вводите, затем вводите букву А и нажимайте enter
2. Теперь у вас спросят, надо ли переадресовывать весь трафик на безопасное соединение. Говорите «да», то есть вводите 2 и жмите enter
Вуаля! Теперь сайт откроется и через HTTPS, а сверху появится значок
Делаем так, чтобы блог открывался на главной
Возвращаемся в терминал вводим команду
Откроется файл, куда надо вставить текст
Вот как это должно получиться
Теперь закрываем файл через CTRL + X, вводим Y и нажимаем enter
4. Вводим команды
Все. Блог открылся на главной по вашему домену
Выводы
Некоторые платные SaaS-версии продуктов доступны бесплатно и даже легально, если копнуть чуть глубже. Если вы видите слова OpenSource и Docker, то вероятно все получится.
Если у вас не работают какие-то команды или вы запутались в процессе — пишите в комментарии и я постараюсь помочь.