Обновление 3.19: различия между версиями

Материал из WiKi - UserSide
(Новая страница: «Версия: '''3.19''' Требуется версия: '''3.10 и выше''' == Несколько слов от автора == * Мы двигаемся дальше. Это "военная версия" 3.18. Её разработка была долгая и осложнённая военными действиями, перебоями с энергоснабжением и многим другим. * Сделано немало и о...»)
 
Нет описания правки
 
(не показана 21 промежуточная версия 3 участников)
Строка 1: Строка 1:
[[Upgrade_3.19|en]] | [[Обновление_3.19|ru]]
Версия: '''[[3.19]]'''
Версия: '''[[3.19]]'''


Строка 4: Строка 6:


== Несколько слов от автора ==
== Несколько слов от автора ==
* Мы двигаемся дальше. Это "военная версия" 3.18. Её разработка была долгая и осложнённая военными действиями, перебоями с энергоснабжением и многим другим.
* В версии 3.19 мы очень много сделали для универсализации и индивидуализации системы. Теперь каждый клиент может отключить неиспользуемые разделы, создать совершенно произвольные разделы и сущности и оперировать ими, а также изменять наименование базовых терминов - таких как "Абоненты"


* Сделано немало и опять же особенно мы старались сделать упор на доработку всяческих мелочей. Прошу вдумчиво ознакомиться со [[3.18|списком изменений]]
* У нас появилась "[[Двухфакторная аутентификация (2FA)]]". Не пренебрегайте безопасностью и используйте её.


* Обратите внимание на страницу [["Горячие клавиши"]]
* Большинство файлов из веб-директории userside с целью безопасности изменили своё местоположение на несколько уровней выше и теперь недоступны через веб. Также изменилось имя каталога, который должен быть корневым для web, на стандартное имя public.


* В версии 3.18 объявляются устаревшими разделы:
* Изменена маршрутизация страниц/ссылок системы
** "[[Заявка на подключение]]". В версии 3.19 раздел будет удалён. Используйте раздел "[[API]]" для организации приема заявок и создания задач
<pre>
** "[[Общая схема коммутации]]". В версии 3.19 раздел будет удалён. Используйте в работе раздел "[[Схемы коммутации]]"
Было: /?core_section=customer&action=show&id=1234
Стало: /customer/1234
</pre>


* [[Обновление (инсталлятор)|Обновление]]. '''Рекомендую иметь два инстанса системы'''. Отдельно действующую и отдельно тестовую. На тестовой вы можете периодически обновлять базу данных с действующей системы и проводить обновление, убеждаясь, что всё работает, ознакомиться с нововведениями или выявлять моменты, которые у вас перестали работать.
* В версии 3.19 объявляются устаревшими разделы:
** "Схема размещения строительных длин и смонтированных муфт для трасс кабельных линий". В версии 3.20 раздел будет удалён
** "[[Неизвестные MAC-адреса]]". В версии 3.20 раздел будет удалён
** "Интерфейс технической поддержки". В версии 3.20 раздел будет удалён
 
* [[Обновление]]. '''Рекомендую иметь два инстанса системы'''. Отдельно действующую и отдельно тестовую. На тестовой вы можете периодически обновлять базу данных с действующей системы и проводить обновление, убеждаясь, что всё работает, ознакомиться с нововведениями или выявлять моменты, которые у вас перестали работать.


* Наша группа в Telegram для взаимного общения клиентов между собой: https://t.me/usersideeu и канал для новостей: https://t.me/userside
* Наша группа в Telegram для взаимного общения клиентов между собой: https://t.me/usersideeu и канал для новостей: https://t.me/userside
Строка 38: Строка 47:
* Если вы обновляетесь с версии 3.17 и ранее - ознакомьтесь со страницей: [[Обновление 3.18]]
* Если вы обновляетесь с версии 3.17 и ранее - ознакомьтесь со страницей: [[Обновление 3.18]]


* Версия 3.19 требует PHP версии 8.1. Вы можете установить все необходимые пакеты дополнительно к уже существующей иной версии PHP. Если используете LDAP, то установите также php8.1-ldap. Если используете TurboSMS, то установите php8.1-soap.
* Перенесите/удалите посторонние файлы, каталоги и прочее из директории userside (/var/www/userside). Там должны находится только дистрибутивные файлы самой системы и файлы, которые система создает во время своей работы. Модули userside (usm) также не должны там хранится. Используйте отдельные каталоги для них (например, /opt/userside). Посторонние файлы из директории userside могут быть удалены в процессе обновления
sudo apt install -y php8.1-{fpm,cli,common,curl,intl,mbstring,opcache,pgsql,readline,xml,zip,snmp,gd}


