{ "id": "ShariXKnowledgeOpenInstallationRequirements", "page": "sharixopen:knowledge:operations:installation_requirements", "area": "open", "type": "requirement", "title": "Установка ShariX Open: требования к среде и удобство настройки", "status": "review", "schema_version": 1, "relations": { "related_to": [ "ShariXKnowledgeOperations", "ShariXKnowledgeOpenOperationsDeploy", "ShariXKnowledgeOpenKnowledgeOperationsConfiguration", "ShariXKnowledgeVerification" ] }, "extensions": { "taxonomy": { "domain": "setup_guides", "lifecycle": "not_applicable", "parents": [ "ShariXKnowledgeOperations" ], "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": [ { "repository": "sharix-open-webapp-base", "commit": "c19e6651449483d898f5ae33548f97c0ef7e1cd2", "path": "requirements.txt", "sha256": "a4b5ea4cef847375942e64109b2d7803e195f6dc7f68f72c5b3a36f77e1b3f62" }, { "repository": "sharix-open-webapp-base", "commit": "c19e6651449483d898f5ae33548f97c0ef7e1cd2", "path": "constraints.txt", "sha256": "83655b382552f16c4a4ea78dc9c88dee5ac6d2daa9d3465c3d8fda458c2425a0" }, { "repository": "sharix-open-webapp-base", "commit": "c19e6651449483d898f5ae33548f97c0ef7e1cd2", "path": "bin/install.sh", "sha256": "3f265df937c584177824161dc092f7c983800b0862c271105e853b1f39f78418" }, { "repository": "sharix-open-webapp-base", "commit": "c19e6651449483d898f5ae33548f97c0ef7e1cd2", "path": "bin/install_system_dependencies.sh", "sha256": "264a539b431a31718ebf8f8cce4fb3853f61f5c06c424774906e531439341da0" }, { "repository": "sharix-open-webapp-base", "commit": "c19e6651449483d898f5ae33548f97c0ef7e1cd2", "path": "bin/utils/assembly_requirements.sh", "sha256": "9636fd8848e0a946fb3c0c2f048ca93497c2f05c46bc67ec227d733daed1012e" }, { "repository": "sharix-open-webapp-base", "commit": "c19e6651449483d898f5ae33548f97c0ef7e1cd2", "path": "bin/check_acceptance.sh", "sha256": "1ae9ac7dbdff2f45b6645ea34d081965d72f4968325c448121f514cf15359610" } ], "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": "0cd4870480204d283f20769c4ba74315e6ee61151e521f01e3990aac393c9883", "schema": 1 } ====== Установка ShariX Open: требования к среде и удобство настройки ====== ~~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. Копировать сюда весь список библиотек не нужно: после изменения кода такая копия быстро устареет. ===== Какие сведения получить у администратора ===== Если БД, LDAP или другая служба находится вне устанавливаемого приложения, нужны реальные параметры именно этой службы. * **Для БД:** адрес и порт, имя базы, учётная запись, необходимые права и способ безопасного получения пароля. * **Для LDAP:** адрес и протокол подключения, базовая область поиска (Base DN), данные служебной учётной записи и условия защищённого соединения. * **Для сайта:** домен, адрес приложения, способ подключения внешнего HTTPS и ответственный за сетевые настройки. * **Для дополнительных модулей:** параметры только тех интеграций, которые действительно включаются в этой установке. Имена параметров и место их сохранения сверяйте с [[sharixopen:knowledge:operations:configuration|описанием конфигурации]] и примерами файлов выбранной версии. Реальные пароли и ключи в Wiki не размещаются. ===== Что относится к инфраструктуре, а что — к установщику приложения ===== Установщик ShariX Open выполняет действия, предусмотренные его фазами и настройками. В частности, подготовка системных инструментов, установка Python-зависимостей, миграции БД, регистрация служб и запуск приложения — разные шаги. Их порядок и учётные записи указаны в [[sharixopen:knowledge:operations:deploy|инструкции установки]]. Установщик может рассчитывать на уже работающую внешнюю БД или LDAP. Если их нет, сначала нужно согласовать и выполнить подготовку инфраструктуры. Установка клиентской утилиты, создание файла конфигурации и готовность внешнего сервера — три разных результата. На планёрке 29 октября первоначальная установка была остановлена из-за нехватки сведений и неподготовленной среды. Этот случай показал, какие пояснения нужны человеку; он не подтверждает успешное прохождение всей установки. ===== Как должен быть устроен удобный сценарий установки ===== Следующие пункты описывают **пожелания к удобству и требования к доработке сценария**. Они не означают, что каждая возможность уже реализована. - **Объяснить исходное состояние.** Сначала спросить, новая это установка или обновление, что уже подготовлено и какие службы используются. - **Объяснять запрашиваемые значения.** Для каждого параметра указать, зачем он нужен, откуда его взять и где он будет сохранён. Для случайного ключа предложить безопасную генерацию; адрес внешнего LDAP нужно получить у администратора. - **Использовать уже введённые данные.** Если человек ввёл имя БД и пользователя, следующие шаги должны использовать эти значения. Просьба повторно переносить их вручную в другой блок команд создаёт лишнюю возможность ошибиться. - **Показывать, под кем выполняется действие.** Отличать личный вход, deploy и runtime. Не заставлять человека угадывать, когда нужно сменить пользователя. - **Объяснять выбор режима.** Например, что даёт диагностический режим и чем он отличается от обычной работы сайта. ''DEBUG=True'' не должен служить исправлением раздачи статики; её настройка описана [[sharixopen:knowledge:operations:nginx_static|отдельно]]. - **Предупреждать о записи.** Перед существенным изменением показать, что будет сделано, и сохранить заданные локальные настройки. Секреты не выводить в общий отчёт. - **Помогать продолжить после остановки.** Сообщить последний успешный шаг, причину остановки и действие, необходимое для продолжения. Повтор всего установщика не должен подменять выяснение причины одного отказа. ===== Что проверить после подготовки и запуска ===== Проверяют последовательно: зависимости подготовлены в нужном окружении; конфигурация содержит значения этой установки; необходимые миграции завершены; службы зарегистрированы и запущены под нужными пользователями; приложение отвечает и выполняет выбранный пользовательский сценарий. Результат каждого шага фиксируется отдельно. Если подготовка завершилась, а запуск нет, нужно разбирать запуск. Если служба запущена, но HTTP-проверка не получила ответа, сохраняют это предупреждение и выясняют сетевые условия. Если работает только отдельный участок, его не выдают за проверку всей цепочки. Подробные критерии — [[sharixopen:knowledge:development:verification|проверка изменений и приёмка]]. ===== Проверенная исходная база: 30.10.2026 ===== Сверены опубликованные исходники. Это анализ кода, а не подтверждение успешной установки на конкретном сервере. * [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/c19e6651449483d898f5ae33548f97c0ef7e1cd2/requirements.txt|sharix-open-webapp-base: requirements.txt]]. * [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/c19e6651449483d898f5ae33548f97c0ef7e1cd2/constraints.txt|sharix-open-webapp-base: constraints.txt]]. * [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/c19e6651449483d898f5ae33548f97c0ef7e1cd2/bin/install.sh|sharix-open-webapp-base: bin/install.sh]]. * [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/c19e6651449483d898f5ae33548f97c0ef7e1cd2/bin/install_system_dependencies.sh|sharix-open-webapp-base: bin/install_system_dependencies.sh]]. * [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/c19e6651449483d898f5ae33548f97c0ef7e1cd2/bin/utils/assembly_requirements.sh|sharix-open-webapp-base: bin/utils/assembly_requirements.sh]]. * [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/commit/c19e6651449483d898f5ae33548f97c0ef7e1cd2/bin/check_acceptance.sh|sharix-open-webapp-base: bin/check_acceptance.sh]]. ~~SHARIX_KNOWLEDGE_RELATED~~