Приложение в один клик избавляет вас от установки и ни от чего после неё. На RE:NODE таких линеек четыре: WordPress с файлами на месте и уже созданной и подключённой базой MySQL; Ghost, который устанавливается и собирается при первом запуске сервера, с данными в SQLite; Strapi, который создаётся и собирается так же, тоже на SQLite; и Mail Server на Stalwart с SMTP, IMAP, JMAP и веб-админкой. Везде первым делом вы открываете адрес и занимаете аккаунт администратора, а за вами остаются одни и те же четыре вещи на любой линейке: домен, исходящая почта, бэкапы, которые вы действительно проверили, и обновления. Берите WordPress для сайта, которому нужны плагины и привычный редактор, Ghost для текстов и рассылок, Strapi когда отдельному фронтенду нужен API с контентом, а Mail Server только если вы хотите вести почту сами и готовы принять всё, что это за собой тянет.
Дальше разберём каждую линейку: что установлено заранее, как выглядит первый вход, какие настройки всё равно придётся тронуть и какие ошибки съедают первый день.
Что устанавливают четыре линейки в один клик#
Такая линейка - это готовое приложение, а не среда выполнения, которую вы наполняете своим кодом. Сервер создаётся, когда проходит оплата, обычно меньше чем за минуту, а сама установка происходит при первом запуске (для WordPress - при первой установке). После этого это обычный сервер: та же консоль, файловый менеджер, SFTP, бэкапы и расписания, что и на любом другом тарифе, и ничего не закрыто за тарифом.
| Линейка | Что сделано за вас | От |
|---|---|---|
| WordPress | Файлы на месте, база MySQL создана, wp-config.php записан | $5 в месяц |
| Ghost | Ghost установлен и собран при первом запуске, данные в SQLite | $5 в месяц |
| Strapi | Проект создан, админка собрана при первом запуске, данные в SQLite | $7 в месяц |
| Mail Server | Stalwart с SMTP, IMAP, JMAP и веб-админкой | $4 в месяц |
Двум из этих линеек отдельная база не нужна. Ghost и Strapi хранят контент в файле SQLite на самом сервере, так что докупать и подключать ничего не надо; если позже вам понадобится PostgreSQL или MySQL, вы добавляете линейку баз данных и направляете приложение на неё. С WordPress иначе, потому что ему нужен MySQL, поэтому линейка WordPress создаёт собственную базу MySQL и записывает параметры подключения в wp-config.php. Mail Server хранит почтовые ящики на своём диске.
Важно и то, чего в списке нет. Установка в один клик существует только для этих линеек. На веб-тарифах Engines, рассчитанных на Drupal, Joomla, DLE или приложение на Laravel, CMS вы ставите сами, а установщика сборок модов, плагинов или тем нет нигде. Самостоятельно устанавливаемые варианты разобраны в статье сравнение хостинга для CMS.
Что происходит при первом запуске#
Порядок событий одинаков на всех четырёх линейках, и знание его избавляет от обращения в поддержку.
- Сервер появляется в панели. У него есть адрес и порт, они показаны вверху страницы сервера.
- Запустите его и держите открытой вкладку Console. Ghost и Strapi скачиваются и собираются при этом первом запуске, и он идёт заметно дольше любого последующего; в консоли видно каждый шаг. Сборка же - самое прожорливое по памяти, что делают эти приложения, поэтому первый запуск - момент, когда стоит следить за графиком памяти.
- Когда консоль сообщит, что приложение слушает соединения, откройте адрес. У каждой линейки свой первый экран, о них ниже.
- Сразу займите аккаунт администратора. В WordPress, Ghost и Strapi первый, кто попадает на экран настройки, становится владельцем. Адрес совсем нового сервера пока никто не знает, но откладывать этот шаг на завтра не стоит.
- И только потом направляйте на него домен.
Если первый запуск закончился ошибкой, а не сообщением о прослушивании, прочитайте последние тридцать строк консоли, прежде чем перезапускать. Перезапуск повторяет тот же шаг и обычно падает так же. Две причины, которые мы видим чаще всего: сборка упирается в память на тарифе, рассчитанном на работу сайта, а не на сборку, и файл, который читатель отредактировал до окончания первого запуска.
WordPress: первый вход и что уже сделано#
На линейке WordPress первая установка скачивает WordPress в корневую папку сайта, создаёт для него базу MySQL со сгенерированными пользователем и паролем и записывает их в wp-config.php. Так что та часть установки WordPress, где обычно всё идёт не так - создание базы и ввод её хоста, пользователя и пароля в конфиг - уже готова. Как этот шаг выглядит, когда за вас его никто не делает, показывает статья установка WordPress вручную.
Первое обращение к адресу сервера открывает установщик WordPress. Он спрашивает пять вещей: название сайта, имя администратора, пароль, адрес электронной почты и нужно ли индексировать сайт поисковыми системами. Выберите имя администратора, отличное от admin, используйте длинный сгенерированный пароль и укажите почту, которую вы читаете, потому что туда приходят сбросы пароля. Если сайт ещё не готов, отметьте галочку, запрещающую индексацию; она добавляет сигнал noindex, который при запуске нужно не забыть снять в Settings, Reading.
Когда вы войдёте, стоит проверить в файловом менеджере wp-config.php:
// Database details are already written by the install - leave them.// Check the eight keys and salts are long random strings, not placeholders.define( 'AUTH_KEY', '...' );// Useful additions for a production site:define( 'DISALLOW_FILE_EDIT', true ); // no theme/plugin editor in wp-admindefine( 'WP_POST_REVISIONS', 10 ); // cap stored revisions per postdefine( 'WP_DEBUG', false );Если какие-то из ключей и солей по-прежнему читаются как put your unique phrase here, замените их значениями из собственного генератора WordPress по адресу https://api.wordpress.org/secret-key/1.1/salt/. Их смена разлогинивает всех, что безвредно на новом сайте.
Что на WordPress всё ещё настраиваете вы:
- Адрес. WordPress хранит свой URL в базе (Settings, General: WordPress Address и Site Address). Когда ваш домен и сертификат заработают, поменяйте оба на
https://плюс домен. Делайте это после того, как HTTPS отвечает, а не раньше, иначе вы запрёте себя вне wp-admin за редиректом на адрес, которого ещё не существует. - Постоянные ссылки. Settings, Permalinks, затем выберите "Post name". Линейка WordPress работает на веб-стеке из nginx и PHP, поэтому правила
.htaccess, которые пишут плагины, не действуют. Плагины, обещающие всё исправить через.htaccess, здесь не тот инструмент. - Исходящая почта. По умолчанию WordPress отправляет почту через PHP
mail(), а это самый ненадёжный способ отправки почты с любого сервера. Установите SMTP-плагин и направьте его на настоящий почтовый сервис. Варианты разобраны в статье транзакционная почта из вашего приложения. - Кэширование. Свежий WordPress отрисовывает каждую страницу на PHP при каждом запросе. Кэш страниц - самое большое ускорение, которое вы можете получить; статья кэширование WordPress рассказывает, что реально сокращает время до первого байта, а что нет.
- Защита. Обновления плагинов, ограничение частоты входов, удаление ненужных плагинов. Полный список - в статье защита WordPress.
База доступна со страницы баз данных в панели, где "Open in phpMyAdmin" входит под вашей учёткой по одноразовому токену. Именно туда вы идёте исправлять неверный siteurl, если всё же заперли себя: таблица wp_options, строки siteurl и home.
Ghost: первый вход и что ещё нужно настроить#
Ghost устанавливается и собирается при первом запуске сервера, а его данные лежат в SQLite на сервере. На машине, которая целиком ваша, Ghost обычно ставят через Ghost-CLI, который заодно настраивает MySQL, nginx, сертификат и менеджер служб; здесь ничего из этого не применимо, потому что надзор за процессом уже обеспечивает панель, а HTTPS даёт слот прокси.
Первый вход - по адресу сервера с /ghost на конце. Первое обращение открывает экран настройки: название сайта, ваше имя, почта и пароль. Этот аккаунт становится Owner, и он всегда один. Сотрудники добавляются позже по приглашению с ролями Contributor, Author, Editor и Administrator.
Два параметра решают, будет ли сайт на Ghost работать публично, и оба лежат в config.production.json в файловом менеджере:
{ "url": "https://blog.example.com", "mail": { "transport": "SMTP", "options": { "host": "smtp.example.com", "port": 465, "secure": true, "auth": { "user": "postmaster@example.com", "pass": "app-password" } } }}url - это точный публичный адрес вместе со схемой. Ghost строит из него каждую ссылку, canonical-тег, запись RSS, запись sitemap и ссылку в письме и перенаправляет на него посетителей, поэтому задавайте его только после того, как ваш домен отвечает по HTTPS, а затем перезапустите сервер. server.host и server.port оставьте так, как их записала установка: они подобраны под порт, выделенный вашему серверу.
Блок mail нужен для транзакционной почты: приглашений сотрудников, сбросов пароля и ссылок для входа участников. Без него приглашённые вами люди не смогут принять приглашение. Массовые рассылки - отдельная настройка в админке Ghost; самостоятельно размещённый Ghost отправляет их через Mailgun, поэтому сайту, который хочет писать своим участникам, нужен аккаунт Mailgun в дополнение к SMTP-настройкам выше. Прежде чем строить на этом планы, загляните в актуальную документацию Ghost, потому что подобные детали меняются от одной мажорной версии к другой.
Темы загружаются в виде zip-файлов из админки (Settings, Design), а собственные можно положить и в content/themes по SFTP. Всё, что принадлежит вам - изображения, темы, база SQLite - лежит в content. Руководство по хостингу Ghost гораздо глубже разбирает рассылки, темы, бэкапы SQLite и обновления, которые не ломают сайт.
Strapi: первый вход и вопрос режима разработки#
Линейка Strapi создаёт проект Strapi и собирает его админ-панель при первом запуске, а контент хранится в SQLite. Тарифы начинаются с 2 GB памяти - столько собственная документация Strapi просит для спокойной сборки админки; запущенный процесс потом использует намного меньше.
Первый вход - по адресу /admin на адресе сервера. При первом обращении вас просят зарегистрировать суперадминистратора: имя, почта и пароль. Как и с Ghost, установкой владеет тот, кто пришёл первым, так что делайте это сразу после первого запуска.
В папке проекта лежит файл .env с секретами, которые нужны Strapi. У проекта, созданного собственным генератором Strapi, для каждого из них случайные значения:
APP_KEYS=...API_TOKEN_SALT=...ADMIN_JWT_SECRET=...TRANSFER_TOKEN_SALT=...JWT_SECRET=...Скопируйте эти значения в менеджер паролей сейчас. После запуска они не должны меняться: сгенерируйте API_TOKEN_SALT заново - и все API-токены, которые держит ваш фронтенд, перестанут работать; сгенерируйте заново ADMIN_JWT_SECRET - и все редакторы будут разлогинены. Если вы когда-нибудь пересоберёте сервер, восстановите тот же набор.
Вопрос, который нужно решить в первый день, - где вы проектируете типы контента. Content-Type Builder в Strapi, где создаются типы коллекций, поля и компоненты, разрешает изменения только когда Strapi запущен в режиме разработки. В режиме production (strapi start) он доступен только для чтения, и так задумано, потому что тип контента - это код: он пишет файлы в src/api, а они должны жить в системе контроля версий. Какой режим у вашего сервера, видно по команде запуска на вкладке Startup. Разумных рабочих схем две:
- Моделируйте контент на своей машине через
npm run develop, закоммитьте проект на GitHub и затяните его на сервер: либо загрузив изменившуюся папкуsrc, либо через GitHub deploy панели. Затем пересоберите админку и перезапустите сервер. - Для небольшого проекта одного человека моделируйте прямо на сервере, пока он работает в режиме разработки, а перед открытием сайта переключите его в production. Проще, но истории ваших изменений не останется.
Что на Strapi всё ещё настраиваете вы: публичный url в config/server.js, чтобы ссылки и админка работали за вашим доменом; права API в Settings, Users and Permissions, потому что по умолчанию публичная роль не может читать ничего, и самый частый вопрос "Strapi возвращает 403" именно об этом; API-токены для вашего фронтенда; и провайдер загрузок, если медиа должны лежать не в public/uploads, а в другом месте. Руководство по Strapi в production разбирает каждый из этих пунктов с точными файлами.
Линейка Mail Server: Stalwart и то, что остаётся вам#
Линейка Mail Server - это целый сервер Stalwart, которым управляете вы, а не почтовые ящики, продаваемые по одному. Он обеспечивает SMTP для отправки и приёма, IMAP и JMAP для почтовых клиентов и имеет веб-админку, где вы создаёте домены и аккаунты, получаете ключи DKIM и настраиваете спам-фильтр. В тарифы входит пять портов, чего хватает на отправку (submission), IMAPS, веб-админку и ещё пару.
Свежая установка Stalwart стартует в режиме, который проект называет bootstrap: она один раз выводит в консоль временный пароль администратора, а настройка в веб-админке спрашивает имя хоста, домен по умолчанию и место для хранения данных. Поэтому первый вход начинается на вкладке Console - прочитайте пароль из вывода первого запуска, войдите и замените его на такой, который хранится в менеджере паролей. Этот аккаунт администратора может читать каждый ящик и перенаправлять почту любого домена, так что не используйте его как обычный ящик. Первый час подробно разобран в статье настройка почтового сервера Stalwart.
Три вещи остаются вашими, и ни одна не опциональна:
example.com. MX 10 mail.example.com.mail.example.com. A <server address>example.com. TXT "v=spf1 mx -all"<selector>._domainkey TXT "v=DKIM1; k=rsa; p=..."_dmarc.example.com. TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"Селектор и сам ключ DKIM - это то, что веб-админка показывает для вашего домена; копируйте их точно.
- DNS-записи. MX, SPF, DKIM и DMARC вы публикуете там, где у вас размещён DNS. Редактора зон с нашей стороны нет. Запись DKIM берётся из веб-админки. Что делает каждая из них, объясняет статья SPF, DKIM и DMARC простыми словами.
- Входящий порт 25. Другие почтовые серверы доставляют почту только на порт
25, а контейнер сам не может открыть этот порт на публичном адресе. Откройте тикет, и поддержка пробросит его на ваш сервер. Это один почтовый сервер на адрес, потому что порт 25 на одном IP может занимать только один сервер. - Исходящая доставка. Если сеть, в которой находится сервер получателя, отказывается принимать почту от вас или исходящий порт
25заблокирован, отправляйте через relay, настроенный в веб-админке. Как это сделать, объясняет статья SMTP relay для исходящей почты.
Честный итог подведён в статье свой почтовый сервер: что для него действительно нужно: почта нетребовательна к CPU и требовательна к вниманию. Если вам нужно лишь, чтобы контактная форма отправляла уведомления, почтовый сервер вам не нужен; сервис транзакционной почты - меньше работы.
Домены и HTTPS на каждой линейке#
Шаг с доменом одинаков на веб-линейках и линейках приложений. В каждый тариф входит слот обратного прокси. Добавьте свой домен в слот прокси, направьте на него A-запись на адрес, который показывает панель, и сертификат будет выпущен, а затем продлевается автоматически в окне в 21 день до истечения. Настоящий IP-адрес посетителя приходит в приложение в заголовке X-Forwarded-For, что важно для фильтров спама в комментариях, ограничения частоты запросов и аналитики.
Порядок, который исключает блокировку, везде один:
- Завершите экран настройки на обычном адресе сервера.
- Добавьте домен в слот прокси и создайте A-запись. Часть про ожидание объясняет статья ваш домен и его сертификат.
- Откройте
https://плюс домен и убедитесь, что сертификат действителен. - Только после этого меняйте собственный адрес приложения: WordPress Address и Site Address,
urlв Ghost,urlв Strapi. - Перезапустите приложение и проверьте, что админка по-прежнему открывается.
Приложение за прокси, который завершает HTTPS, видит от прокси обычный HTTP. Ghost и Strapi справляются с этим через настройку url. WordPress иногда нет, и это проявляется как цикл редиректов или предупреждения о смешанном содержимом после шага 4. Обычное решение, если прокси присылает заголовок X-Forwarded-Proto, - сообщить об этом WordPress в начале wp-config.php:
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) { $_SERVER['HTTPS'] = 'on';}Mail Server - исключение: почтовые клиенты не ходят через слот прокси, а другие почтовые серверы ищут имя хоста из вашей MX-записи.
Бэкапы и обновления#
В каждом тарифе в один клик есть слоты бэкапов. Бэкап делается по требованию или по расписанию, хранится вне машины, которую защищает, его можно скачать и восстановить кнопкой; блокируйте те, которые хотите вывести из ротации. Отдельно мы каждую ночь делаем системный бэкап каждого сервера вне ваших слотов, но восстановить из него самостоятельно нельзя - это идёт через поддержку, - поэтому считайте своими настоящими бэкапами те, что делаете вы.
Что должен содержать бэкап, зависит от линейки:
| Линейка | Что должно быть в бэкапе | На что обратить внимание |
|---|---|---|
| WordPress | wp-content и база MySQL | Бэкап одних файлов теряет записи |
| Ghost | content и config.production.json | SQLite скопирован в момент записи |
| Strapi | Проект, .env, база .tmp, загрузки | Потеря секретов из .env |
| Mail Server | Каталог данных Stalwart | Восстановление поверх более новой почты |
Строка про WordPress - та, в которой чаще всего ошибаются. Записи, страницы, пользователи и настройки лежат в MySQL, а не в файлах, поэтому бэкап корневой папки сайта на сервере - это половина бэкапа. Снимите ещё и дамп базы; команды есть в статье бэкап и восстановление через mysqldump, а для небольшого сайта ту же работу делает экспорт в phpMyAdmin.
Для Ghost и Strapi файл SQLite и есть база данных. Если копировать его в момент записи приложением, можно получить файл, который не откроется. Безопасная схема такая: остановить, сделать бэкап, запустить, и вкладка Schedules умеет делать ровно это одной упорядоченной задачей в спокойный час: действие питания "остановить", бэкап, действие питания "запустить". О том, что бывает после, рассказывает статья бэкапы, которые действительно восстанавливаются: бэкап, который никто не восстанавливал, остаётся гипотезой.
Обновления вы выполняете сами. Каждый файл, который пишет установщик, доступен в файловом менеджере и по SFTP, и то, что вы меняете, наша сторона не перезаписывает. WordPress обновляется сам из wp-admin, плагины тоже; сначала сделайте бэкап. Обновления Ghost и Strapi - это апгрейды версий с миграциями базы, которые выполняются при следующем запуске, так что прочитайте заметки о релизе, сделайте бэкап, обновите и следите за журналом первого запуска. Stalwart публикует заметки об обновлении для каждого релиза; прочитайте их перед мажорной версией.
Что выбрать#
Выбор в основном определяется тем, что вы строите, а не разницей в цене.
| Вам нужно | Выбор | Почему |
|---|---|---|
| Сайт с плагинами, магазином, формами | WordPress | Вся суть - в экосистеме плагинов |
| Блог или рассылка, быстро и чисто | Ghost | Тексты, участники и почта в одном |
| Контент для отдельного фронтенда или приложения | Strapi | Headless: API, без темы |
| Свои адреса на своём сервере | Mail Server | Полный контроль, полная ответственность |
Несколько практических правил по опыту работы со всеми четырьмя:
- WordPress - безопасный ответ для бизнес-сайта, который будет расти вширь: магазин, форма бронирования, раздел для участников, конструктор страниц, на котором настаивает чей-то маркетинг. Цена - обслуживание: плагины - это поверхность атаки и самое медленное место. Подобрать тариф поможет статья сколько RAM нужно WordPress; тариф Starter рассчитан на блог или небольшой сайт компании, но не на WooCommerce с каталогом.
- Ghost лучше, когда сайт - это в основном тексты. Он быстр без плагина кэширования, в него встроены участники и рассылки, а подвижных частей у него гораздо меньше. Это неподходящий инструмент, если вам нужны магазин, форум или произвольные макеты страниц.
- Strapi имеет смысл, только если кто-то делает фронтенд: сайт на Next.js, мобильное приложение, генератор статических сайтов. Сам по себе он отдаёт JSON, а не страницы. Если никто в проекте не пишет фронтенд-код, берите Ghost или WordPress.
- Mail Server - для тех, кто хочет держать почту своего домена на сервере под своим контролем и готов заниматься DNS-записями, репутацией и спамом. Для уведомлений контактной формы достаточно relay или сервиса транзакционной почты.
Если ничто из этого не подходит, это случай для среды хостинга приложений с вашим собственным кодом или для веб-тарифов Engines, если CMS вы устанавливаете сами.
Частые проблемы первого дня#
- "502" или ничего по адресу при первом запуске. Установка ещё идёт. Ghost и Strapi собираются при первом запуске; дождитесь, пока консоль скажет, что приложение слушает соединения.
- Первый запуск был убит и перезапущен. При достижении лимита памяти ядро останавливает контейнер, и он запускается заново с нуля, а не уходит в своп. Сборка, которой нужно больше памяти, чем есть в тарифе, будет ходить по кругу. Посмотрите график памяти; решение - тариф побольше, а смена тарифа сервер не пересобирает.
- Не удаётся войти в wp-admin после смены адреса. Исправьте
siteurlиhomeвwp_optionsчерез phpMyAdmin или добавьте вwp-config.phpстрокиdefine( 'WP_HOME', '...' );иdefine( 'WP_SITEURL', '...' );, чтобы переопределить их. - Приглашения Ghost не приходят. Блок
mailотсутствует или неверен. Исправьте его, перезапустите сервер, отправьте приглашение заново. - Strapi возвращает 403 на каждый вызов API. У роли Public нет прав, пока вы не выдадите
findиfindOneна типы контента, которые хотите открыть, или не пришлёте API-токен. - Типы контента Strapi нельзя редактировать. Он работает в режиме production, и так задумано. Моделируйте в режиме разработки, как описано выше.
- Почта не попадает ничьим адресатам. Порт 25 ещё не проброшен, или MX-запись указывает на другое место. Проверьте MX командой
dig MX example.comи откройте тикет на порт.
FAQ#
Нужен ли для Ghost и Strapi тариф с базой данных?
Нет. Оба хранят данные в SQLite на сервере, так что докупать ничего не надо. Если у проекта на Strapi появляется несколько редакторов и большая нагрузка или вам нужны бэкапы базы на конкретный момент времени, добавьте линейку PostgreSQL и перенесите контент собственными средствами экспорта и импорта Strapi.
Можно ли ставить плагины и темы на линейках в один клик?
Да. В WordPress вы устанавливаете любой плагин или тему из wp-admin или загружаете их по SFTP. Темы Ghost загружаются как zip-файлы; плагины Strapi - это npm-пакеты, которые добавляются в проект, после чего пересобирается админка. Белых списков нет.
Создаётся ли аккаунт администратора за меня?
Нет, и это сделано намеренно. WordPress, Ghost и Strapi при первом обращении показывают экран настройки, и аккаунт владельца вы создаёте там. Mail Server при первом запуске выводит в консоль временный пароль администратора, который вы заменяете.
Можно ли перенести существующий сайт на сервер в один клик?
Да, штатными средствами самого приложения. WordPress переносится файлами плюс дампом базы, а статья перенос WordPress на новый хостинг проведёт вас по шагам. В Ghost есть экспорт и импорт в админке, а в Strapi - strapi export и strapi import. Перенос почты - отдельная работа.
Перезапишет ли обновление с вашей стороны мои изменения?
Нет. Каждый файл, который пишет установщик, ваш: он доступен в файловом менеджере и по SFTP, и обновление никогда не перезаписывает то, что вы изменили. Обновления приложений запускаете вы, поэтому перед каждым делайте бэкап.
Можно ли запустить WordPress и почтовый сервер на одном тарифе?
Нет. Каждая линейка - отдельный сервер со своим адресом и портами. Запускайте WordPress на линейке WordPress, а почту на линейке Mail Server и используйте почтовый сервер как SMTP-хост для исходящей почты WordPress.