* Если версия php8.1 отсутствует в вашем репозитории, то воспользуйтесь альтернативным репозиторием, например, deb.sury.org, добавив его в систему следующим образом и затем повторив команду установки PHP8.1 приведенную пунктом выше:
* Сохраните файлы ''(при их наличии)''
userside3/main/config/custom_api.php
userside3/main/skins/user_style.css
userside3/main/js/user_script.js
 
Они могут пригодится в случае ошибок обновления и их удаления при этом. Если вы использовали собственные значки для типов сооружений связи и самостоятельно их загружали в какой-то каталог, что доступен из веб - то также их сохраните.
 
* Большинство файлов из веб-директории userside с целью безопасности изменили своё местоположение на несколько уровней выше и теперь недоступны через веб.
 
* Версия 3.19 требует PHP версии 8.3. Вы можете установить все необходимые пакеты дополнительно к уже существующей иной версии PHP. Если используете LDAP, то установите также php8.3-ldap. Если используете TurboSMS, то установите php8.3-soap.
sudo apt install -y php8.3-{fpm,cli,common,curl,intl,mbstring,opcache,pgsql,readline,xml,zip,snmp,gd}
 
* Если версия php8.3 отсутствует в вашем репозитории, то воспользуйтесь альтернативным репозиторием, например, deb.sury.org, добавив его в систему следующим образом и затем повторив команду установки PHP8.3 приведенную пунктом выше:
  sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
  sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
  sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
  sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
Строка 47: Строка 67:


* Измените конфигурацию PHP следующим образом и перезапустите службу php-fpm.
* Измените конфигурацию PHP следующим образом и перезапустите службу php-fpm.
Обратите внимание, что если ваш часовой пояс <code>Europe/Kiev</code>, то вместо <code>$(cat /etc/timezone)</code> Вы должны написать <code>Europe/Kyiv</code>. В Debian 11 еще не внесены изменения по переименованию часового пояса, в то время как в PHP 8.1 изменения уже внесены.
<pre>
<pre>
sudo sed -i "s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@" /etc/php/8.1/fpm/php.ini
sudo sed -i "s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@" /etc/php/8.3/fpm/php.ini
sudo sed -i "s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@" /etc/php/8.1/cli/php.ini
sudo sed -i "s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@" /etc/php/8.3/cli/php.ini
sudo sed -i "s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@" /etc/php/8.1/fpm/php.ini
sudo sed -i "s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@" /etc/php/8.3/fpm/php.ini
sudo sed -i "s@post_max_size = 8M@post_max_size = 100M@" /etc/php/8.1/fpm/php.ini
sudo sed -i "s@post_max_size = 8M@post_max_size = 100M@" /etc/php/8.3/fpm/php.ini
sudo sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 100M@" /etc/php/8.1/fpm/php.ini
sudo sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 100M@" /etc/php/8.3/fpm/php.ini
sudo sed -i "s@max_execution_time.*@max_execution_time = 300@" /etc/php/8.1/fpm/php.ini
sudo sed -i "s@max_execution_time.*@max_execution_time = 300@" /etc/php/8.3/fpm/php.ini
sudo sed -i "s@max_input_time.*@max_input_time = 300@" /etc/php/8.1/fpm/php.ini
sudo sed -i "s@max_input_time.*@max_input_time = 300@" /etc/php/8.3/fpm/php.ini
   
   
sudo systemctl restart php8.1-fpm
sudo systemctl restart php8.3-fpm
</pre>
</pre>


* В NGINX измените используемую версию PHP для обновляемой копии USERSIDE. Если вы следовали инструкциям по установке системы, то в файле /etc/nginx/conf.d/default.conf или userside.conf или в другом, который вы использовали для настройки userside, измените строку:
* создайте новый каталог public внутри каталога userside (если у вас установлено в другом месте, отредактируйте команду перед выполнением):
fastcgi_pass  unix:/run/php/php7.4-fpm.sock;
<pre>
на строку
sudo mkdir -p /var/www/userside/public
</pre>
 
