Перейти к содержимому

Релиз RISH 2.6.6 (клонирование)

15 июня 2026

RISH 2.6.6 получил название «клонирование». Главная тема релиза — полностью переписанный с нуля процесс клонирования сайтов.

Но это не просто новая версия. Внутри RISH появился новый core-слой клонирования, который нужен для следующего большого этапа: будущих миграторов серверов.

Чтобы когда-нибудь переносить серверы целиком, сначала нужно научиться надежно переносить один сайт: файлы, базу данных, пользователя, PHP, vhost, DocumentRoot, права доступа и настройки CMS. Именно этому фундаменту посвящен RISH 2.6.6.

Клонирование стало core-механизмом RISH

Раньше клонирование было пользовательским сценарием. В RISH 2.6.6 эта логика разделена на интерактивную часть и внутренний core, который можно будет использовать повторно.

Это важное архитектурное изменение. Интерактивное меню по-прежнему остается удобной точкой входа для администратора, но внутри теперь есть отдельный слой, который проверяет параметры, готовит цель, создает или использует сайт, переносит данные и завершает настройку.

Именно такой слой нужен будущим миграторам серверов. Он должен уметь вызывать внутренние операции RISH и собирать из них большой сценарий переноса.

Первый шаг к миграторам серверов

Миграция сервера — это не одна большая команда копирования. На сервере могут быть разные пользователи, версии PHP, отдельные PHP-FPM pools, нестандартные DocumentRoot, базы данных, CMS, SSL и локальные особенности.

Поэтому в этом релизе мы начали с базового кирпича: перенос одного сайта должен стать предсказуемым и пригодным для автоматизации. RISH теперь лучше понимает, что именно переносится, куда переносится и какие условия должны быть выполнены до начала опасных действий.

В следующих версиях на этом фундаменте можно будет строить более крупные сценарии: перенос набора сайтов, подготовку нового сервера и миграцию окружения.

Появилась возможность исключить папки при клонировании

Мы не будем превращать эту новость в инструкцию по клонированию — отдельное руководство появится позже. Но основные изменения уже видны в работе RISH.

Клонирование стало отдельной крупной функцией в меню Midnight Commander. RISH аккуратнее показывает источник и цель, лучше работает с существующими целевыми сайтами, умеет переносить сайт целиком или только базу данных, а также может исключать содержимое тяжелых и временных папок.

Например, при переносе сайта часто нет смысла тянуть кэш, временные файлы или резервные копии Akeeba Backup. Новый механизм позволяет оставить сами папки на месте, но не переносить их содержимое.

Создание сайтов подготовлено к автоматизации

Отдельно переработано создание сайтов. В RISH появился строгий внутренний механизм create_site_core, который можно использовать не только из интерактивного режима.

Он проверяет имя сайта, путь, версию PHP, DocumentRoot и управляющие флаги. Если что-то идет не так до активации сервисов, RISH умеет откатить созданный vhost и новый PHP-FPM pool.

Для обычного пользователя поведение создания сайта остается привычным. Но для будущих миграторов это важное изменение: создание сайта теперь становится не ручным диалогом, а надежной внутренней операцией.

Joomla после переноса

Общая логика настройки CMS вынесена в отдельные помощники. После переноса Joomla RISH может привести configuration.php к новому окружению: обновить подключение к базе данных, пути log_path и tmp_path, а также хост базы данных.

Отдельно улучшена работа с live_site. Теперь при переносе этот параметр сбрасывается, что позволяет избежать проблем при переносе на другое доменное имя. Если значение уже пустое, RISH больше не сообщает о лишнем сбросе. Если оно было заполнено, RISH очищает его и показывает, что именно было изменено.

Это небольшая деталь, но при клонировании Joomla она часто решает неприятные проблемы.

Папка /root/rish становится чище

В RISH 2.6.6 начался постепенный перенос служебных скриптов из /root/rish в /root/rish/scripts.

Причина простая: корневая папка RISH не должна пугать пользователя большим количеством скриптов. В ней должно быть легче находить важные файлы, логи, настройки и данные. Служебная логика постепенно переезжает туда, где ей место.

Перенос будет плавным. В этой версии перенесена только часть файлов, а postupdate.sh аккуратно удаляет старые копии только тогда, когда новые файлы уже находятся на месте.

Меню MC становится логичнее

Меню Midnight Commander тоже меняется. Мы уходим от принципа «отдельный пункт на каждое мелкое действие» и постепенно группируем операции в более крупные разделы.

Настройка Joomla переехала в управление CMS. Туда же переехала установка и обновление phpMyAdmin. Сам раздел теперь называется Установка/управление CMS/PMA.

