Вышло срочное обновление PHP с исправлением двух уязвимостей. Как обновить

Omut
Разделы документации

Dev-серверNew

Подключение Linux-сервера, копии сайтов с доменом и HTTPS, службы, журналы, терминал и туннель к MySQL.

Начиная с v1.2 Omut подключает ваш Linux-сервер и поднимает на нём копии локальных сайтов: с тем же PHP и MySQL, с доменом и HTTPS. Заказчик и коллеги смотрят dev-сайт по ссылке, а вы управляете сервером из того же приложения, что и локальной средой.

Что нужно

  • Сервер на Ubuntu 22.04, 24.04, 26.04 или Debian 12, 13, архитектура x86_64, от 1 ГБ памяти (лучше от 2 ГБ) и 5 ГБ свободного места.
  • Доступ по SSH под root или пользователем с sudo без пароля.
  • Свободные порты 80, 443 и 3306. Порты 3307–3309 понадобятся сайтам на MySQL 8.0, 5.6 и 5.7: если они заняты, проверка предупредит. Лучше чистый сервер: на машине с Apache или BitrixEnv Omut не ставится.
  • Домен для dev-сайта — по желанию. Без домена сайт откроется по адресу вида shop.203-0-113-7.sslip.io.

Серверов можно подключить сколько угодно. В бесплатной версии на dev-серверах можно держать до 3 копий сайтов, в Pro — без ограничений.

Подключить сервер

  1. Откройте раздел Серверы и нажмите Подключить сервер.
  2. Перед первым сервером мастер попросит принять Лицензионное соглашение: в редакции от 11 октября 2026 года в нём появились условия dev-сервера. Главное: dev-сервер — для разработки, не для боевых сайтов; бэкапы Omut не заменяют ваши; сайты и базы остаются на сервере и к нам не уходят. Omut сохранит у себя отметку о согласии.
  3. Введите адрес, логин и пароль. Пароль нужен один раз: Omut добавит на сервер свой ключ и дальше ходит по нему. Сам пароль нигде не сохраняется.
  4. Omut проверит сервер: версию системы, порты, память, место на диске и доступ к загрузке компонентов. На этом шаге ничего не устанавливается. Если что-то мешает, мастер назовёт причину и объяснит, что сделать.
  5. Перед установкой мастер покажет, что именно Omut поставит и изменит на сервере.
  6. Установить — сервер сам скачает nginx, PHP и MySQL. Обычно это занимает пару минут.

После установки вход по паролю в SSH Omut больше не нужен, его можно выключить.

Omut
Подключение dev-сервера: адрес, логин и пароль один раз, дальше Omut ходит по своему ключу
Подключение dev-сервера: адрес, логин и пароль один раз, дальше Omut ходит по своему ключу

Копия сайта на dev

На странице локального сайта откройте вкладку Dev-сервер → Создать на dev и выберите:

  • сервер;
  • домен: если A-запись домена смотрит на IP сервера, Omut выпустит сертификат Let’s Encrypt и будет его продлевать. Без домена сайт получит адрес на sslip.io. Галочка И www.<домен> добавит адрес с www, а в поле Ещё домены можно перечислить остальные адреса сайта: сертификат один на все, в него входят домены, чья A-запись уже смотрит на сервер. Остальные Omut проверяет при каждом сохранении настроек сайта и ночным продлением и добавляет в сертификат, когда запись появилась;
  • кто видит сайт: по паролю (по умолчанию, логин dev), по белому списку IP (кнопка Добавить мой IP) или все.

Omut создаст пустой сайт с теми же версиями PHP и MySQL, отдельную базу и пользователя базы, настроит nginx и агентов на cron. Redis и Push & Pull подключаются, если сайт их использует и у вас Pro. Поисковики dev-сайт не индексируют.

Omut
Вкладка «Dev-сервер»: копия сайта на сервере с доменом и HTTPS, история деплоев и бэкапы dev
Вкладка «Dev-сервер»: копия сайта на сервере с доменом и HTTPS, история деплоев и бэкапы dev

Dev-сайт открывают заказчик и тестировщики, поэтому ошибки PHP на странице не показываются: они пишутся в журнал PHP (Серверы → сервер → вкладка Журналы). Часовой пояс PHP и MySQL на сервере — тот же, что в Настройках Omut: он переносится при установке и по кнопке Обновить агент.

