Установка модуля или темы из архива
Как положить модуль или тему файлом .zip и почему это делается в два шага и только владельцем.
Модуль или тему можно поставить из файла .zip. Архив — это чужой код, который потом работает на вашем сервере, поэтому всё устроено осторожно: установку делает только владелец, с повторным вводом пароля, и сначала архив только осматривается.
Включение возможности
Кнопка «Установить из архива» стоит на странице Дополнения → Модули. Сама возможность по умолчанию выключена: на странице установки её включает владелец кнопкой «Включить». Включайте, только если знаете, откуда берутся архивы.
Два шага
1. Осмотр. Выберите, что ставите (модуль или тему), и загрузите файл .zip (до 20 МБ). Архив распаковывается во временную закрытую папку, читается описание, проверяется подпись; в ответ вы получаете отчёт «Что в архиве». Ничего не устанавливается и не запускается.
2. Установка. Если отчёт устраивает, отметьте «Я понимаю, что код этого архива будет выполняться на моём сервере» и нажмите «Установить». Перед установкой файлы проверяются ещё раз: если между осмотром и установкой они изменились, установка откажет и архив нужно загрузить заново.
Подпись
Архив с подписью Nex1on ставится сразу. Архив без подписи — только если владелец отдельно разрешил «архивы без подписи» на странице установки и в самом отчёте отметил, что понимает риск: мы не знаем, кто его собрал и что внутри, а его код получит полный доступ к сайту и базе. Если на сервере нечем проверить подпись, подписанные архивы не принимаются.
Замена и откат версии
Если такой модуль уже стоит, старая папка сохраняется в storage/backups, а замену на более старую версию или на архив с другой подписью нужно отдельно подтвердить. Нельзя заменить работающую версию: сначала выключите её. Встроенный модуль можно заменить только более новым архивом с подписью Nex1on.
После установки
Модуль остаётся выключенным, а его миграции не выполняются: включите модуль отдельно, когда будете готовы. Включение запускает код модуля с теми же правами, что и сайт, поэтому перед ним сделайте копию базы.