* В настройке NGINX-сервера (/etc/nginx/conf.d/userside.conf) измените пути к корневому каталогу. Строку:
<pre>
root  /var/www/userside/userside3;
</pre>
Замените на:
<pre>
root  /var/www/userside/public;
</pre>
* Там же измените <code>location /</code> целиком на следующий:
<pre>
location / {
    try_files $uri $uri/ /index.php$is_args$args;
}
</pre>
* Там же для <code>location ~ \.php$</code> измените значение для fastcgi_pass с:
  fastcgi_pass  unix:/run/php/php8.1-fpm.sock;
  fastcgi_pass  unix:/run/php/php8.1-fpm.sock;
на
fastcgi_pass  unix:/run/php/php8.3-fpm.sock;
и перечитайте конфигурацию nginx:
и перечитайте конфигурацию nginx:
  sudo nginx -s reload
  sudo nginx -s reload


* Обратите внимание, что при вызове команды <code>php</code> из командной строки, теперь будет вызываться php8.1, так как это последняя установленная версия. Если вы где-либо до сих пор используете php7.4, то вам нужно изменить вызов php в этих местах либо изменить альтернативную команду php, чтобы она запускала нужную вам версию.
* Для websocket-пользователя (websock-user) брокера RabbitMQ необходимо изменить разрешения следующим образом:
<pre>
sudo rabbitmqctl set_permissions -p "/" "websock-user" "^erp-stomp:id-.*" "" "^erp-stomp:id-.*"
</pre>
Если имя вашего websocket-пользователя отличается от websock-user, то укажите его вместо websock-user в приведенных выше командах.


* USERSIDE 3.18 требует Python версии 3.8 или новее. Если ваша версия ниже 3.8, то вам [[Python-update|обязательно нужно будет установить более новую версию]], прежде чем продолжить.
* Обратите внимание, что при вызове команды <code>php</code> из командной строки, теперь будет вызываться php8.3, так как это последняя установленная версия. Если вы где-либо до сих пор используете php8.1, то вам нужно изменить вызов php в этих местах либо изменить альтернативную команду php, чтобы она запускала нужную вам версию.


* Остановите супервизор и все контролируемые им службы:
* USERSIDE 3.19 ''требует Python3 любой поддерживаемой на данный момент версии. Статус версий можно посмотреть здесь: "[https://devguide.python.org/versions/ Status of Python versions]". Рекомендуется использовать версию с состоянием "security" или "bugfix". Версии отмеченные как "end-of-life" не поддерживаются. Отмеченные как "feature" не рекомендуется использовать. Если у вас на хосте неподдерживаемая версия ("end-of-life"), то нужно обязательно [[Python-update|установить дополнительно]] более свежую версию Python.''
sudo systemctl stop supervisor


* Теперь консольный скрипт, запускающий различные команды из командной строки, имеет имя <code>run</code> вместо <code>userside</code>. Вам нужно изменить везде команду запуска с <code>php /var/www/userside/userside</code> на <code>php /var/www/userside/run</code>.
* С помощью автоматического [[Инсталлятор|инсталлятора]] выполните [[Обновление|обновление]]:
** В файле /etc/cron.d/userside нужно заменить строку:
  sudo -u www-data php userside_install.phar install
  * * * * *  www-data  /usr/bin/php /var/www/userside/userside cron > /dev/null
на строку:
* * * * *  www-data   /usr/bin/php /var/www/userside/run cron > /dev/null
** В файле /etc/supervisor/conf.d/us-core-worker.conf нужно заменить строку:
command=/usr/bin/php /var/www/userside/userside queue/listen
на строку:
command=/usr/bin/php /var/www/userside/run queue/listen


* Пользователю RabbitMQ, который используется в USERSIDE, необходимо дать права на мониторинг, чтобы USERSIDE мог осуществлять мониторинг работы сервера. Для этого выполните (при условии, что имя вашего пользователя <code>userside</code>):
* Следующее действие нужно выполнять только если вы [[Python-update|обновили Python]]. Если не обновляли, можно не выполнять:
sudo rabbitmqctl set_user_tags "userside" "monitoring"
Если вы используете vhost оличный от корневого (по умолчанию), то также нужно добавить соответствующую опцию, например для vhost <code>copy</code>:
sudo rabbitmqctl --vhost copy set_user_tags "userside" "monitoring"
 
* Удалите рудиментарные очереди:
<pre>
<pre>
sudo rabbitmqctl delete_queue userside.core
cd /var/www/userside/microservice/poller
sudo rabbitmqctl delete_queue userside.microservice.poller
sudo rm -rf venv
sudo python3.11 -m venv venv
</pre>
</pre>
* С помощью автоматического [[Инсталлятор|инсталлятора]] выполните [[Обновление (инсталлятор)|обновление]]:
sudo -u www-data php userside_install.phar install
* Следующее действие нужно выполнять только если вы [[Python-update|обновили Python]]. Если не обновляли, можно не выполнять:
sudo rm -rf /var/www/userside/microservice/poller/venv
sudo python3.11 -m venv /var/www/userside/microservice/poller/venv