Пароль сайта копируется на вкладке Dev-сервер: строка HTTPS и доступ → Пароль. Кнопка Изменить в той же строке меняет домен, www и дополнительные домены, доступ и агенты Битрикса на cron: как у локального сайта, всегда по cron или без cron (агенты на хитах). Копия удаляется кнопкой Удалить с dev… внизу вкладки. Перед удалением база и файлы сохраняются в бэкап на сервере. Если удаление оборвалось на середине, повторите его: Omut продолжит с того же места.

Если создание копии не удалось, Omut уберёт с сервера всё, что успел создать: базу, папку сайта, настройки. Можно сразу пробовать снова.

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

Деплой на dev

Кнопка Развернуть на вкладке Dev-сервер (или на вкладке Обзор, в строке адреса на dev). Отметьте, что везти:

  • код — файлы сайта без upload/, кэша, .git и node_modules;
  • upload/ — картинки и файлы из админки, их бывает много, поэтому отдельно;
  • базу — локальная база заменит базу dev. Перед этим Omut сохранит базу dev в бэкап на сервере.

До кнопки видно, сколько файлов уедет и что удалится на dev. Уезжают только изменённые файлы, поэтому повторный деплой идёт быстро. Символические ссылки на dev Omut не открывает: они видны в списке пропущенного с пометкой «на dev», а если в локальном сайте на их месте есть файлы, деплой положит эти файлы вместо ссылки. Папку, которую Omut не смог прочитать на компьютере (например, пакет в vendor/ без прав на чтение), деплой тоже покажет в пропущенном и не тронет на dev. Если связь оборвалась, повторите деплой: Omut дошлёт только то, чего на сервере ещё нет.

Omut
Деплой на dev-сервер: что уедет — код, upload/ и база, сколько файлов отправится и удалится
Деплой на dev-сервер: что уедет — код, upload/ и база, сколько файлов отправится и удалится

Если деплой сорвался уже на сервере (не импортировалась база, кончилось место), Omut вернёт dev как было: прежние файлы на место, базу — из бэкапа. В истории деплоев он будет отмечен как «не удался, откачен». Повторите деплой, когда устраните причину: загруженное повторно не отправляется.

Настройки dev Omut оставляет своими: подключение к базе dev, Redis и Push & Pull. Локальный .settings.php их не перезапишет, а пароль базы dev не попадёт на ваш компьютер. После переноса базы Omut меняет в Битриксе адрес сайта на домен dev и очищает кэш.

Кэш в Redis и Push & Pull на dev — те же, что у сайта локально (Pro). Включили Push & Pull на вкладке Настройки — при следующем деплое Omut поднимет на dev свой push-сервер сайта, пересоздавать сайт не нужно. Выключили — уберёт его после успешного деплоя. Что изменится, видно в окне деплоя до запуска; хватит деплоя любой части, хоть одной базы.

PHP и MySQL на dev тоже следуют за локальным сайтом. Сменили у сайта PHP 8.2 на 8.3 — при следующем деплое dev перейдёт на PHP 8.3. Если ядру Битрикса этого сайта нужен PHP новее выбранного, окно деплоя скажет об этом и не даст начать. Смена MySQL — это перенос базы: Omut поднимет на сервере нужную версию MySQL и перенесёт туда базу dev (или локальную, если база едет в этом деплое), а резервную копию прежней оставит на сервере. Если что-то пойдёт не так, в том числе при ошибках в запросах дампа, dev вернётся на прежние версии, а прежняя база останется на месте.

Вместе с деплоем на dev уезжают:

  • свои правила nginx сайта (Настройки → Продвинутые → Свои правила nginx на странице сайта). На сервере нельзя то, что трогает файлы, сеть и переменные: root, alias, include, proxy_*, fastcgi_*, set, а при доступе к dev по списку IP — ещё allow и deny. С ними правила остаются только локальными — окно деплоя это покажет;
  • ваши параметры php.ini — то, что вы поменяли в php.ini на своём компьютере, например memory_limit или max_input_vars. Пути, расширения и часовой пояс не переносятся: у сервера они свои.

Свои исключения проекта — в файле omut/env/dev.yaml:

