Обновление 3.19: различия между версиями
Admin (обсуждение | вклад) (Новая страница: «Версия: '''3.19''' Требуется версия: '''3.10 и выше''' == Несколько слов от автора == * Мы двигаемся дальше. Это "военная версия" 3.18. Её разработка была долгая и осложнённая военными действиями, перебоями с энергоснабжением и многим другим. * Сделано немало и о...») |
Uscld2 (обсуждение | вклад) |
||
Строка 38: | Строка 38: | ||
* Если вы обновляетесь с версии 3.17 и ранее - ознакомьтесь со страницей: [[Обновление 3.18]] | * Если вы обновляетесь с версии 3.17 и ранее - ознакомьтесь со страницей: [[Обновление 3.18]] | ||
* Версия 3.19 требует PHP версии 8. | * Версия 3.19 требует PHP версии 8.3. Вы можете установить все необходимые пакеты дополнительно к уже существующей иной версии PHP. Если используете LDAP, то установите также php8.3-ldap. Если используете TurboSMS, то установите php8.3-soap. | ||
sudo apt install -y php8. | sudo apt install -y php8.3-{fpm,cli,common,curl,intl,mbstring,opcache,pgsql,readline,xml,zip,snmp,gd} | ||
* Если версия php8. | * Если версия 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: | Строка 47: | ||
* Измените конфигурацию PHP следующим образом и перезапустите службу php-fpm. | * Измените конфигурацию PHP следующим образом и перезапустите службу php-fpm. | ||
<pre> | <pre> | ||
sudo sed -i "s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@" /etc/php/8. | 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. | 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. | 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. | 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. | 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. | 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. | sudo sed -i "s@max_input_time.*@max_input_time = 300@" /etc/php/8.3/fpm/php.ini | ||
sudo systemctl restart php8. | sudo systemctl restart php8.3-fpm | ||
</pre> | </pre> | ||
* В NGINX измените используемую версию PHP для обновляемой копии USERSIDE. Если вы следовали инструкциям по установке системы, то в файле /etc/nginx/conf.d/default.conf или userside.conf или в другом, который вы использовали для настройки userside, измените строку: | * В NGINX измените используемую версию PHP для обновляемой копии USERSIDE. Если вы следовали инструкциям по установке системы, то в файле /etc/nginx/conf.d/default.conf или userside.conf или в другом, который вы использовали для настройки userside, измените строку: | ||
fastcgi_pass unix:/run/php/ | fastcgi_pass unix:/run/php/php8.1-fpm.sock; | ||
на строку | на строку | ||
fastcgi_pass unix:/run/php/php8. | fastcgi_pass unix:/run/php/php8.3-fpm.sock; | ||
и перечитайте конфигурацию nginx: | и перечитайте конфигурацию nginx: | ||
sudo nginx -s reload | sudo nginx -s reload | ||
* | * В NGINX измените основной <code>location /</code> целиком на следующий: | ||
<pre> | |||
location / { | |||
try_files $uri $uri/ /index.php$is_args$args; | |||
} | |||
</pre> | |||
* | * Обратите внимание, что при вызове команды <code>php</code> из командной строки, теперь будет вызываться php8.3, так как это последняя установленная версия. Если вы где-либо до сих пор используете php8.1, то вам нужно изменить вызов php в этих местах либо изменить альтернативную команду php, чтобы она запускала нужную вам версию. | ||
* | * USERSIDE 3.19 требует Python версии 3.9 или новее. Если ваша версия ниже 3.9, то вам [[Python-update|обязательно нужно будет установить более новую версию]], прежде чем продолжить. Желательно испльзовать 3.11.7. | ||
Если | |||
* С помощью автоматического [[Инсталлятор|инсталлятора]] выполните [[Обновление (инсталлятор)|обновление]]: | * С помощью автоматического [[Инсталлятор|инсталлятора]] выполните [[Обновление (инсталлятор)|обновление]]: | ||
Строка 99: | Строка 81: | ||
* Следующее действие нужно выполнять только если вы [[Python-update|обновили Python]]. Если не обновляли, можно не выполнять: | * Следующее действие нужно выполнять только если вы [[Python-update|обновили Python]]. Если не обновляли, можно не выполнять: | ||
<pre> | |||
cd /var/www/userside/microservice/poller | |||
sudo rm -rf venv | |||
sudo python3.11 -m venv venv | |||
</pre> | |||
* Необходимо обновить (установить) зависимости для поллера: | * Необходимо обновить (установить) зависимости для поллера: | ||
<pre> | |||
cd /var/www/userside/microservice/poller | |||
sudo venv/bin/pip install --upgrade pip | |||
sudo venv/bin/pip install -U -r requirements.txt | |||
</pre> | |||
* | * В версии 3.19 мы очень сильно переработали структуру базы данных. Поменялась как основная схема так и имена всех таблиц, почти всех полей и, зачастую, типы этих полей. Во-первых обновление может занять длительное время, а во-вторых если вы в работе использовали прямое чтение из базы данных - всё это нуждается в переработке. | ||
* | * Переработан низкоуровневый опрос оборудования ''(PON, TDR)''. | ||
* | * Система двух SNMP-community заменена на один SNMP-community. Этим одним SNMP-community будет то, которое было указано в поле rw-community. | ||
* Не забудьте обновить все модули на их свежие версии | * Не забудьте обновить все модули на их свежие версии | ||
'''Список изменений:''' [[3.19|просмотреть]] | |||
'''Список изменений:''' [[3. | |||
'''Проведение обновления:''' [[Обновление (инсталлятор)|инструкция]] | '''Проведение обновления:''' [[Обновление (инсталлятор)|инструкция]] |
Версия от 13:13, 22 марта 2024
Версия: 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
- Версия 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
- В 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
- В версии 3.19 мы очень сильно переработали структуру базы данных. Поменялась как основная схема так и имена всех таблиц, почти всех полей и, зачастую, типы этих полей. Во-первых обновление может занять длительное время, а во-вторых если вы в работе использовали прямое чтение из базы данных - всё это нуждается в переработке.
- Переработан низкоуровневый опрос оборудования (PON, TDR).
- Система двух SNMP-community заменена на один SNMP-community. Этим одним SNMP-community будет то, которое было указано в поле rw-community.
- Не забудьте обновить все модули на их свежие версии
Список изменений: просмотреть
Проведение обновления: инструкция