* Необходимо обновить (установить) зависимости для поллера:
* Необходимо обновить (установить) зависимости для поллера:
cd /var/www/userside/microservice/poller
<pre>
sudo venv/bin/pip3 install --upgrade pip
cd /var/www/userside/microservice/poller
sudo venv/bin/pip3 install -U -r requirements.txt
sudo venv/bin/pip install --upgrade pip
 
sudo venv/bin/pip install -U -r requirements.txt
* Обратите внимание, что начиная с версии 3.18, фоновыми службами выполняется значительная часть работы по взаимодействию с сетевым оборудованием. Запустите супервизор:
</pre>
sudo systemctl start supervisor
И проследите, чтобы все службы запустились и работали корректно (RUNNING):
sudo supervisorctl status
Вы должны увидеть 5 экземпляров службы us-poller и 10 экземпляров службы us-core-worker, либо то количество, которое вы самостоятельно указали в конфигурационных файлах супервизора.
 
* Начиная с версии 3.18 вместо модулей сателлитов (usm_satellite), устанавливаемых на удаленных узлах для проксирования команд взаимодействия с оборудованием, теперь используются точно такие же поллеры, как и в ядре системы, но с обязательным указанием идентификатора "сетеллита" в настройках. Обязательно ознакомьтесь с действиями, необходимыми для перехода с usm_satellite на usm_poller [[Сателлиты|в соответствующем разделе]].
 
* В версии 3.18 мы очень сильно переработали структуру базы данных. Поменялась как основная схема так и имена всех таблиц, почти всех полей и, зачастую, типы этих полей. Во-первых обновление может занять длительное время, а во-вторых если вы в работе использовали прямое чтение из базы данных - всё это нуждается в переработке.
 
* Переработан низкоуровневый опрос оборудования ''(FDB, ARP, опрос интерфейсов и т.п.)''. Всё это теперь выполняется поллерами ядра. После обновления проверьте работоспособность опроса FDB-таблиц и прочего.
 
* Метки абонентов объединены с общими метками по системе. Соответственно в файлах конфигурации модулей взаимодействия с биллингами (либо в API) требуется изменить ID меток на новые (если вы это используете). Например для модуля usm_utm5 это переменная $markMerge
 
* Удалена работа с JABBER. Используйте службу уведомлений "Custom HTTP request" либо Messenger ''(Telegram)''


* Если вы до сих пор не перенастроили API-ключ [[UserSide API Key|на новую систему]] - сделайте это. В версии 3.18 $zapikey удален и API-перестанет работать для тех, кто не провёл перенастройку.
* Переработан низкоуровневый опрос оборудования ''(PON, TDR)''.


* Если в версии 3.17 вы до сих пор не [[Обновление 3.17|настроили работу с WebSTOMP]] - нужно это сделать иначе перестанет работать часть системы
* Система двух SNMP-community заменена на один SNMP-community. Этим одним SNMP-community будет то, которое было указано в поле rw-community. Если поле rw-community было пустое - то будет использовано значение поля ro-community


* Не забудьте обновить все модули на их свежие версии
* Не забудьте обновить все модули на их свежие версии


* В полере (usm_poller) который теперь используется для взаимодействия с оборудованием, для аутентификации в SNMP v1 и v2 используется одно комьюнити. Но в пользовательском интерфейсе USERSIDE для обратной совместимости пока что оставлены два поля (ro и rw). Какое из значений будет использовано описано ниже в алгоритме выбора единственного SNMP-community. Чтобы упростить для себя эту задачу, вы можете использовать одно и то же комьюнити для двух полей. Например, если вы хотите предоставить для Userside доступ только на чтение, то в оба поля (ro и rw) впишите комьюнити с правами на чтение. Если хотите предоставить полный доступ, то также в оба поля впишите один и тот же комьюнити с полными правами. Также стоит учитывать, что незаполненное поле будет заполнено из глобальных настроек Userside.
* Если вы используете модуль [[usm_pon]] - перенастройте в системном cron его запуск на нужную частоту в зависимости от количества у вас OLT. Теперь модуль опрашивает только одно устройство за запуск ''(ранее опрашивались все устройства одновременно без возможности смягчения нагрузки и пропуска ненужных устройств)''. Устройства будут опрашиваться по очереди. При каждом запуске на опрос будет подаваться следующее устройство у которого включен такой опрос.


