Ad Widget

Collapse

Проблема с zabbix-web

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Fomalhaut
    Junior Member
    • Aug 2017
    • 6

    #1

    Проблема с zabbix-web

    Уже всю голову изломал: никак с проблемой не разберусь. Суть (повторяюсь): ставлю Zabbix 3.2 на SciLinux 7.3 (т.е., почти CentOS 7.3) с PHP 7.1, PostgreSQL 9.6, nginx-1.12. Всё - с официальных реп.
    При первом запуске Zabbix производится первичная настройка - всё нормально.
    Потом по нажатию на "Finish" должна появиться форма запроса пароля, но открывается:
    ------------------------------------
    Access denied
    - You are logged in as "guest". You have no permissions to access this page.
    - If you think this message is wrong, please consult your administrators about getting the necessary permissions.

    ------------------------------------
    И две кнопки: "Login" и "Go to dashboard".
    При нажатии на "Login" ничего не происходит, а на "Go to dashboard" - выходит на панель, но с кучей ошибок вида вместо отображения данных:
    ------------------------------------
    Undefined index: REMOTE_ADDR [zabbix.php:21 → require_once() → ZBase->run() → ZBase->authenticateUser() → CWebUser::checkAuthentication() → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CUser->checkAuthentication() → CUser->_getUserData() in include/classes/api/services/CUser.php:1267]
    Undefined index: SERVER_SOFTWARE [zabbix.php:21 → require_once() → ZBase->run() → ZBase->initLocales() → zbx_locale_variants() in include/locales.inc.php:95]
    Undefined index: SERVER_SOFTWARE [zabbix.php:21 → require_once() → ZBase->run() → ZBase->initLocales() → zbx_locale_variants() in include/locales.inc.php:95]
    Undefined index: REQUEST_URI [zabbix.php:21 → require_once() → ZBase->run() → ZBase->processRequest() → CController->__construct() → CSession::start() in include/classes/core/CSession.php:42]
    Undefined index: SCRIPT_NAME [zabbix.php:21 → require_once() → ZBase->run() → ZBase->processRequest() → CView->getOutput() → include() → get_icon() → CUrl->__construct() in include/classes/routing/CUrl.php:38]

    ------------------------------------
    Наглядней на картинке, но форум не позволяет приложить ни одну ссылку на картинку.
    И всё. Уже и версии PHP откатывал и полную перестановку делал - ничего не помогло. :-(
    Last edited by Fomalhaut; 07-08-2017, 15:03.
  • wins
    Senior Member
    • Sep 2014
    • 307

    #2
    Я бы даунгрейднул пых до 7.1
    В фронтенде 3.2.7 наконец-то допилили нормально поддержку.

    Comment

    • Fomalhaut
      Junior Member
      • Aug 2017
      • 6

      #3
      Originally posted by wins
      Я бы даунгрейднул пых до 7.1
      В фронтенде 3.2.7 наконец-то допилили нормально поддержку.
      Я ошибся: PHP 7.1 стоит из репа Remi (сборщик PHP для Fedora и пр.) - 7.3 ещё вроде бы нет :-) .
      Первоначально грешил на ПХП, но откатился на 5.4 - ничего не изменилось.
      ------------------------
      # /usr/pgsql-9.6/bin/postgresql96-setup initdb postgresql-9.6 --datadir=/var/lib/pgsql/9.6/data
      # mkdir /var/log/postgresql/
      # chown -R postgresostgres /var/log/postgresql/
      # systemctl start postgresql-9.6
      # systemctl enable postgresql-9.6

      # sudo -u postgres psql

      CREATE DATABASE dbzabbix;
      CREATE USER uzabbix WITH CREATEDB LOGIN ENCRYPTED PASSWORD '********';
      ALTER DATABASE dbzabbix OWNER TO uzabbix;
      GRANT ALL privileges ON DATABASE dbzabbix TO uzabbix;
      \q

      # exit
      # zcat /usr/share/doc/zabbix-server-pgsql-3.2.*/create.sql.gz | psql -U uzabbix dbzabbix
      # chown -R nginx:nginx /etc/zabbix/web/

      ------------------------

      Может что-то упустил?
      Last edited by Fomalhaut; 08-08-2017, 00:01.

      Comment

      • Fomalhaut
        Junior Member
        • Aug 2017
        • 6

        #4
        Подсказали: может проблема в локали?
        В сообщениях идёт указание на 21 строку файла zabbix.php и указание на обработку локали. В этой строке:
        require_once dirname(__FILE__).'/include/config.inc.php';
        Идём в файл /include/config.inc.php и тут есть
        --------------------------------------
        setlocale(LC_CTYPE, [
        'C', 'POSIX', 'en', 'en_US', 'en_US.UTF-8', 'English_United States.1252', 'en_GB', 'en_GB.UTF-8'
        ]);

        --------------------------------------
        В этом списке нет ru_RU.UTF-8.
        Может это как-то связано? Но я добавил ru_RU.UTF-8 в указанное перечисление - не помогло.
        В конфиге постгреса я тоже указывал ru_RU.UTF-8 - сменил на en_US.UTF-8, перезапустил Постгрес - тоже самое.

        Но заметил в логах Постгреса:
        FATAL: terminating connection due to administrator command
        FATAL: the database system is starting up

        Но до установки en_US (т.е. с ru_RU в конфиге постгреса) писалось в русском варианте просто "Важно" и текст не устрашающий:
        ВАЖНО: закрытие подключения по команде администратора
        ВАЖНО: система баз данных запускается


        Пока же проблема не решена. Систему в виртуалке ставил (для тестов) дважды: с поддержкой русского языка и стандартно "только английский" - безрезультатно.
        Может что-то с правами пользователя u_zabbix? Но что - даже не предположу: ему дал owner-а на базу db_zabix.
        Last edited by Fomalhaut; 07-08-2017, 23:49.

        Comment

        • Fomalhaut
          Junior Member
          • Aug 2017
          • 6

          #5
          Ещё: nginx с комплектным файлом fastcgi_params ничего не отображал при попытке зайти на zabbix-web. Немного другой подбросил - отображает, но с указанными в посте ошибками.
          Комплектный fastcgi_params
          ---------------------------------
          fastcgi_param QUERY_STRING $query_string;
          fastcgi_param REQUEST_METHOD $request_method;
          fastcgi_param CONTENT_TYPE $content_type;
          fastcgi_param CONTENT_LENGTH $content_length;
          fastcgi_param SCRIPT_NAME $fastcgi_script_name;
          fastcgi_param REQUEST_URI $request_uri;
          fastcgi_param DOCUMENT_URI $document_uri;
          fastcgi_param DOCUMENT_ROOT $document_root;
          fastcgi_param SERVER_PROTOCOL $server_protocol;
          fastcgi_param REQUEST_SCHEME $scheme;
          fastcgi_param HTTPS $https if_not_empty;
          fastcgi_param GATEWAY_INTERFACE CGI/1.1;
          fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
          fastcgi_param REMOTE_ADDR $remote_addr;
          fastcgi_param REMOTE_PORT $remote_port;
          fastcgi_param SERVER_ADDR $server_addr;
          fastcgi_param SERVER_PORT $server_port;
          fastcgi_param SERVER_NAME $server_name;
          fastcgi_param REDIRECT_STATUS 200;

          ---------------------------------

          Мой fastcgi_params
          ---------------------------------
          fastcgi_param DOCUMENT_ROOT $rootpath/;
          fastcgi_param SCRIPT_FILENAME $rootpath/$fastcgi_script_name;
          fastcgi_param PATH_TRANSLATED $rootpath/$fastcgi_script_name;
          fastcgi_param QUERY_STRING $query_string;
          fastcgi_param REQUEST_METHOD $request_method;
          fastcgi_param CONTENT_TYPE $content_type;
          fastcgi_param CONTENT_LENGTH $content_length;

          ---------------------------------

          Я в этих параметрах вообще ещё не разбираюсь, но есть подозрение, что с ними связано.

          Comment

          • Fomalhaut
            Junior Member
            • Aug 2017
            • 6

            #6
            Разобрался.
            Как обычно - сам сделал себе проблемы. :-)
            Оказалось, что всё таки немного перемудрил с fastcgi_param. Откатил всё на "по умолчанию" и сделал минимум необходимого - всё заработало. :-)

            Comment

            • Fomalhaut
              Junior Member
              • Aug 2017
              • 6

              #7
              И всё таки - не совсем всё работает. Форма запроса пароля появилась и ошибки исчезли, но не могу войти по Admin/zabbix: окно так же никак не реагирует. :-( Причём нет никаких сообщений: ни об ошибочный логин/пароле, ничего совсем.
              Под guest захожу, но там же ничего нет - пустота данных.
              И при выходе из под Гостя получается ошибка:
              ------------------------------
              Zabbix has received an incorrect request.
              Operation cannot be performed due to unauthorized request.

              ------------------------------
              Возможно всё так же с fastcgi_params проблемы, но сам не пойму: сейчас от дефолтных отличается только строкой в конфиге сайта:
              ------------------------------
              set $rootpath "/usr/share/zabbix";
              ...
              fastcgi_param SCRIPT_FILENAME $rootpath/$fastcgi_script_name;

              ------------------------------

              Comment

              Working...