Компоненты: Комплексное решение АБИС ИРБИС64/128 Завершено: 08.06.2026 14:01
Безопасность и управление состоянием
Защита от несанкционированного доступа: Запуск мастера по умолчанию разрешен только с локального адреса (127.0.0.1 или ::1). Для удаленной установки требуется создать специальный токен-файл setuptoken.txt в корне сайта.
Сохранение прогресса (Fastforward): Мастер автоматически сохраняет текущий шаг в файл setupstate.json. Если установка прервется (например, при перезапуске вебсервера), пользователь продолжит с того же места.
Проверка файловой системы (Шаг 2)
Анализ окружения: Проверяет наличие прав на запись в корневую директорию сайта.
Контроль дискового пространства: Проверяет, что на диске доступно не менее 100 МБ свободного места.
Инициализация директорий: Автоматически создает директории DataPath и ObjectsPath, если они отсутствуют, и проверяет права на запись в них.
image-2026-05-02-14-05-39-419.png
Проверка и настройка окружения PHP (Шаг 3)
Проверка зависимостей: Валидирует версию PHP (требуется 7.3+) и наличие необходимых расширений (curl, mbstring, openssl, sockets, sqlite3, intl, gd). Проверяет статус директивы open_basedir.
Автоматическое исправление (для Windows): Умеет автоматически находить и раскомментировать недостающие расширения в загруженном файле php.ini.
Помощь с VCRedist: Если расширения включены, но не загружаются, мастер подсказывает, что проблема может быть в системных библиотеках Visual C++, и предоставляет прямые ссылки на скачивание локальных дистрибутивов (x64 и x86).
image-2026-05-02-14-06-07-587.png
Установка расширения php_irbis64 (Шаг 4)
Интеллектуальный анализ архитектуры: Определяет разрядность PHP (x86/x64), потокобезопасность (TS/NTS) и точную версию PHP.
Автоустановка (для Windows): Умеет автоматически находить подходящую версию файла phpirbis64.dll в дистрибутиве ИРБИС, копировать её в директорию расширений (extensiondir) и прописывать extension=irbis64 в php.ini.
Инструкции для Linux: Предоставляет справочную информацию для ручной компиляции и подключения модуля irbis64.so.
image-2026-05-02-14-06-38-169.png
Безопасная установка лицензии (Шаг 5)
Загрузка лицензии: Позволяет выбрать файл lic.php с диска или просто вставить его текстовое содержимое в специальное поле.
Защита от RCE (AntiRCE): Мастер не выполняет загруженный PHPфайл (что могло бы стать уязвимостью), а парсит его как текст с помощью регулярных выражений, извлекая только необходимые ключи (ORGNAME, ORGKEY, LICENSEKEY, LICENSEID1, LICENSE_ID2, Common).
Генерация чистого файла: На основе извлеченных данных мастер генерирует новый, заведомо безопасный файл lic.php.
image-2026-05-02-14-07-18-967.png
Развертывание сервера ИРБИС 64 (Шаг 6)
Автообнаружение: Пытается найти сервер по путям по умолчанию (C:\irbis64 или /var/irbis64) или через переменную окружения IRBIS64PATH.
Копирование дистрибутива: Если сервер не найден, мастер может автоматически скопировать все файлы сервера и базовые БД (datai) из своего дистрибутива в указанную папку. Копирование идет батчами (порциями) с отображением AJAX прогресс-бара.
Конфигурирование INI-файлов: Автоматически модифицирует или создает irbisserver.ini, irbisserver_i128.ini и irbisa.ini, прописывая туда правильные пути (DATAPATH, WORKDIR) и ключи лицензии.
Генерация ключа: Создает файл irbiskey.txt с лицензионной информацией.
Парсинг FST-файлов: Включает сложную логику рекурсивного обхода .fst файлов в директории сервера. Он находит все конструкции @имяфайла и подменяет их реальным содержимым этих файлов, так как расширение php_irbis64 не поддерживает такие вложения.
image-2026-05-02-14-08-15-235.png
Базовые настройки ИРБИС 128 (Шаг 7)
Сбор параметров: Запрашивает пути к данным, параметры самообращения системы (HTTP/HTTPS, хост, порт), учетные данные администратора ИРБИС 128 и логин/пароль ИРБИС 64.
Выбор провайдера: Позволяет выбрать механизм работы с БД (напрямую через расширение DPIrbis64Direct или по TCP/IP через DPIrbis64), блокируя некорректный выбор в зависимости от наличия загруженного расширения.
image-2026-05-02-14-08-50-088.png
Финализация установки (Шаг 8)
Генерация config.php: Собирает все настройки в единый массив $OPTIONS и сохраняет в конфигурационный файл.
Сброс кэша: Автоматически вызывает opcache_reset() для немедленного применения новых настроек.
Очистка мусора: Удаляет временные файлы состояния установки и очереди копирования.
Фоновая инициализация БД: Запускает процесс EnsureConfig (создание структуры баз данных, модулей, страниц) в фоновом режиме, опрашивая лог (classes/log.json) и выводя живой прогресс-бар и консоль логов пользователю.
image-2026-05-02-14-09-35-075.png
-
Установка происходит в 8 шагов:
Провверка свободного пространста
Проверка настроек PHP.ini (и настройка его при наличии прав)
Проверка наличия расширения php_irbis64 (и установка его при наличии прав)
Установка лицензии системы (lic.php)
Настройка пути к ИРБИС 64 и его установка при отсутствии по указанному пути
Запрос настроек ИРБИС 128
Установка ИРБИС 128
1. Связанные задачи
1.1. 🔗 relates to: I128-1870
[I128-1870] Установщик 128 не проверяет, есть ли у веб-сервера права на запись в директории, в которых он создает папки i128data и objects и файлы, а также на директорию сервера 64
Статус: Завершено | Автор: Галина Арноси
1.2. 🔗 Соответствует задача: I128-2397
[I128-2397] Новый мастер установки системы
Статус: Завершено | Автор: Ilya Mikhaylenko