<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>55532</bug_id>
          
          <creation_ts>2025-08-06 19:26:46 +0300</creation_ts>
          <short_desc>Невозможно настроить icingaweb2 с php8.4-intl</short_desc>
          <delta_ts>2025-08-06 19:26:46 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Branch p11</product>
          <component>icinga-php-library</component>
          <version>unspecified</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kostevich Arseniy">kostevichae</reporter>
          <assigned_to name="manowar@altlinux.org">manowar</assigned_to>
          
          
          <qa_contact name="qa-p11@altlinux.org">qa-p11</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>270556</commentid>
    <comment_count>0</comment_count>
    <who name="Kostevich Arseniy">kostevichae</who>
    <bug_when>2025-08-06 19:26:46 +0300</bug_when>
    <thetext>Платформа:
Alt Server 11.0 x86_64

Версии пакетов:
icinga-php-library-0.13.1-alt2
icingaweb2-2.12.1-alt4

Шаги для воспроизведения:
1. На виртуальной машине, где будет развёрнут мастер-узел Icinga 2, поменяйте hostname и перезагрузите её для принятия изменений:
# hostnamectl set-hostname icinga2-master.localdomain &amp;&amp; reboot
2. Установить пакеты:
# apt-get install icinga2 icingaweb2 icinga2-doc icinga-l10n icinga-php-library icinga-php-thirdparty icingaweb2-cli icingaweb2-common icingaweb2-php icingaweb2-php-mysql icingaweb2-php-pgsql liboniguruma5 icingaweb2-nginx icingaweb2-module-director nagwad-icinga-master
3. Получить версию PHP для работы с Icinga:
# PHP_VERSION=&quot;$(rpm -qR icingaweb2-php | grep openssl | tr -d -c 0-9.)&quot;
4. Создать конфигурацию Nginx для Icinga2 с SSL (Пример для php8.3, т.к. в зависимостях icingaweb2-php php8.3):
# cat &gt; /etc/nginx/sites-available.d/icingaweb2-ssl.conf &lt;&lt;EOF
server {
    listen 80;
    server_name icinga2 icinga2-master.localdomain localhost localhost.localdomain;
    rewrite ^ https://\$host\$request_uri? permanent;
}
server {
    listen 443 ssl;
    server_name icinga2 icinga2-master.localdomain localhost localhost.localdomain;
    ssl_certificate     /var/lib/icinga2/certs/icinga2-master.localdomain.crt;
    ssl_certificate_key /var/lib/icinga2/certs/icinga2-master.localdomain.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    location ~ ^/icingaweb2/index\.php(.*)$ {
      fastcgi_pass unix:/var/run/php${PHP_VERSION}-fpm/icingaweb2.socket;
      fastcgi_index index.php;
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME /usr/share/icingaweb2/public/index.php;
      fastcgi_param ICINGAWEB_CONFIGDIR /etc/icingaweb2;
      fastcgi_param REMOTE_USER \$remote_user;
   }
    location ~ ^/icingaweb2(.+)? {
      alias /usr/share/icingaweb2/public;
      index index.php;
      try_files \$1 \$uri \$uri/ /icingaweb2/index.php\$is_args\$args;
    }
}
EOF
4. Отключить старую конфигурацию Nginx и включить новую:
# rm -rf /etc/nginx/sites-enabled.d/icingaweb2.conf
# ln -s /etc/nginx/sites-available.d/icingaweb2-ssl.conf /etc/nginx/sites-enabled.d/icingaweb2-ssl.conf
5. Запустить сервис PHP-FPM:
# systemctl enable --now php${PHP_VERSION}-fpm.service &amp;&amp; sleep 5; systemctl status php${PHP_VERSION}-fpm.service --no-pager -l
6. Запустить сервис icinga2:
# systemctl enable --now icinga2 &amp;&amp; sleep 5; systemctl status icinga2 --no-pager -l
7. Создать каталог конфигурации:
# icingacli setup config directory --group icingaweb2
8. Сгенерировать токен:
# icingacli setup token create
9. Настроить REST API для связи Icinga и Icinga Web 2:
# icinga2 api setup
10. Для применения изменений перезагрузить icinga2:
# systemctl restart icinga2.service &amp;&amp; sleep 5; systemctl status icinga2.service
11. Запустить сервис Nginx:
# systemctl enable --now nginx &amp;&amp; sleep 5; systemctl status nginx --no-pager -l
12. В браузере перейдите по адресу https://icinga2/icingaweb2/setup

Ожидаемый результат:
В браузере открывается веб-интерфейс icinga2

Фактический результат:
Веб-интерфейс не открывается(HTTP ERROR 500). В логах nginx есть ошибки:
2025/08/06 19:04:53 [error] 2996#2996: *7 FastCGI sent in stderr: &quot;PHP message: PHP Fatal error:  Uncaught Error: Class &quot;Locale&quot; not found in /usr/share/icinga-php/ipl/vendor/ipl/i18n/src/Locale.php:125
Stack trace:
#0 /usr/share/icinga-php/ipl/vendor/ipl/i18n/src/Locale.php(90): ipl\I18n\Locale-&gt;parseLocale(&apos;ru_ru&apos;)
#1 /usr/share/icingaweb2/library/Icinga/Application/Web.php(504): ipl\I18n\Locale-&gt;getPreferred(&apos;ru-RU,ru;q=0.9,...&apos;, Array)
#2 /usr/share/icingaweb2/library/Icinga/Application/ApplicationBootstrap.php(696): Icinga\Application\Web-&gt;detectLocale()
#3 /usr/share/icingaweb2/library/Icinga/Application/Web.php(106): Icinga\Application\ApplicationBootstrap-&gt;setupInternationalization()
#4 /usr/share/icingaweb2/library/Icinga/Application/ApplicationBootstrap.php(388): Icinga\Application\Web-&gt;bootstrap()
#5 /usr/share/icingaweb2/library/Icinga/Application/webrouter.php(105): Icinga\Application\ApplicationBootstrap::start()
#6 /usr/share/icingaweb2/public/index.php(4): require_once(&apos;/usr/share/icin...&apos;)
#7 {main}
thrown in /usr/share/icinga-php/ipl/vendor/ip&quot; while reading response header from upstream, client: 10.88.129.23, server: icinga2, request: &quot;GET /icingaweb2/setup HTTP/1.1&quot;, upstream: &quot;fastcgi://unix:/var/run/php8.3-fpm/icingaweb2.socket:&quot;, host: &quot;icinga2&quot;

Проблема в том, что icingaweb2-php и icinga-php-library требуют разные версии php:
# rpm -qR icingaweb2-php
icinga-php-library &gt;= 0.13.0
icinga-php-thirdparty &gt;= 0.12.0
php8.3-openssl
icingaweb2-php-sql = 2.12.1-alt4
php8.3-ldap
php8.3-mbstring
php8.3-gd
php8.3-imagick
php8.3-curl
php8.3-fileinfo
rpmlib(PayloadIsLzma)

# rpm -qR icinga-php-library
php8.4-intl
rpmlib(PayloadIsLzma)

Если установить php8.3-intl и перезапустить nginx, то веб-интерфейс работает корректно.
В Sisyphus не воспроизводится.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>