Скрипт сам создаст сервер в вашем аккаунте Timeweb Cloud, настроит его и установит MeenuCMS: Node.js 24, MongoDB с паролем, nginx, бесплатный сертификат HTTPS с автопродлением, автозапуск, файрвол и ночные резервные копии. Занимает 15–25 минут; всё, что нужно, скрипт спрашивает по шагам.
Что понадобится
| Что | Где взять |
|---|---|
| Аккаунт Timeweb Cloud с пополненным балансом | timeweb.cloud — регистрация и раздел «Финансы» |
| API-токен Timeweb Cloud | панель Timeweb → «API и Terraform» → «Создать токен» |
| Домен сайта | у любого регистратора; проще всего — купить там же, в Timeweb |
Архив meenu-cms-X.Y.Z.zip |
личный кабинет → «Скачать» |
Код активации MEENU-XXXX-XXXX-XXXX-XXXX |
письмо после оплаты или личный кабинет |
| Компьютер с Windows 10/11, macOS или Linux | в Windows всё нужное уже есть; на macOS и Linux — утилита jq |
Сервер скрипт создаёт сам — заказывать его в панели заранее не нужно.
Регистрация в Timeweb Cloud
- Откройте timeweb.cloud, нажмите «Регистрация», подтвердите почту и телефон.
- Выберите тип аккаунта: физическое лицо или организация (для закрывающих документов — организация или ИП).
- В разделе «Финансы» пополните баланс. Сервер для MeenuCMS стоит около 1 000–1 500 ₽ в месяц, списание посуточное. Timeweb не создаёт сервер, если на балансе меньше его месячной стоимости.
Скрипт предложит тарифы не слабее 2 vCPU, 4 ГБ памяти и 40 ГБ диска — этого хватает с запасом — и покажет цену до создания сервера.
API-токен
Токен нужен, чтобы скрипт создал сервер и DNS-запись от вашего имени.
- Панель Timeweb Cloud → в меню слева «API и Terraform».
- «Создать токен»: имя любое (например,
meenu-install), срок — 1 день. - Скопируйте токен — он показывается один раз.
Токен даёт полный доступ к аккаунту, поэтому скрипт его нигде не сохраняет. После установки удалите токен в том же разделе.
Домен
Сайт будет открываться по вашему домену: sushi-example.ru, shop.example.ru или кириллическому суши-пример.рф. Направить его на сервер скрипт предложит двумя способами:
- домен в Timeweb (куплен там или его NS-серверы —
ns1.timeweb.ru…ns4.timeweb.ru) — A-запись скрипт создаст сам, а старые A-записи этого имени предложит удалить; - домен у другого регистратора (REG.RU, RU-CENTER, Beget и т. д.) — скрипт покажет, какую A-запись добавить в панели регистратора, и подождёт, пока она заработает.
Домен должен указывать только на новый сервер: лишняя A-запись (заглушка регистратора, старый сайт) помешает выпуску сертификата HTTPS.
Запуск скрипта
Скрипт запускается на вашем компьютере, а не на сервере.
Windows 10 и 11
- Нажмите «Пуск», наберите PowerShell и откройте его (права администратора не нужны).
- Скопируйте команду, вставьте в окно PowerShell правой кнопкой мыши и нажмите Enter:
[Net.ServicePointManager]::SecurityProtocol = 'Tls12'; irm https://meenu.ru/install/timeweb.ps1 | iex
Больше ничего ставить не нужно: PowerShell и SSH уже есть в Windows. Если скрипт напишет, что не найден «клиент OpenSSH», включите его: «Параметры» → «Приложения» → «Дополнительные компоненты» → «Добавить компонент» → «Клиент OpenSSH».
macOS и Linux
Откройте «Терминал». На macOS сначала поставьте утилиту jq (нужен Homebrew), на Linux — curl и jq:
brew install jq # macOS
sudo apt install -y curl jq openssh-client # Linux
Запустите установку:
bash <(curl -fsSL https://meenu.ru/install/timeweb.sh)
Что спросит скрипт
- Домен — кириллический домен скрипт сам переведёт в punycode. Для домена второго уровня спросит, открывать ли сайт и по
www.(с переадресацией на основной адрес). Затем — email для Let’s Encrypt: туда придёт письмо, если продление сертификата сломается. - API-токен Timeweb — вставьте его (в Windows — правой кнопкой мыши) и нажмите Enter. Символы при вставке не отображаются — так и задумано. Скрипт проверит токен и покажет баланс.
- SSH-ключ — скрипт создаст ключ
.ssh\meenu_timeweb_ed25519в папке пользователя. Это ваш ключ от сервера — не удаляйте его. - Сервер — «создать новый»: выбор локации (по умолчанию Санкт-Петербург) и тарифа с ценой, подтверждение перед созданием. Или «уже есть»: IP пустого сервера Ubuntu 22.04/24.04 — скрипт один раз спросит пароль root и добавит на сервер ключ.
- DNS — автоматически или вручную у регистратора (см. «Домен»). Скрипт ждёт, пока домен начнёт указывать на сервер, — обычно 2–15 минут.
- Архив MeenuCMS — перетащите скачанный
meenu-cms-X.Y.Z.zipмышкой в окно и нажмите Enter. В Windows можно просто нажать Enter — скрипт сам найдёт архив в папке «Загрузки».
Дальше 10–15 минут скрипт работает сам, ход виден на экране: обновление системы, Node.js 24, MongoDB, файрвол, MeenuCMS и её автозапуск, nginx, сертификат HTTPS и проверка его автопродления, резервные копии, проверка сайта.
Прервать можно в любой момент (Ctrl+C). Запустите ту же команду снова и укажите тот же домен — скрипт продолжит с сохранённого места, уже сделанное на сервере не сломается. Журнал настройки хранится на сервере — /root/meenu-install.log.
В конце Windows-версия сама скопирует секрет установки в буфер обмена и откроет мастер установки в браузере.
Мастер установки
В конце скрипт покажет адрес и секрет установки:
- Откройте
https://<ваш домен>/install. - Введите секрет установки из итога скрипта.
- Введите код активации
MEENU-XXXX-XXXX-XXXX-XXXX— лицензия привяжется к этому серверу. - Укажите название бизнеса, данные владельца и первую точку.
Готово — дальше всё настраивается в админке https://<ваш домен>/admin: оплата, зоны доставки, меню, команда. Не забудьте удалить API-токен в панели Timeweb.
Обслуживание сервера
| Задача | Как |
|---|---|
| Обновить MeenuCMS | в админке — «Применить обновление» в баннере новой версии |
| Войти на сервер | ssh -i ~/.ssh/meenu_timeweb_ed25519 root@<IP> |
| Журнал CMS | journalctl -u meenu-cms -f |
| Перезапустить CMS | systemctl restart meenu-cms |
| Резервная копия сейчас | meenu-backup |
| Настройки | /var/www/meenu-cms/.env |
| Забыли секрет установки | grep INSTALL_SECRET /var/www/meenu-cms/.env |
Резервные копии базы, загруженных фото и настроек делаются каждую ночь в 04:30 в /var/backups/meenu-cms и хранятся 14 дней. Они лежат на том же сервере, поэтому дополнительно включите в панели Timeweb автоматические бэкапы сервера (страница сервера → «Бэкапы»).
Сертификат HTTPS продлевается сам: дважды в сутки certbot проверяет срок и обновляет сертификат примерно за месяц до окончания.
Если что-то не так
| Что видно | Что сделать |
|---|---|
| «Токен не принят» | скопирован не целиком или истёк — создайте новый токен |
| Сервер не создаётся | на балансе меньше месячной стоимости тарифа — пополните баланс |
| Скрипт долго ждёт DNS | проверьте A-запись у регистратора и уберите старые; у некоторых регистраторов изменения доходят до 1–2 часов. Можно выйти и запустить скрипт позже |
| Ошибка certbot | домен указывает не только на новый сервер — исправьте DNS и запустите скрипт снова |
| «CMS не ответила» | войдите на сервер и посмотрите journalctl -u meenu-cms -n 100 |
| Код активации «привязан к другой установке» | отвяжите прежний сервер в личном кабинете |
| Нет доступа по SSH | панель Timeweb → сервер → «Консоль», вход по паролю root со страницы сервера |
Если не получается — напишите в поддержку из личного кабинета и приложите снимок экрана с ошибкой.