exclude:
  - "*.log"
  - local/templates/main/src/

На вкладке Dev-сервер также есть:

  • Админка в строке адреса — одноразовая ссылка, вход под первым администратором;
  • Очистить кэш и Выполнить агентов в блоке На сервере;
  • Деплои — история: кто и когда разворачивал, с какого коммита, что вышло. Если деплой завис, там же снимается блокировка.

Деплой доступен и в бесплатной версии — для тех же трёх сайтов на dev.

Бэкапы dev

На странице сайта, вкладка Dev-сервер → Бэкапы на сервере:

  • Каждую ночь — по умолчанию выключено, включается переключателем у каждого сайта. В 03:30 по часовому поясу сервера Omut сохраняет базу, а если выбрать базу и файлы — ещё и файлы без кэша. Бэкапы по расписанию старше выбранного срока (по умолчанию 7 дней) удаляются, самый свежий остаётся всегда. Если ночной бэкап не получился, например кончилось место, придёт уведомление.
  • Бэкап базы и База и файлы — бэкап прямо сейчас, с прогрессом.
  • Скачать — выберите папку, и Omut скачает в неё базу и файлы бэкапа. Папка запоминается на следующий раз.
  • В списке — все бэкапы сайта на сервере: по расписанию, ручные, перед деплоем, перед восстановлением и перед удалением. Каждый можно скачать, восстановить или удалить.
  • Восстановить заменяет базу, файлы или и то и другое. Перед этим Omut сохраняет то, что сейчас на dev, и его можно вернуть. Подключение к базе, Redis, Push & Pull и агенты на cron после восстановления остаются такими, какие у сайта на dev сейчас, даже если после бэкапа деплой сменил версию MySQL. Пока на сайт идёт деплой, восстановить нельзя, и наоборот.

Бэкапы лежат на сервере в /var/backups/omut/<сайт>. Сколько они занимают, видно в разделе Серверы → вкладка Бэкапы и почта.

Почта с dev-сервера

По умолчанию письма с dev никуда не уходят: на dev обычно копия боевой базы с адресами живых клиентов. В разделе Серверы → вкладка Бэкапы и почта → Почта с сервера → Настроить можно выбрать один из трёх режимов для всех сайтов сервера:

  • Всё остаётся в «Почте» — как раньше;
  • Наружу — только команде — письма на адреса ваших доменов, например studio.ru и домена заказчика, уходят по-настоящему, остальные — только в «Почту». Так тестировщики получают письма о регистрации, а клиенты из боевой базы — нет;
  • Всё через SMTP, как на проде — письма уходят всем.

Для отправки наружу нужен почтовый сервер SMTP: например, ящик Яндекс 360 или Mail.ru для домена. Укажите адрес отправителя — почтовые сервисы принимают письма только от своего ящика, и Omut подставит его вместо адреса сайта. Пароль SMTP хранится только на сервере, на вашем компьютере его нет. Копия каждого письма в любом режиме остаётся в «Почте».

Работа с сервером

Раздел Серверы: слева список, справа страница сервера с вкладками Обзор, Сайты, Бэкапы и почта, Журналы и Доступ.

Omut
Раздел «Серверы»: dev-сервер студии — службы, место на диске, сайты, бэкапы и журналы
Раздел «Серверы»: dev-сервер студии — службы, место на диске, сайты, бэкапы и журналы
  • Обзор → Службы: nginx, PHP, MySQL и почта с кнопками перезапуска и остановки. Упавшую службу сервер поднимает сам.
  • Журналы nginx, PHP и MySQL, в том числе по отдельному сайту.
  • Терминал сервера в шапке страницы — открывается панелью снизу, без отдельного SSH-клиента.
  • Доступ → База данных сервера: из интернета MySQL сервера закрыта. Нажмите Открыть доступ, и база появится на 127.0.0.1 вашего компьютера. Порт Omut покажет в той же строке, его указывают в TablePlus, DBeaver или mysql. Доступ работает, пока открыт Omut; Закрыть доступ убирает его сразу. Логин и пароль базы сайта — в bitrix/.settings.php на сервере.
  • Бэкапы и почта → Открыть письма: письма, которые отправил dev-сайт, открываются в разделе Почта — источник в списке над письмами. Наружу они уходят, только если вы сами выбрали это в Почте с сервера. Почта сервера доступна и без Pro.
  • Обзор → Диск и Бэкапы и почта: сколько места занято на сервере и сколько занимают бэкапы. Если диск заполнен на 90 % и больше, Omut покажет предупреждение и пришлёт уведомление: Omut проверяет серверы раз в полчаса, пока открыто приложение.
  • Обновить агент, если приложение новее агента на сервере. Вместе с агентом обновляется всё, что стоит на сервере: nginx, почта, все версии PHP и MySQL, Redis и Push & Pull. Службы с новой сборкой перезапускаются сами. Если компонент обновился без новой версии агента, выполните на сервере sudo omut-agent install (подробнее в разделе Обновления).