[[Файл:Селектор SNMP-community.png|обрамить|центр]]
* Для разных типов задач теперь можно настраивать отдельные шаблоны по уведомлениям. Проверьте в ваших существующих шаблонах корректность миграций.


'''Список изменений:''' [[3.18|просмотреть]]
'''Список изменений:''' [[3.19|просмотреть]]


'''Проведение обновления:''' [[Обновление (инсталлятор)|инструкция]]
'''Проведение обновления:''' [[Обновление|инструкция]]

Текущая версия от 12:46, 18 октября 2024

en | ru

Версия: 3.19

Требуется версия: 3.10 и выше

Несколько слов от автора

  • В версии 3.19 мы очень много сделали для универсализации и индивидуализации системы. Теперь каждый клиент может отключить неиспользуемые разделы, создать совершенно произвольные разделы и сущности и оперировать ими, а также изменять наименование базовых терминов - таких как "Абоненты"
  • Большинство файлов из веб-директории userside с целью безопасности изменили своё местоположение на несколько уровней выше и теперь недоступны через веб. Также изменилось имя каталога, который должен быть корневым для web, на стандартное имя public.
  • Изменена маршрутизация страниц/ссылок системы
Было: /?core_section=customer&action=show&id=1234
Стало: /customer/1234
  • В версии 3.19 объявляются устаревшими разделы:
    • "Схема размещения строительных длин и смонтированных муфт для трасс кабельных линий". В версии 3.20 раздел будет удалён
    • "Неизвестные MAC-адреса". В версии 3.20 раздел будет удалён
    • "Интерфейс технической поддержки". В версии 3.20 раздел будет удалён
  • Обновление. Рекомендую иметь два инстанса системы. Отдельно действующую и отдельно тестовую. На тестовой вы можете периодически обновлять базу данных с действующей системы и проводить обновление, убеждаясь, что всё работает, ознакомиться с нововведениями или выявлять моменты, которые у вас перестали работать.

Особенности в проведении обновления

При обновлении в Docker-окружении, обратитесь к инструкциям в репозитории Docker-бандла.

  • Если вы обновляетесь с версии 3.10 - ознакомьтесь со страницей: Обновление 3.11
  • Если вы обновляетесь с версии 3.11 и ранее - ознакомьтесь со страницей: Обновление 3.12
  • Если вы обновляетесь с версии 3.12 и ранее - ознакомьтесь со страницей: Обновление 3.13
  • Если вы обновляетесь с версии 3.13 и ранее - ознакомьтесь со страницей: Обновление 3.14
  • Если вы обновляетесь с версии 3.14 и ранее - ознакомьтесь со страницей: Обновление 3.15
  • Если вы обновляетесь с версии 3.15 и ранее - ознакомьтесь со страницей: Обновление 3.16
  • Если вы обновляетесь с версии 3.16 и ранее - ознакомьтесь со страницей: Обновление 3.17
  • Если вы обновляетесь с версии 3.17 и ранее - ознакомьтесь со страницей: Обновление 3.18
  • Перенесите/удалите посторонние файлы, каталоги и прочее из директории userside (/var/www/userside). Там должны находится только дистрибутивные файлы самой системы и файлы, которые система создает во время своей работы. Модули userside (usm) также не должны там хранится. Используйте отдельные каталоги для них (например, /opt/userside). Посторонние файлы из директории userside могут быть удалены в процессе обновления
  • Сохраните файлы (при их наличии)
userside3/main/config/custom_api.php 
userside3/main/skins/user_style.css
userside3/main/js/user_script.js

Они могут пригодится в случае ошибок обновления и их удаления при этом. Если вы использовали собственные значки для типов сооружений связи и самостоятельно их загружали в какой-то каталог, что доступен из веб - то также их сохраните.

  • Большинство файлов из веб-директории userside с целью безопасности изменили своё местоположение на несколько уровней выше и теперь недоступны через веб.
  • Версия 3.19 требует PHP версии 8.3. Вы можете установить все необходимые пакеты дополнительно к уже существующей иной версии PHP. Если используете LDAP, то установите также php8.3-ldap. Если используете TurboSMS, то установите php8.3-soap.
