Hauptmenü

KIX 17.14.0 - Menüs fehlen - root hat keinen Zugriff auf Admin-Bereich

Begonnen von pustamante, 16.04.2021 08:55:43

⏪ vorheriges - nächstes ⏩

pustamante

Hallo Zusammen,
in meinem KIX stehen plötzlich nur noch die Menüs "Übersicht" und "Tickets" zur Verfügung. Im Dashboard werden keine Tickets mehr aufgelistet. Ich sehe aber in der Toolbar, dass mir die Tickets noch immer zugeordnet sind. Auch die Mitteillungen per E-Mail über neue Tickets bzw. erreichte Erinnerungszeiten werden weiterhin verschickt. Ich bin Mitglied der Gruppe 'admin'.
Melde ich mich als root an, fehlen die Menüs ebenfalls. Neue und offene Tickets werde aber im Dashboard aufgelistet.

Am KIX selbst wurden keine Veränderungen vorgenommen. Ich habe aber den Ubuntu-Server vor kurzem von 18.04. LTS auf 20.04. LTS hochgezogen. Danach lief das KIX jedoch einige Tage problemlos.
Für mich sieht es aus wie ein Berechtigungsproblem. Vielleicht auch bedingt durch einen Fehler an der Datenbank.
Das Apache-Error-Log bringt mir beim Login folgende Meldung:
[Fri Apr 16 08:46:10 2021] -e: Use of uninitialized value $GroupID in hash element at /opt/kix//Kernel/Output/HTML/Dashboard/SystemMessage.pm line 133.
[Fri Apr 16 08:46:10 2021] -e: Use of uninitialized value $GroupID in hash element at /opt/kix//Kernel/Output/HTML/Dashboard/SystemMessage.pm line 142.

Habt ihr vielleicht einen Tipp für mich, wie ich zur Fehlerbehebung vorgehen könnte?
Ich möchte das KIX ungern "zerbasteln".

pustamante

... inzwischen hat sich mein Verdacht bestätigt, dass etwas mit der Datenbank nicht stimmt.
Ich kann die Tabelle 'groups' in MySQL nicht erreichen, obwohl sie über 'SHOW TABLES' angezeigt wird. Sobald ich ein SELECT auf die Tabelle mache, erhalte ich unten stehenden Fehler:
"mysql> select * from groups;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups' at line 1"
Der Fehler macht keinen Sinn, da die Syntax stimmt.
Eine Überprüfung mit 'mysqlcheck' bringt mir ein 'OK' für die Tabelle. Für MySQL ist sie also scheinbar intakt.

Ich bin kein Datenbank-Profi und würde mich deshalb über einen Hinweis freuen, wie ich weiter verfahren könnte.


pustamante

... jezt habe ich zumindest herausgefunden, wo das Problem liegt:
Seit MySQL Version 8.0.2 gehört 'groups' zu den "Reserved Words". Quelle: https://dev.mysql.com/doc/refman/8.0/en/keywords.html
Ich nutze nach dem OS-Upgrade MySQL 8.0.23.

Ein Select auf 'groups' in folgender Syntax ist erfolgreich.
Database changed
mysql> select * from `groups`;

Die Tabelle ist also tatsächlich in Ordnung. Der Code im KIX müsste sicher an den entsprechenden Stellen geändert werden, indem der Tabellenname jeweils in Hochkommata gesetzt wird. Ein umbennen der Tabelle ist schließlich keine Option.
Wäre nur noch interessant, an welchen Stellen es überall notwendig ist. Über ein Feedback würde ich mich freuen, da ich nicht warten kann, bis es ggf. in einem neuen Release ausgerollt wird.

pustamante

.. mit Hilfe eines älteren Forum-Eintrages (https://forum.kixdesk.com/index.php?topic=9243.msg13348#msg13348) konnte ich das Problem jetzt lösen.
Ich habe die Datenbankabfragen in folgenden Dateien dahingehend angepasst, dass ich groups durch `groups`ersetzt habe:

       
  • Kernel/System/Group.pm
  • Kernel/Modules/AdminQueue.pm
  • Kernel/System/CustomerGroup.pm
  • Kernel/System/SupportDataCollector/Plugin/KIX/DatabaseRecords.pm
danach noch:

       
  • sudo -u www-data /opt/kix/bin/kix.Console.pl Maint::Cache::Delete
  • sudo -u www-data /opt/kix/bin/kix.Console.pl Maint::Loader::CacheCleanup
  • sudo -u www-data /opt/kix/bin/kix.Console.pl Maint::Config::Rebuild
  • sudo service apache2 reload
und siehe da, es funzt wieder.
Der Tag ist gerettet.