Так меню становится короче и понятнее: Joomla, WordPress, OpenCart и phpMyAdmin находятся рядом, потому что для администратора это одна смысловая область — управление сайтом и его CMS.

phpMyAdmin теперь ближе к CMS

Установка и обновление phpMyAdmin перенесены в отдельный скрипт внутри /root/rish/scripts и интегрированы в меню управления CMS.

RISH теперь может обнаружить установленный phpMyAdmin внутри сайта, показать его версию и расположение. При обновлении старая версия архивируется перед заменой.

Мы по-прежнему рекомендуем не использовать очевидные имена папок вроде pma или phpmyadmin, а лучше выделять для phpMyAdmin отдельный сайт или нестандартный путь.

Права доступа и special bits

В процессе работы мы столкнулись с ситуацией, когда на некоторых серверах у файлов и папок внутри сайтов были установлены специальные биты прав доступа — special bits.

В Midnight Commander special bits можно увидеть в диалоге изменения прав Chmod command. Они отображаются отдельными пунктами:

На скриншоте видно, что для папки включен пункт set group ID on execution. Справа MC показывает права в восьмеричном виде: 42755.

Обычные права папки сайта 755 превратились в 42755, потому что впереди появился дополнительный специальный бит 4. Это и есть setgid.

В обычном списке файлов такой режим может выглядеть как символ s в правах группы: drwxr-sr-x

Для каталогов сайта это может быть неожиданным поведением: новые файлы и папки могут наследовать группу каталога. На некоторых серверах это мешало привести сайт к ожидаемому состоянию обычной web-директории.

Поэтому в RISH 2.6.6 настройка прав теперь не только выставляет папкам 755, файлам 644 и владельца <user>:<user>, но и явно снимает special bits:

chmod u-s,g-s,-t

Обновления PHP и Apache вынесены отдельно

Проверка обновлений PHP и Apache вынесена из основного update.sh в scripts/package_updates.sh.

Это сделано не только ради порядка. Теперь проверка пакетов запускается из актуального дерева /root/rish, а не из временной копии self-update helper.

Также улучшена проверка обновлений PHP: если на сервере установлены imagick-расширения, RISH учитывает связанные пакеты ImageMagick6 или ImageMagick7.

Небольшие косметические изменения

В списке сайтов и IP-адресов появилась нумерация, а колонки стали ровнее. Это небольшое визуальное изменение, но на серверах с большим количеством сайтов такие детали помогают быстрее ориентироваться.

Также в установку и postupdate добавлен pv. Он нужен для отображения прогресса в тяжелых операциях, в том числе при переносе файлов.

Проверка загрузки нового ядра через GRUB

В RISH 2.6.6 улучшена проверка ситуации, когда на сервере установлено новое ядро, но для его применения нужна перезагрузка.

Раньше RISH проверял, что grubby указывает на последнее установленное ядро, и после этого мог просто попросить перезагрузить сервер. Но на некоторых системах используется режим GRUB_DEFAULT=saved. В этом режиме важно не только значение grubby, но и сохраненная запись GRUB — saved_entry.

Если saved_entry пустой или указывает на другое ядро, сервер после перезагрузки может загрузиться не с тем ядром, которое RISH считает выбранным.

Теперь RISH дополнительно проверяет saved_entry. Если нужно, он показывает команду для исправления или применяет ее в режиме восстановления:

grub2-set-default '<id последнего ядра>'

После этого сервер можно перезагрузить и проверить активное ядро:

reboot
uname -r

Это небольшое изменение, но оно закрывает неприятный случай, когда обновление ядра формально выполнено, а фактическая загрузка после перезагрузки остается на старой записи GRUB.

Часовые пояса: Москва, Астана, Киев

Установщик RISH стал гибче в выборе часового пояса.

Теперь при установке можно выбрать Europe/Moscow, Asia/Almaty для Астаны, Europe/Kyiv для Киева или оставить текущий часовой пояс сервера.

RISH используется на разных серверах и в разных регионах, поэтому такие настройки не должны быть привязаны только к одному варианту по умолчанию.

Итог

RISH 2.6.6 — это подготовительный, но очень важный релиз. Он делает клонирование сайтов не просто пунктом меню, а внутренним core-механизмом, на котором дальше можно строить миграторы серверов.

Одновременно RISH становится аккуратнее внутри: меньше хаоса в корневой папке, логичнее меню MC, безопаснее настройка прав, понятнее управление CMS и phpMyAdmin.

Инструкцию по новому клонированию мы подготовим отдельно. А пока — обновляйтесь, пробуйте RISH 2.6.6 и не забывайте заглядывать в наш чат.

Основатель проекта RISH