Требования к программному обеспечению сервера
Требования к параметрам программного обеспечения хоста, на котором установлен Webim Server. Требования описаны для текущей версии Webim.
Общие требования
| ПО | Версия | Обязательность | Особенности |
|---|---|---|---|
| Операционная система сервера приложений | Любая с поддержкой Docker (за исключением Windows Server) | Да | |
| Python | 3.10.12 | Да | |
| Интерпретатор Python | CPython 3.10.12 | Да | |
| Реляционная СУБД | PostgreSQL 18.1 либо MySQL 8.0.45 | Да | |
| Колоночная СУБД | ClickHouse 23.12 | Нет | Используется для работы статистики v2 |
| Резидентная СУБД | Redis 7.2.4 | Да | Требуется для работы микросервиса Speller, также используется для Chat Backend и масштабирования Admin Backend |
| Поисковый движок | OpenSearch 3.0.0 | Нет | Допускается использование Elasticsearch 8.17.1. Используется в качестве дополнительного хранилища истории чатов |
| Система мониторинга | Prometheus 2.45 | Нет | |
| Программный брокер сообщений | RabbitMQ 3.13.7 | Нет |
Ниже приведены совместимые и исторически использовавшиеся варианты ПО, которые можно рассматривать как ориентир при развёртывании. Для части из них проводилось тестирование в предыдущих конфигурациях Webim, но при использовании вариантов из этой таблицы совместимость и ограничения стоит дополнительно проверить на вашем стенде.
| ПО | Версии и модификации | Особенности |
|---|---|---|
| Операционная система сервера приложений | Debian GNU/Linux 12.5.x (Bookworm) | В теории, Webim Server может быть установлен практически на любой UNIX/Linux-based системе, совместимой по более конкретным параметрам, перечисленным в следующих строках этой таблицы. Однако тестирование проводится только на указанных версиях и модификациях, поэтому работоспособность системы и техническая поддержка осуществляется только при условии использования Webim на одной из этих ОС. Использование Debian предпочтительнее ввиду того, что эта система активно поддерживается, развивается и тестируется, обладает наилучшими показателями как серверная ОС. Она всесторонне тестируется командой Webim и подходит по указанным ниже характеристикам. Остальные поддерживаемые ОС тестируются частично и подходят по большинству характеристик. |
| Веб-сервер | nginx: 1.10 1.12 1.14 1.16 openresty: 1.25 |
Требования к серверу реляционной СУБД
В базовой конфигурации Webim Server используйте PostgreSQL 18.1 либо MySQL 8.0.45. Поддерживаемые операционные системы, ограничения и требования к окружению проверяйте по документации производителя:
В прошлых конфигурациях встречались и другие реляционные СУБД. Если вы используете такие варианты, ориентируйтесь на документацию соответствующего продукта и дополнительно проверяйте совместимость на вашем стенде:
Требования к серверу аналитической (колоночной) СУБД
Согласно официальной документации, ClickHouse может быть установлен на любой ОС на базе Linux, FreeBSD или Mac OS X с CPU-архитектурой x86_64, ARM или PowerPC64LE.
Требования к серверу резидентной СУБД
Согласно официальной документации, Redis может быть установлен на следующих ОС:
-
Ubuntu 20.04
-
RHEL & CentOS 8.0 и выше
-
Oracle Linux 8
-
Rocky Linux 8
-
Amazon Linux 2
Требования к поисковой системе
В Webim Server 10.8+ поддерживаются OpenSearch и Elasticsearch. В типовой конфигурации рекомендуется OpenSearch 3.0.0; допускается использование Elasticsearch 8.17.1.
Требования к окружению и поддерживаемым операционным системам смотрите в документации выбранного поискового движка:
Требования к Apache Kafka (для data-storager)
Если для интеграции с Elasticsearch или OpenSearch используется сервис data-storager (выгрузка истории диалогов и сопутствующих объектов), необходима установленная и доступная Apache Kafka.
data-storager публикует и читает сообщения из Kafka (режимы producer и consumer), поэтому необходимо обеспечить:
-
доступ к брокеру/кластеру Kafka (bootstrap servers) из инфраструктуры Webim;
-
наличие топиков и прав на запись/чтение для сервисной учетной записи;
-
при использовании защищенных профилей - корректные параметры авторизации/шифрования (SASL/SSL).
См. также
Инструкции по подключению Elasticsearch или OpenSearch и общие требования к окружению приведены в статье Подключение Elasticsearch или OpenSearch.
Требования к RabbitMQ
Теоретически, RabbitMQ может быть установлен и запущен на любой ОС, предоставляющей Erlang версии 25.x или 26.x. Согласно официальной документации, в этот список, в частности, входят:
-
Ubuntu 20.04 - 23.04
-
Debian 11 и 12
-
Fedora 34 - 38
-
CentOS Stream 8 и 9
-
Amazon Linux 2023
-
Rocky Linux 8 и 9
-
Alma Linux 8 и 9
-
Oracle Linux 8 и 9
-
OpenSUSE Leap 15.3 и выше
-
Microsoft Windows 10 и выше
-
Microsoft Windows Server 2016 и выше
-
macOS
-
Solaris
-
FreeBSD
Также рекомендуем Вам ознакомиться с полным списком требований для RabbitMQ, включающим в себя требования к конфигурации ОС и аппаратному обеспечению.
Другие требования
Webim Server зависит и ставит со своим кодом модули, библиотеки и дополнительные программы, описанные ниже.
Пакеты ОС
-
nginx
-
Browscap
-
python-virtualenv
-
python3
-
python3-pip
-
python3-venv
-
python3-dev
-
gcc
-
g++
-
supervisor
-
gpg
-
gpg-agent
-
apt-utils
-
build-essential
-
ca-certificates
-
software-properties-common
-
net-tools
-
tcl8.6-dev
-
tk8.6-dev
-
curl
-
dialog
-
locales
-
locales-all
-
language-pack-ru-base
-
language-pack-en
-
tzdata
-
run-one
-
iputils-ping
-
wget
-
nano
-
telnet
-
zip
-
git
-
libpq-dev
-
openssl1.0
-
dpkg-dev
-
libpcre3-dev
-
libgd-dev
-
libssl1.0-dev
-
libssl-dev
-
libxml2-dev
-
libxslt-dev
-
libgeoip-dev
-
libreadline-dev
-
libfreetype6-dev
-
libharfbuzz-dev
-
libfribidi-dev
-
libxcb1-dev
-
libbz2-dev
-
libunwind-dev
-
lsof
-
libreoffice
-
libreoffice-java-common
-
make
-
perl
-
zlib1g-dev
-
imagemagick
-
libmagick-dev
-
libmagic1
-
libtiff5-dev
-
libopenjp2-7-dev
-
libjpeg-dev
-
libwebp-dev
-
libmysqlclient-dev
-
libffi-dev
-
libsqlite3-dev
-
liblzma-dev
-
liblcms2-dev
-
libkrb5-dev
-
libncurses5-dev
-
libaspell-dev
-
unixodbc-dev
-
libbz2-dev
-
gnupg2
-
aspell-en
-
aspell-ru
-
openssh-server
Библиотеки Python 3.10
-
httpx[http2]==0.19.*
-
cryptography==41.0.0
-
pysyge==1.2.0
-
python-dateutil==2.8.1
-
pillow==9.3.0
-
tornado==6.4.0
-
jinja2==3.1.2
-
pytz==2020.1
-
tzlocal==4.2
-
requests==2.28.0
-
idna==2.8
-
pycryptodome==3.9.8
-
ua-parser==0.16.1
-
transliterate==1.10.2
-
aspell-python-py3==1.15
-
markupsafe==2.0.1
-
suds-py3==1.4.1.0
-
pyopenssl==23.2.0
-
ndg-httpsclient==0.5.1
-
pyasn1==0.4.8
-
python-magic==0.4.18
-
rsa==4.9
-
elasticsearch==8.17.1
-
pyfcm==1.4.5
-
sqlalchemy==2.0.23
-
asyncmy==0.2.8
-
acyncpg==0.28.0
-
psycopg2cffi==2.8.1
-
xmltodict==0.12.0
-
pyjwt==2.5.0
-
pika==1.1.0
-
domain2idna==1.12.0
-
clickhouse-driver==0.2.6
-
clickhouse-sqlalchemy==0.3.0
-
alembic==1.12.0
-
objgraph==3.5.0
-
distro==1.7.0
-
prometheus-client==0.16.0
-
tornado-prometheus==0.1.2
-
orjson==3.8.0
-
pyodbc==5.1.0
-
aioodbc==0.5.0
Библиотеки Webim
-
apns_http2==0.1.0
-
wm_hyper==0.7.0
-
wm_crypto==0.1.0
-
wm_types==0.1.0
-
helpers==0.1.2
-
observer==1.0.10
-
settings==1.0.17
-
specification==0.1.0
-
saext==1.2.1
-
wmdb==0.4.4
-
wm_db_metadata==1.11.14
-
validation_rules==0.1.3
-
error_objects==0.1.0
-
abac==0.2.1
-
abac_expressions==0.2.1
-
validate==0.0.2
Дополнительные системные требования для версий Webim, в которых присутствует PHP
Ниже представлен список дополнительных пакетов, необходимых для работы Webim Server с компонентами на PHP.
Пакеты ОС:
-
PHP Composer
-
php5.6
-
php5.6-mysql
-
php5.6-curl
-
php5.6-fpm
-
php5.6-imagick
-
php5.6-mbstring
-
php5.6-xml
-
php5.6-zip
-
php5.6-json
-
php5.6-redis
Библиотеки PHP:
-
ua-parser/uap-php 3.9.7
-
smarty/smarty 3.1.48
-
swiftmailer/swiftmailer 5.4.5
-
phpoffice/phpexcel 1.8.2
-
smi2/phpclickhouse 0.16.10
-
enshrined/svg-sanitize 0.18.0
-
php-amqplib/php-amqplib 2.12.2
-
webonyx/php-fernet