NNova CMSцентр знаний
Центр знанийУстановка
Пошаговое руководство

Установка Nova CMS на свой хостинг

От проверки тарифа до первого тестового заказа. Для работы не нужна MySQL — достаточно современного PHP и защищённых каталогов.

Самый простой способ — один файл

Подходит для Beget, Timeweb, REG.RU, cPanel, ISPmanager и большинства обычных PHP‑хостингов. Обычно установка занимает 5–10 минут.

01

Скачайте установщик

После одобрения заявки откройте персональную ссылку из письма и скачайте один файл nova-installer-….php.

02

Загрузите один файл

Поместите установщик в пустую корневую папку своего домена. Распаковывать архив вручную не нужно.

03

Нажмите одну кнопку

Откройте файл в браузере и нажмите «Установить Nova CMS». После проверки и распаковки создайте пароль администратора.

Лицензионный ключ и ZIP копировать не нужноУстановщик сам скачивает персональную сборку по HTTPS, сверяет SHA‑256, проверяет цифровую подпись и домен, а затем удаляет свой токен. Мы не просим пароль от вашего хостинга.

Что придёт на email

  • Ссылка и установщик персональные — не пересылайте их.
  • Установщик работает только на доменах из лицензии и только по HTTPS.
  • Если письмо не пришло за 5 минут, проверьте папки «Спам» и «Рассылки», затем напишите на license@nova-cms.ru.
  • Поддержке достаточно домена, названия хостинга, версии PHP и снимка ошибки. Пароли присылать нельзя.

1. Требования к серверу

КомпонентМинимумРекомендуется
PHP8.28.2 или 8.3, production mode
РасширенияJSON, mbstring, Sodium, OpenSSL, cURL, Fileinfo, ZIPТакже GD для WebP и Intl для IDN‑доменов
Память PHP128 МБ256 МБ для Excel и резервных копий
Диск300 МБОт 1 ГБ с запасом под фото и 7 копий
Веб‑серверApache 2.4 / NginxHTTPS, HTTP/2 или HTTP/3
База данныхНе требуетсяДанные хранятся в закрытых JSON
Сначала спросите поддержку хостингаПоддерживает ли тариф PHP 8.2+, Sodium, ZipArchive, mod_rewrite или собственные правила Nginx, cron и запись в каталоги. На конструкторе без доступа к PHP движок не запустится.

2. Что подготовить до загрузки

  • Домен и вариант с www, если он будет использоваться.
  • Работающий SSL‑сертификат и автоматический переход с HTTP на HTTPS.
  • Доступ по SFTP/SSH или файловый менеджер панели хостинга.
  • Пустую корневую папку домена с правом записи для PHP.
  • Персональный файл nova-installer-….php, скачанный по ссылке из письма.

Не устанавливайте рабочий магазин в подпапку другого сайта. Для теста удобнее использовать отдельный поддомен, например test.example.ru, и заранее включить его в заявку.

3. Загрузка установщика

Через ISPmanager, cPanel или другую панель

СайтыВаш доменФайлыЗагрузитьnova-installer.php
  1. Создайте домен и включите SSL.
  2. Откройте файловый менеджер и перейдите в пустой document root домена.
  3. Загрузите персональный файл nova-installer-….php.
  4. Откройте его через браузер по точному имени файла.
  5. Убедитесь, что все проверки зелёные, подтвердите домен и нажмите «Установить Nova CMS».
  6. После автоматической распаковки примите соглашение и создайте пароль администратора.
Корневая папка должна быть пустойУстановщик не заменяет существующий сайт и остановится, если найдёт index.php, config.php, admin, data или другие файлы CMS. Сначала создайте резервную копию старого сайта.

Запасной вариант: обычный ZIP

Если хостинг запрещает серверные HTTPS‑загрузки, вернитесь на персональную страницу, нажмите «Обычный ZIP», загрузите архив в корень домена и распакуйте его вручную.

4. Права и закрытые каталоги

PHP должен записывать в data, cache, backups и assets/uploads. Обычно подходят каталоги 775, файлы 664 или более строгие права при совпадающем владельце процесса PHP.

