Назначение: Требования. Продукт: ShariX Open.
Для кого: Оператор развёртывания · Администратор · Разработчик · Нейросеть.
Темы: Эксплуатация → Среда · Эксплуатация → Установка.
Перед установкой ShariX Open нужно подготовить сервер, определить используемые внешние службы и получить параметры подключения. Эта страница помогает выяснить, что уже готово, чего не хватает и у кого запросить недостающие сведения.
Точные команды установки находятся в инструкции установки и обновления. Актуальный список зависимостей находится в коде той версии, которую вы устанавливаете. Ниже указано, в каких файлах его искать.
| Что нужно | Что выяснить |
|---|---|
| Сервер и операционная система | Название и версию дистрибутива, архитектуру, доступный каталог установки, свободное место и системные полномочия администратора. Команды подготовки должны соответствовать этой ОС. |
| Исходники приложения | Какую версию ShariX Open устанавливаем и какие дополнительные модули включаем. У корневого проекта и модулей могут быть отдельные репозитории. |
| Python и библиотеки | Какой Python использует проект, где будет его виртуальное окружение и выполнены ли требования корня и включённых модулей. Наличие системного Python не означает, что окружение приложения уже подготовлено. |
| База данных | Где работает выбранная БД, создана ли база для этой установки, какая учётная запись будет к ней подключаться и хватает ли ей необходимых прав. |
| LDAP и другие интеграции | Какие службы нужны выбранной конфигурации, где они работают и кто выдаёт параметры подключения. Установка LDAP-клиента не создаёт LDAP-сервер. |
| Адрес сайта и сеть | Домен, адрес и порт приложения, способ раздачи статики и настройки HTTPS. Кто отвечает за DNS, прокси и сертификат. |
| Учётные записи ОС | Под кем человек входит на сервер, кто выполняет deploy и под кем работает приложение. Эти назначения не следует смешивать. |
При обновлении существующей установки дополнительно нужны сведения о её текущей версии и резервные копии БД, загруженных файлов и локальной конфигурации. Для нового сервера важно определить, какие части инфраструктуры администратор уже подготовил.
Ресурсы сервера зависят от включённых модулей, объёма данных, фоновых задач и предполагаемой нагрузки. Проверенного универсального минимума RAM, CPU и диска эта страница не устанавливает.
В репозитории sharix-open-webapp-base используются следующие файлы:
| Файл | Для чего нужен |
|---|---|
requirements.txt | Перечисляет Python-библиотеки корневого проекта. |
constraints.txt | Ограничивает допустимые версии библиотек при установке. |
bin/utils/assembly_requirements.sh | Собирает требования корня, обязательных компонентов и включённых модулей для установки в одно окружение. |
bin/install_system_dependencies.sh | Проверяет и подготавливает предусмотренные системные инструменты, например средства работы с LDAP и необходимые шрифты. Нужные действия зависят от режима вызова и ОС. |
bin/install.sh | Определяет, на какой фазе вызываются подготовка зависимостей и остальные шаги установки. |
Дополнительный модуль может иметь собственный requirements.txt. Поэтому установка только корневого списка не всегда подготавливает всю сборку. Состав включённых модулей определяется конфигурацией, а специальные условия подключения описываются в README соответствующего модуля.
Точные версии и имена системных пакетов проверяйте по выбранному commit. Копировать сюда весь список библиотек не нужно: после изменения кода такая копия быстро устареет.
Если БД, LDAP или другая служба находится вне устанавливаемого приложения, нужны реальные параметры именно этой службы.
Имена параметров и место их сохранения сверяйте с описанием конфигурации и примерами файлов выбранной версии. Реальные пароли и ключи в Wiki не размещаются.
Установщик ShariX Open выполняет действия, предусмотренные его фазами и настройками. В частности, подготовка системных инструментов, установка Python-зависимостей, миграции БД, регистрация служб и запуск приложения — разные шаги. Их порядок и учётные записи указаны в инструкции установки.
Установщик может рассчитывать на уже работающую внешнюю БД или LDAP. Если их нет, сначала нужно согласовать и выполнить подготовку инфраструктуры. Установка клиентской утилиты, создание файла конфигурации и готовность внешнего сервера — три разных результата.
На планёрке 29 октября первоначальная установка была остановлена из-за нехватки сведений и неподготовленной среды. Этот случай показал, какие пояснения нужны человеку; он не подтверждает успешное прохождение всей установки.
Следующие пункты описывают пожелания к удобству и требования к доработке сценария. Они не означают, что каждая возможность уже реализована.
DEBUG=True не должен служить исправлением раздачи статики; её настройка описана отдельно.Проверяют последовательно: зависимости подготовлены в нужном окружении; конфигурация содержит значения этой установки; необходимые миграции завершены; службы зарегистрированы и запущены под нужными пользователями; приложение отвечает и выполняет выбранный пользовательский сценарий.
Результат каждого шага фиксируется отдельно. Если подготовка завершилась, а запуск нет, нужно разбирать запуск. Если служба запущена, но HTTP-проверка не получила ответа, сохраняют это предупреждение и выясняют сетевые условия. Если работает только отдельный участок, его не выдают за проверку всей цепочки. Подробные критерии — проверка изменений и приёмка.
Сверены опубликованные исходники. Это анализ кода, а не подтверждение успешной установки на конкретном сервере.