Обновление 3.19
Версия: 3.19
Требуется версия: 3.10 и выше
Несколько слов от автора
- Мы двигаемся дальше. Это "военная версия" 3.18. Её разработка была долгая и осложнённая военными действиями, перебоями с энергоснабжением и многим другим.
- Сделано немало и опять же особенно мы старались сделать упор на доработку всяческих мелочей. Прошу вдумчиво ознакомиться со списком изменений
- Обратите внимание на страницу "Горячие клавиши"
- В версии 3.18 объявляются устаревшими разделы:
- "Заявка на подключение". В версии 3.19 раздел будет удалён. Используйте раздел "API" для организации приема заявок и создания задач
- "Общая схема коммутации". В версии 3.19 раздел будет удалён. Используйте в работе раздел "Схемы коммутации"
- Обновление. Рекомендую иметь два инстанса системы. Отдельно действующую и отдельно тестовую. На тестовой вы можете периодически обновлять базу данных с действующей системы и проводить обновление, убеждаясь, что всё работает, ознакомиться с нововведениями или выявлять моменты, которые у вас перестали работать.
- Наша группа в Telegram для взаимного общения клиентов между собой: https://t.me/usersideeu и канал для новостей: https://t.me/userside
Особенности в проведении обновления
При обновлении в 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. Там должны находится только дистрибутивные файлы самой системы. Модули userside также не должны там хранится. Используйте отдельные каталоги для них. Посторонние файлы из домашней директории userside могут быть удалены в процессе обновления
- Сохраните файлы userside3/main/config/custom_api.php и userside3/main/skins/user_style.css (при их наличии). Они могут пригодится в случае ошибок обновления и их удаления при этом.
- Большинство файлов из веб-директории userside с целью безопасности изменили своё местоположение на несколько уровней выше и теперь недоступны через веб.
- Версия 3.19 требует PHP версии 8.3, но также будет работать и на 8.1. Однако, мы рекомендуем перейти на 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
- В NGINX измените используемую версию PHP для обновляемой копии USERSIDE. Если вы следовали инструкциям по установке системы, то в файле /etc/nginx/conf.d/default.conf или userside.conf или в другом, который вы использовали для настройки userside, измените строку:
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
на строку
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
и перечитайте конфигурацию nginx:
sudo nginx -s reload
- В NGINX измените основной
location /
целиком на следующий:
location / { try_files $uri $uri/ /index.php$is_args$args; }
- Обратите внимание, что при вызове команды
php
из командной строки, теперь будет вызываться php8.3, так как это последняя установленная версия. Если вы где-либо до сих пор используете php8.1, то вам нужно изменить вызов php в этих местах либо изменить альтернативную команду php, чтобы она запускала нужную вам версию.
- USERSIDE 3.19 требует Python версии 3.9 или новее. Если ваша версия ниже 3.9, то вам обязательно нужно будет установить более новую версию, прежде чем продолжить. Желательно испльзовать 3.11.7.
- С помощью автоматического инсталлятора выполните обновление:
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
- Не забудьте обновить все модули на их свежие версии
Список изменений: просмотреть
Проведение обновления: инструкция