Требования к программному обеспечению сервера
Требования к параметрам программного обеспечения хоста, на котором установлен Webim Server.Требования описаны для текущей версии Webim.
Общие требования
| ПО | Версия | Обязательность | Особенности |
|---|---|---|---|
| Операционная система сервера приложений | Debian GNU/Linux 12.5.x (Bookworm) | Да | |
| Python | 3.10.12 | Да | |
| Интерпретатор Python | CPython 3.10.12 | Да | |
| Реляционная СУБД | MySQL 5.7 | Да | |
| Аналитическая СУБД | ClickHouse 23.12 | Нет | Используется для работы статистики v2 |
| Резидентная СУБД | Redis 7.2.4 | Да | Требуется для работы Speller Microservice, также используется для работы дельта-прокси сервера и масштабирования Admin Backend |
| Поисковый движок | Elasticsearch 8.5.3 | Нет | Используется в качестве дополнительного хранилища истории чатов |
| Система мониторинга | Prometheus 2.45 | Нет | |
| Программный брокер сообщений | RabbitMQ 3.13.7 | Нет |
Существует программное обеспечение, в принципе, совместимое с Webim, но оно не используется в тестировании обновлений. Вы можете попробовать использовать это ПО, представленное в таблице ниже, но нет никаких гарантий, что система будет с ним целиком совместима.
| ПО | Версии и модификации | Особенности |
|---|---|---|
| Операционная система сервера приложений | Debian GNU/Linux 11.05 (Bullseye) Размещение в контейнере Docker с 20.10.10 по 27.5.1 включительно |
В теории, Webim Server может быть установлен практически на любой UNIX/Linux-based системе, совместимой по более конкретным параметрам, перечисленным в следующих строках этой таблицы. Однако тестирование проводится только на указанных версиях и модификациях, поэтому работоспособность системы и техническая поддержка осуществляется только при условии использования Webim на одной из этих ОС. Использование Debian предпочтительнее ввиду того, что эта система активно поддерживается, развивается и тестируется, обладает наилучшими показателями как серверная ОС. Она всесторонне тестируется командой Webim и подходит по указанным ниже характеристикам. Остальные поддерживаемые ОС тестируются частично и подходят по большинству характеристик. |
| Интерпретаторы Python | PyPy 7.3.12 | |
| Веб-сервер | nginx: 1.10 1.12 1.14 1.16 openresty: 1.21 |
|
| Реляционная СУБД | PostgreSQL 14.2, MariaDB 10.2, Microsoft SQL Server версия 2019 (15.0.4178.1) |
Требования к серверу реляционной СУБД
При использовании MySQL версии 5.7 могут быть использованы следующие операционные системы (см. документацию MySQL):
-
Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7
-
Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 6
-
Solaris 11 (Update 4+)
-
Ubuntu 18.04 LTS
-
SUSE Enterprise Linux 12 (12.5+)
-
Debian GNU/Linux 10
-
Microsoft Windows 2016 Server
-
Microsoft Windows 2012 Server R2
-
Microsoft Windows 10
-
другие операционные системы на базе Linux
При использовании PostgreSQL 14.2 могут быть использованы следующие операционные системы:
-
Все LTS-дистрибутивы Linux
-
Microsoft Windows (XP и далее)
-
FreeBSD
-
OpenBSD
-
NetBSD
-
macOS
-
AIX
-
HP/UX
-
Solaris
При использовании Microsoft SQL Server версии 2019 (15.0.4178.1) могут быть использованы следующие операционные системы:
-
Все LTS-дистрибутивы Linux
-
Microsoft Windows (XP и далее)
-
FreeBSD
-
OpenBSD
-
NetBSD
-
macOS
-
AIX
-
HP/UX
-
Solaris
Требования к серверу аналитической (колоночной) СУБД
Согласно официальной документации, 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
Требования к поисковой системе
Теоретически, Elasticsearch может быть установлен и запущен на любой ОС, поддерживающей JDK (Java Development Kit) версии 17 и выше. Более подробные требования можно найти в официальной документации.
Требования к Apache Kafka (для es-storager)
При использовании поисковой системы Elasticsearch в составе Webim загрузка истории диалогов и связанных объектов может выполняться сервисом es-storager. Для его работы необходима доступная инсталляция Apache Kafka.
ES Storager взаимодействует с Kafka как producer и как consumer. Соответственно, требуется:
-
Сетевая доступность брокера/кластера Kafka из узлов, где развернуты компоненты Webim и es-storager.
-
Созданные топики, используемые es-storager, и права на публикацию/чтение для сервисной учетной записи.
-
Настроенная авторизация и шифрование (SASL/SSL) в соответствии с политиками инфраструктуры, при необходимости.
См. также
Инструкции по подключению Elasticsearch и общие требования к окружению приведены в статье Подключение Elasticsearch.
Требования к 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.3.0
-
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