sudo apt install -y php8.3-{fpm,cli,common,curl,intl,mbstring,opcache,pgsql,readline,xml,zip,snmp,gd}
  • Если версия php8.3 отсутствует в вашем репозитории, то воспользуйтесь альтернативным репозиторием, например, deb.sury.org, добавив его в систему следующим образом и затем повторив команду установки PHP8.3 приведенную пунктом выше:
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
sudo apt update
  • Измените конфигурацию PHP следующим образом и перезапустите службу php-fpm.
sudo sed -i "s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@" /etc/php/8.3/fpm/php.ini
sudo sed -i "s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@" /etc/php/8.3/cli/php.ini
sudo sed -i "s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@" /etc/php/8.3/fpm/php.ini
sudo sed -i "s@post_max_size = 8M@post_max_size = 100M@" /etc/php/8.3/fpm/php.ini
sudo sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 100M@" /etc/php/8.3/fpm/php.ini
sudo sed -i "s@max_execution_time.*@max_execution_time = 300@" /etc/php/8.3/fpm/php.ini
sudo sed -i "s@max_input_time.*@max_input_time = 300@" /etc/php/8.3/fpm/php.ini
 
sudo systemctl restart php8.3-fpm
  • создайте новый каталог public внутри каталога userside (если у вас установлено в другом месте, отредактируйте команду перед выполнением):
sudo mkdir -p /var/www/userside/public
  • В настройке NGINX-сервера (/etc/nginx/conf.d/userside.conf) измените пути к корневому каталогу. Строку:
root   /var/www/userside/userside3;

Замените на:

root   /var/www/userside/public;
  • Там же измените location / целиком на следующий:
location / {
    try_files $uri $uri/ /index.php$is_args$args;
}
  • Там же для location ~ \.php$ измените значение для fastcgi_pass с:
fastcgi_pass  unix:/run/php/php8.1-fpm.sock;

на

fastcgi_pass  unix:/run/php/php8.3-fpm.sock;

и перечитайте конфигурацию nginx:

sudo nginx -s reload
  • Для websocket-пользователя (websock-user) брокера RabbitMQ необходимо изменить разрешения следующим образом:
sudo rabbitmqctl set_permissions -p "/" "websock-user" "^erp-stomp:id-.*" "" "^erp-stomp:id-.*"

Если имя вашего websocket-пользователя отличается от websock-user, то укажите его вместо websock-user в приведенных выше командах.

  • Обратите внимание, что при вызове команды php из командной строки, теперь будет вызываться php8.3, так как это последняя установленная версия. Если вы где-либо до сих пор используете php8.1, то вам нужно изменить вызов php в этих местах либо изменить альтернативную команду php, чтобы она запускала нужную вам версию.
  • USERSIDE 3.19 требует Python3 любой поддерживаемой на данный момент версии. Статус версий можно посмотреть здесь: "Status of Python versions". Рекомендуется использовать версию с состоянием "security" или "bugfix". Версии отмеченные как "end-of-life" не поддерживаются. Отмеченные как "feature" не рекомендуется использовать. Если у вас на хосте неподдерживаемая версия ("end-of-life"), то нужно обязательно установить дополнительно более свежую версию Python.
sudo -u www-data php userside_install.phar install
  • Следующее действие нужно выполнять только если вы обновили Python. Если не обновляли, можно не выполнять:
cd /var/www/userside/microservice/poller
sudo rm -rf venv
sudo python3.11 -m venv venv
  • Необходимо обновить (установить) зависимости для поллера:
cd /var/www/userside/microservice/poller
sudo venv/bin/pip install --upgrade pip
sudo venv/bin/pip install -U -r requirements.txt
  • Переработан низкоуровневый опрос оборудования (PON, TDR).
  • Система двух SNMP-community заменена на один SNMP-community. Этим одним SNMP-community будет то, которое было указано в поле rw-community. Если поле rw-community было пустое - то будет использовано значение поля ro-community
  • Не забудьте обновить все модули на их свежие версии
  • Если вы используете модуль usm_pon - перенастройте в системном cron его запуск на нужную частоту в зависимости от количества у вас OLT. Теперь модуль опрашивает только одно устройство за запуск (ранее опрашивались все устройства одновременно без возможности смягчения нагрузки и пропуска ненужных устройств). Устройства будут опрашиваться по очереди. При каждом запуске на опрос будет подаваться следующее устройство у которого включен такой опрос.
  • Для разных типов задач теперь можно настраивать отдельные шаблоны по уведомлениям. Проверьте в ваших существующих шаблонах корректность миграций.

Список изменений: просмотреть

Проведение обновления: инструкция