| Следующая версия | Предыдущая версия |
| sharixopen:knowledge:operations:installation_requirements [2026/10/30 09:56] – [sharixknowledge] approved package sx_knowledge_api_open | sharixopen:knowledge:operations:installation_requirements [2026/10/31 11:24] (текущий) – [sharixknowledge] approved package sx_knowledge_api_open |
|---|
| "page": "sharixopen:knowledge:operations:installation_requirements", | "page": "sharixopen:knowledge:operations:installation_requirements", |
| "area": "open", | "area": "open", |
| "type": "procedure", | "type": "requirement", |
| "title": "Требования к среде и удобство первоначальной установки ShariX Open", | "title": "Установка ShariX Open: требования к среде и удобство настройки", |
| "status": "review", | "status": "review", |
| "schema_version": 1, | "schema_version": 1, |
| "extensions": { | "extensions": { |
| "taxonomy": { | "taxonomy": { |
| "domain": "operations", | "domain": "setup_guides", |
| "lifecycle": "documented", | "lifecycle": "not_applicable", |
| "parents": [ | "parents": [ |
| "ShariXKnowledgeOperations" | "ShariXKnowledgeOperations" |
| ], | ], |
| "terms": [] | "terms": [ |
| | "audience_operator", |
| | "audience_administrator", |
| | "audience_developer", |
| | "audience_ai", |
| | "product_sharix_open", |
| | "material_requirement", |
| | "topic_operations_environment", |
| | "topic_operations_install" |
| | ], |
| | "component": "webapp-base" |
| }, | }, |
| "source_evidence": [ | "source_evidence": [ |
| } | } |
| ], | ], |
| "reviewed_on": "2026-10-30" | "reviewed_on": "2026-10-30", |
| | "editorial_review": { |
| | "date": "2026-10-30", |
| | "scope": "Одна опубликованная статья для согласования стиля. Технические требования отделены от пожеланий к удобству; список зависимостей остаётся в коде." |
| | }, |
| | "classification": { |
| | "schema": "sharix.knowledge.classification.v1", |
| | "products": [ |
| | "sharix_open" |
| | ], |
| | "audiences": [ |
| | "operator", |
| | "administrator", |
| | "developer", |
| | "ai" |
| | ], |
| | "material": "requirement", |
| | "topics": [ |
| | "operations/environment", |
| | "operations/install" |
| | ], |
| | "tag_terms": [ |
| | "audience_operator", |
| | "audience_administrator", |
| | "audience_developer", |
| | "audience_ai", |
| | "product_sharix_open", |
| | "material_requirement", |
| | "topic_operations_environment", |
| | "topic_operations_install" |
| | ], |
| | "registry_document": "ShariXKnowledgeClassification", |
| | "state_meaning": "lifecycle относится к описываемому коду, а status к редакции документа; implemented не означает успешный runtime тест" |
| | }, |
| | "classification_review": { |
| | "date": "2026-10-31", |
| | "source": "Содержание текущей страницы и проверенный словарь классификации", |
| | "body_scope": "classification_and_navigation_only" |
| | } |
| }, | }, |
| "content_sha256": "37f8d26c92b8e396b1f48d42611f463ea867f2427155dbf04e52dbbe81b99194", | "content_sha256": "0cd4870480204d283f20769c4ba74315e6ee61151e521f01e3990aac393c9883", |
| "schema": 1 | "schema": 1 |
| } | } |
| </sharix-knowledge-meta> | </sharix-knowledge-meta> |
| ====== Требования к среде и удобство первоначальной установки ShariX Open ====== | ====== Установка ShariX Open: требования к среде и удобство настройки ====== |
| ~~NOCACHE~~ | ~~NOCACHE~~ |
| |
| | **Назначение:** [[sharixopen:knowledge:classification:materials#trebovanija|Требования]]. **Продукт:** [[sharixopen:knowledge:classification:products#sharix_open|ShariX Open]]. |
| | |
| | **Для кого:** [[sharixopen:knowledge:classification:audiences#operator_razvjortyvanija|Оператор развёртывания]] · [[sharixopen:knowledge:classification:audiences#administrator|Администратор]] · [[sharixopen:knowledge:classification:audiences#razrabotchik|Разработчик]] · [[sharixopen:knowledge:classification:audiences#nejroset|Нейросеть]]. |
| | |
| | **Темы:** [[sharixopen:knowledge:classification:topics#sreda|Эксплуатация → Среда]] · [[sharixopen:knowledge:classification:topics#ustanovka|Эксплуатация → Установка]]. |
| | |
| | |
| | |
| | Перед установкой ShariX Open нужно подготовить сервер, определить используемые внешние службы и получить параметры подключения. Эта страница помогает выяснить, что уже готово, чего не хватает и у кого запросить недостающие сведения. |
| | |
| | **Точные команды установки** находятся в [[sharixopen:knowledge:operations:deploy|инструкции установки и обновления]]. **Актуальный список зависимостей** находится в коде той версии, которую вы устанавливаете. Ниже указано, в каких файлах его искать. |
| | |
| | ===== Что подготовить перед установкой ===== |
| | ^ Что нужно ^ Что выяснить ^ |
| | | Сервер и операционная система | Название и версию дистрибутива, архитектуру, доступный каталог установки, свободное место и системные полномочия администратора. Команды подготовки должны соответствовать этой ОС. | |
| | | Исходники приложения | Какую версию 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. Копировать сюда весь список библиотек не нужно: после изменения кода такая копия быстро устареет. |
| |
| ===== Назначение ===== | ===== Какие сведения получить у администратора ===== |
| Страница помогает человеку подготовить установку и понять границы ответственности. Она описывает категории требований и согласованные пожелания к удобству. Точные версии, пакеты и включённые зависимости определяются актуальным кодом выбранной сборки. Эта страница не заменяет [[sharixopen:knowledge:operations:deploy|фазовую процедуру установки]] и не утверждает, что любой сервер уже готов. | Если БД, LDAP или другая служба находится вне устанавливаемого приложения, нужны реальные параметры именно этой службы. |
| |
| ===== Где находится актуальный список зависимостей ===== | * **Для БД:** адрес и порт, имя базы, учётная запись, необходимые права и способ безопасного получения пароля. |
| ^ Источник в коде ^ Что уточнять ^ | * **Для LDAP:** адрес и протокол подключения, базовая область поиска (Base DN), данные служебной учётной записи и условия защищённого соединения. |
| | Корневые ''requirements.txt'' и ''constraints.txt'' | Python-зависимости и ограничения версий выбранного commit. | | * **Для сайта:** домен, адрес приложения, способ подключения внешнего HTTPS и ответственный за сетевые настройки. |
| | ''requirements.txt'' обязательных и включённых модулей | Дополнительные зависимости фактической сборки. | | * **Для дополнительных модулей:** параметры только тех интеграций, которые действительно включаются в этой установке. |
| | ''bin/utils/assembly_requirements.sh'' | Как определяется состав и выполняется общее разрешение зависимостей. | | |
| | ''bin/install_system_dependencies.sh'' и вызовы из ''bin/install.sh'' | Системные инструменты, способы проверки и адресной подготовки для поддерживаемой ОС. | | |
| | Примеры конфигурации и README owning modules | Параметры подключений, опциональные интеграции и специальные prerequisites. | | |
| |
| Не поддерживать здесь вторую копию длинного списка пакетов: она быстро расходится с исходниками. Наличие библиотеки в Git или пакета в ОС не доказывает, что её использует нужный venv и runtime. Актуальные значения секретов не являются частью документации. | Имена параметров и место их сохранения сверяйте с [[sharixopen:knowledge:operations:configuration|описанием конфигурации]] и примерами файлов выбранной версии. Реальные пароли и ключи в Wiki не размещаются. |
| |
| ===== Что выяснить до начала ===== | ===== Что относится к инфраструктуре, а что — к установщику приложения ===== |
| * Какой продукт и версия устанавливаются; точные ОС/дистрибутив, архитектура и фактический каталог. | Установщик ShariX Open выполняет действия, предусмотренные его фазами и настройками. В частности, подготовка системных инструментов, установка Python-зависимостей, миграции БД, регистрация служб и запуск приложения — разные шаги. Их порядок и учётные записи указаны в [[sharixopen:knowledge:operations:deploy|инструкции установки]]. |
| * Новая ли это среда или обновление с существующими данными; где резервная копия и кто отвечает за восстановление. | |
| * Какие Unix identities используются для личного входа, deploy и runtime; кто имеет необходимые системные полномочия. | |
| * Какие БД и внешние службы уже подготовлены, где они размещены и кто выдаёт параметры подключения. | |
| * Какие модули включаются; нужны ли для них LDAP, XMPP, хранилища, почта или другие интеграции. | |
| * Доменные имена, bind/порт, статические файлы и внешний HTTPS; кто отвечает за сетевую часть. | |
| |
| Ресурсы сервера выбираются по составу модулей, данным, фоновым задачам и нагрузке. Универсальные численные минимумы без измерений не задаются. Возможность открыть терминал и доступность Git не подтверждают готовность этих зависимостей. | Установщик может рассчитывать на уже работающую внешнюю БД или LDAP. Если их нет, сначала нужно согласовать и выполнить подготовку инфраструктуры. Установка клиентской утилиты, создание файла конфигурации и готовность внешнего сервера — три разных результата. |
| |
| ===== Инфраструктура и приложение ===== | На планёрке 29 октября первоначальная установка была остановлена из-за нехватки сведений и неподготовленной среды. Этот случай показал, какие пояснения нужны человеку; он не подтверждает успешное прохождение всей установки. |
| Установщик приложения может ожидать подготовленные БД и каталог пользователей. Установка LDAP-клиентских инструментов не создаёт LDAP-сервер и структуру каталога. Получение параметров БД не означает, что уже созданы нужная база, учётная запись и разрешения. Область автоматической подготовки определяется текущими фазами и выбранными опциями, а не ожиданием «всё с нуля». | |
| |
| При отсутствии необходимых сведений сохранить последний успешный шаг и запросить конкретные параметры у ответственного. Не придумывать адреса/имена служб, не пробовать чужие доступы и не выполнять серию случайных команд. Неудавшееся прохождение планёрки — источник вопросов к удобству, не подтверждённый успешный runbook. | ===== Как должен быть устроен удобный сценарий установки ===== |
| | Следующие пункты описывают **пожелания к удобству и требования к доработке сценария**. Они не означают, что каждая возможность уже реализована. |
| |
| ===== Пожелания к установке для человека ===== | - **Объяснить исходное состояние.** Сначала спросить, новая это установка или обновление, что уже подготовлено и какие службы используются. |
| Это согласованные направления развития удобства, а не перечень уже реализованных возможностей. | - **Объяснять запрашиваемые значения.** Для каждого параметра указать, зачем он нужен, откуда его взять и где он будет сохранён. Для случайного ключа предложить безопасную генерацию; адрес внешнего LDAP нужно получить у администратора. |
| * Сначала объяснить предполагаемое исходное состояние и различие новой установки и обновления. | - **Использовать уже введённые данные.** Если человек ввёл имя БД и пользователя, следующие шаги должны использовать эти значения. Просьба повторно переносить их вручную в другой блок команд создаёт лишнюю возможность ошибиться. |
| * Для каждого параметра показать назначение, источник и безопасный пример. Сгенерировать допустимое случайное значение там, где это уместно; адрес чужой службы и полномочия генерацией не заменяются. | - **Показывать, под кем выполняется действие.** Отличать личный вход, deploy и runtime. Не заставлять человека угадывать, когда нужно сменить пользователя. |
| * Использовать уже введённые значения в следующих шагах, не заставляя переносить их повторно вручную. Явно показать, куда значение сохраняется и кем используется, не выводя секрет в отчёт. | - **Объяснять выбор режима.** Например, что даёт диагностический режим и чем он отличается от обычной работы сайта. ''DEBUG=True'' не должен служить исправлением раздачи статики; её настройка описана [[sharixopen:knowledge:operations:nginx_static|отдельно]]. |
| * Различать личный вход, deploy и runtime; рядом с действием указывать, от чьего имени оно выполняется. | - **Предупреждать о записи.** Перед существенным изменением показать, что будет сделано, и сохранить заданные локальные настройки. Секреты не выводить в общий отчёт. |
| * Объяснять последствия выбора, включая диагностический режим и сетевую доступность. ''DEBUG=True'' не является способом исправления production-статики. | - **Помогать продолжить после остановки.** Сообщить последний успешный шаг, причину остановки и действие, необходимое для продолжения. Повтор всего установщика не должен подменять выяснение причины одного отказа. |
| * Перед записью показывать существенные изменения; сохранять существующие локальные значения, обозначать требуемые согласования и ожидаемые остановки. | |
| * После сбоя сообщать, что подтверждено и как продолжить с нужной фазы. Не предлагать полный повтор установки вместо адресной диагностики. | |
| |
| ===== Как принять улучшение установки ===== | ===== Что проверить после подготовки и запуска ===== |
| Проверить сценарий с заявленным исходным состоянием на предназначенной тестовой среде. Убедиться, что введённые значения доходят до нужной конфигурации, отсутствующая зависимость объясняется, локальные значения сохраняются и путь можно продолжить после остановки. Различать подготовку исходников, системную регистрацию, запуск и пользовательский результат. | Проверяют последовательно: зависимости подготовлены в нужном окружении; конфигурация содержит значения этой установки; необходимые миграции завершены; службы зарегистрированы и запущены под нужными пользователями; приложение отвечает и выполняет выбранный пользовательский сценарий. |
| |
| Фактические команды и полномочия — в [[sharixopen:knowledge:operations:deploy|процедуре установки]], локальные значения — в [[sharixopen:knowledge:operations:configuration|конфигурации]], статика — в [[sharixopen:knowledge:operations:nginx_static|nginx/статика]], основания проверки — в [[sharixopen:knowledge:development:verification|критериях приёмки]]. | Результат каждого шага фиксируется отдельно. Если подготовка завершилась, а запуск нет, нужно разбирать запуск. Если служба запущена, но HTTP-проверка не получила ответа, сохраняют это предупреждение и выясняют сетевые условия. Если работает только отдельный участок, его не выдают за проверку всей цепочки. Подробные критерии — [[sharixopen:knowledge:development:verification|проверка изменений и приёмка]]. |
| |
| ===== Проверенная исходная база: 30.10.2026 ===== | ===== Проверенная исходная база: 30.10.2026 ===== |