Размеры MySQL и PHP Omut подбирает под память сервера и число сайтов: под буфер MySQL уходит около трети памяти, число процессов PHP растёт с памятью. Пересчёт — при установке и по кнопке Обновить агент. Свои значения можно вписать на сервере (например, через Терминал сервера) — эти файлы Omut создаёт один раз и больше не перезаписывает:

  • /var/lib/omut/configs/mysql/my-<версия>.cnf — параметры MySQL, они важнее значений Omut;
  • /var/lib/omut/configs/php/php-<версия PHP>-mysql-<версия MySQL>.ini — php.ini. Параметры, которые приходят с вашего компьютера при деплое, важнее его; чтобы перекрыть и их, положите свой файл, например zz-my.ini, в папку php-<…>.d рядом.
  • Доступ → Отключить сервер. С галочкой Удалить Omut с сервера Omut снимет свои службы и файлы, а сайты, бэкапы и пользователь bitrix останутся. Если сервер недоступен, Omut не сможет убрать с него свой ключ и не забудет сервер молча: на странице сервера появится «Отключение не завершено». Повторите, когда сервер будет в сети. Если сервера больше нет, нажмите Забыть на этом компьютере, а строку с меткой omut:… в ~/.ssh/authorized_keys сервера удалите вручную.

Безопасность

  • Omut ходит на сервер только по SSH, по своему ключу. У ключа есть ограничения: туннели разрешены только к MySQL и почте. При отключении сервера Omut удаляет этот ключ с сервера и только потом у себя.
  • При первом подключении Omut запоминает ключ сервера. Если ключ потом сменится, подключение остановится. Omut покажет старый и новый ключ, а довериться новому можно только явной кнопкой: так перехват соединения не пройдёт незамеченным.
  • Всё, что запускается на сервере под root, подписано Omut. Подменённый файл не установится.
  • MySQL, Redis и почта слушают только 127.0.0.1, наружу открыты лишь порты 80 и 443.
  • Служебные папки Битрикса (/bitrix/modules, /bitrix/php_interface, кэш, выгрузки 1С) nginx наружу не отдаёт, а PHP из /upload не выполняет, только отдаёт файлом.
  • Omut записывает каждое действие на сервере в журнал /var/log/omut/audit.log, без паролей.
  • Omut не меняет настройки SSH и firewall. Проверка только подскажет, что стоит закрыть.

Что Omut меняет на сервере

  • /opt/omut — агент и компоненты; /var/lib/omut — настройки, базы, сертификаты; /var/log/omut — журналы.
  • Службы systemd omut-* (среди них таймер ночных бэкапов omut-backup.timer), файлы /etc/sysctl.d/90-omut.conf, /etc/logrotate.d/omut и /etc/tmpfiles.d/omut.conf (удаляет журналы Push & Pull старше 14 дней).
  • Бэкапы сайтов в /var/backups/omut — при удалении Omut они остаются.
  • Пользователи bitrix (сайты в /home/bitrix/omut) и служебные omut-mysql, omut-redis, omut-push, omut-mail.
  • Одна строка с меткой omut:… в ~/.ssh/authorized_keys.

Из терминала

omut-cli server list
omut-cli --target dev status
omut-cli --target dev logs fetch --source nginx_error
omut-cli server tunnel dev --port 3306
omut-cli deploy shop --code --db --dry-run
omut-cli deploy shop --code --db
omut-cli dev shop autologin

Подробнее о командах — на странице Командная строка.