Не используйте 777 без необходимостиЕсли сайт пишет «нет прав», правильнее исправить владельца файлов и группу PHP‑процесса. Каталоги data, backups, lib, scripts, templates и deploy не должны открываться через браузер.

5. ЧПУ на Apache и Nginx

Apache

Включите mod_rewrite, разрешите .htaccess через AllowOverride All и направьте домен в корень CMS. Готовый пример виртуального хоста находится в закрытом комплекте deploy/apache-vhost.conf.example.

Nginx

Используйте правило try_files $uri $uri/ /router.php?$query_string; и отдельные запреты на служебные каталоги. Полный пример находится в deploy/nginx-novamarket.conf.example.

location / { try_files $uri $uri/ /router.php?$query_string; } location ~ ^/(data|lib|templates|backups|scripts|deploy|config\.php) { deny all; }

6. Установка лицензии

  1. Отправьте заявку и укажите точные домены.
  2. Подтвердите email по ссылке из письма.
  3. После одобрения создателем CMS дождитесь письма «Ваша Nova CMS готова».
  4. Откройте персональную ссылку и скачайте однофайловый установщик.
  5. Загрузите его в корень домена и нажмите «Установить Nova CMS».
  6. Полностью прочитайте лицензионное соглашение по отдельной ссылке и подтвердите действующую редакцию.
  7. Создайте уникальный пароль администратора длиной не менее 12 символов.
  8. CMS проверит цифровую подпись, домен и сохранит локальный журнал согласия: редакцию, дату и SHA‑256 текста.
  9. Войдите с логином admin и созданным паролем, затем заполните настройки.
Ключ и центр выпуска скрытыУстановщик содержит только персональный адрес загрузки, разрешённые домены, ожидаемый SHA‑256 и открытый ключ проверки. Страница владельца CMS, чужие заявки, закрытый ключ подписи и пароль создателя клиенту не передаются.

7. Cron для копий, индекса и обновлений

Настройте ежедневную резервную копию в 23:00, периодическое обновление поискового индекса и worker безопасных обновлений. Используйте PHP CLI той же версии, что работает на сайте.

0 23 * * * /usr/bin/php /var/www/example.ru/public_html/scripts/backup-cron.php */20 * * * * /usr/bin/php /var/www/example.ru/public_html/scripts/rebuild-search-index.php * * * * * /usr/bin/php /var/www/example.ru/public_html/scripts/cms-update-worker.php

На VPS worker обновлений запускайте от root, когда программный код принадлежит root и закрыт от записи PHP. На обычном хостинге используйте системного пользователя сайта. Путь /usr/bin/php и корень сайта уточните у хостинга.

8. Проверка перед публикацией

  • /data/products.json и /backups отвечают 403.
  • Все ЧПУ открываются без .php, старые адреса дают 301.
  • HTTPS не вызывает смешанного содержимого.
  • Пароль администратора заменён, вход ограничивает перебор.
  • Тестовый товар добавляется в корзину, заказ появляется в админке.
  • Письма/мессенджеры и обратный звонок используют реальные контакты.
  • Оплата проверена в тестовом режиме, webhook доходит до сайта.
  • sitemap.xml пересобран, robots.txt соответствует стадии запуска.
  • Резервная копия создаётся и скачивается.
  • Cookie и политика персональных данных переписаны под владельца сайта.

9. Безопасное обновление из админки

  1. Откройте Обновления CMS и нажмите «Проверить обновления».
  2. CMS получит подписанный манифест только с официального HTTPS‑домена и проверит Ed25519‑подпись.
  3. После подтверждения система сверит SHA‑256 ZIP и каждого файла. Незаявленные файлы или пути data, backups, assets/uploads и config.php блокируются.
  4. До замены кода автоматически создаются полная копия содержимого и отдельная точка возврата прежних программных файлов.
  5. Если установка оборвётся, выполняется аварийный возврат. После успешного обновления точка возврата доступна в том же разделе админки.
  6. Проверьте вход, каталог, тестовый заказ, оплату, sitemap и cron. Внешнюю копию перед крупным релизом всё равно рекомендуется скачать.
Обновление не заменяет данные магазинаТовары, категории, заказы, настройки, лицензия и загруженные изображения физически исключены из разрешённых путей релиза. Установка запускается только администратором и никогда не происходит автоматически.