JeromeDevome / GRR

GRR Officiel - Copyright Team DEVOME
https://grr.devome.com
GNU General Public License v2.0
84 stars 51 forks source link

Debian 12 - PHP 8.2 #278

Closed plegrand1 closed 1 year ago

plegrand1 commented 1 year ago

Bonjour, j'utilise GRR en version 3.4.3, sur une Debian stable. Suite à la mise à jour vers Debian BookWorm (12) donc passage à PHP 8.2, GRR n'est plus fonctionnel et j'ai ces messages d'erreur:

PHP Warning:  session_name(): Session name cannot be changed when a session is active in /var/www/grr/include/session.inc.php on line 624
PHP Fatal error:  Uncaught mysqli_sql_exception: Table 'grr.grr_j_groupe_se3' doesn't exist in /var/www/grr/include/mysql.inc.php:81\nStack trace:\n#0 /var/www/grr/include/mysql.inc.php(81): mysqli_query()\n#1 /var/www/grr/include/session.inc.php(762): grr_sql_query()\n#2 /var/www/grr/index.php(135): grr_opensession()\n#3 {main}\n  thrown in /var/www/grr/include/mysql.inc.php on line 81

J'ai ajouté les lignes suivantes dans le fichier index.php: ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); afin d'afficher les erreurs:

Deprecated: Creation of dynamic property CAS_Client::$_server_base_url is deprecated in /var/www/grr/include/CAS/Client.php on line 953
Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /var/www/grr/include/CAS/Client.php on line 1055
Deprecated: Function utf8_decode() is deprecated in /var/www/grr/include/session.inc.php on line 1201
Deprecated: Function utf8_decode() is deprecated in /var/www/grr/include/session.inc.php on line 1202
Deprecated: Function utf8_decode() is deprecated in /var/www/grr/include/session.inc.php on line 1203
Deprecated: Function utf8_encode() is deprecated in /var/www/grr/include/session.inc.php on line 487
Deprecated: Function utf8_encode() is deprecated in /var/www/grr/include/session.inc.php on line 488
Deprecated: Function utf8_encode() is deprecated in /var/www/grr/include/session.inc.php on line 489
Warning: session_name(): Session name cannot be changed when a session is active in /var/www/grr/include/session.inc.php on line 624
Fatal error: Uncaught mysqli_sql_exception: Table 'grr.grr_j_groupe_se3' doesn't exist in /var/www/grr/include/mysql.inc.php:81 Stack trace: #0 /var/www/grr/include/mysql.inc.php(81): mysqli_query() #1 /var/www/grr/include/session.inc.php(762): grr_sql_query() #2 /var/www/grr/index.php(135): grr_opensession() #3 {main} thrown in /var/www/grr/include/mysql.inc.php on line 81

Pourriez-vous m'indiquer la marche à suivre pour rendre GRR de nouveau fonctionnel ?

D'avance merci pour votre aide. Cordialement Pascal

ynaessens commented 1 year ago

Bonjour, Grr 3.4.3 n’est pas compatible avec php8.2. Veuillez installer Grr 3.5.1 ou 4.0.3. N’hésitez pas à revenir si vous avez encore des erreurs. Cordialement YN

plegrand1 commented 1 year ago

Merci pour votre réponse, faut-il faire des mise à jour successives ou bien utiliser directement la "latest" sur une installation existante ?

ynaessens commented 1 year ago

Pour la montée de version, je préfère une fresh install de la nouvelle version, la restauration des anciennes données suivie d’une mise à jour de la base.

plegrand1 commented 1 year ago

Bonjour et merci encore pour votre réponse. Du coup je suis cette procédure : https://site.devome.com/fr/grr/telechargement/category/2-informations-documentations?download=2:mise-a-jour-de-votre-grr

ynaessens commented 1 year ago

Bonjour, la procédure de mise à jour est décrite dans le fichier install.txt, mais comme je vous le disais précédemment, je préfère faire une installation neuve puis restaurer les anciennes données et terminer par la mise à jour de la base lorsque Grr le demande. Cordialement, YN

plegrand1 commented 1 year ago

J'ai procédé à la mise à jour en installant les nouveaux fichiers puis à la première connexion, la mise à jour de la base de données s'est faite sans soucis visiblement. OK partout.

Je rencontre des soucis à l'utilisation

Par défaut, l'authentification se fait via le CAS et semble fonctionner à quelques messages d'erreur prêts :

[Wed Jun 21 08:31:18.595610 2023] [php:warn] [pid 465319] [client 192.168.151.38:62465] PHP Warning:  session_name(): Session name cannot be changed when a session is active in /var/www/grr/include/session.inc.php on line 610
[Wed Jun 21 08:31:18.596294 2023] [php:warn] [pid 465319] [client 192.168.151.38:62465] PHP Warning:  Undefined array key "changepwd" in /var/www/grr/include/session.inc.php on line 669
[Wed Jun 21 08:31:18.597377 2023] [php:warn] [pid 465319] [client 192.168.151.38:62465] PHP Warning:  Undefined array key "changepwd" in /var/www/grr/include/session.inc.php on line 747

Lorsque je me déconnecte et que je tente une connexion avec l'administrateur local, j'obtiens une page blanche et ces message d'erreur. Clic sur "Ouvrir une session" : [Wed Jun 21 08:32:31.008035 2023] [php:warn] [pid 465233] [client 192.168.151.38:62485] PHP Warning: Undefined variable $gcDossierImg in /var/www/grr/login.php on line 166, referer: http://SITE_GRR.FR/grr/logout.php?auto=0

Saisie des identifiants et clic sur "Valider"

[Wed Jun 21 08:33:32.914284 2023] [php:warn] [pid 462406] [client 192.168.151.38:62491] PHP Warning:  Undefined variable $nbMaxJoursLogEmail in /var/www/grr/login.php on line 142, referer: http://SITE_GRR.FR/grr/login.php
[Wed Jun 21 08:33:32.914409 2023] [php:error] [pid 462406] [client 192.168.151.38:62491] PHP Fatal error:  Uncaught Exception: Unknown or bad format (PD) in /var/www/grr/include/functions.inc.php:5972\nStack trace:\n#0 /var/www/grr/include/functions.inc.php(5972): DateInterval->__construct()\n#1 /var/www/grr/login.php(142): nettoieLogEmail()\n#2 {main}\n  thrown in /var/www/grr/include/functions.inc.php on line 5972, referer: http://SITE_GRR.FR/grr/login.php

Une idée d'où pourrait venir le problème ?

Merci encore pour votre aide.

plegrand1 commented 1 year ago

Bonjour, la procédure de mise à jour est décrite dans le fichier install.txt, mais comme je vous le disais précédemment, je préfère faire une installation neuve puis restaurer les anciennes données et terminer par la mise à jour de la base lorsque Grr le demande. Cordialement, YN

Du coup vous supprimez l'ancienne base de données (après l'avoir sauvegardée bien sûr)? quelle commande utilisez vous pour restaurer la base une fois les fichiers copiés?

ynaessens commented 1 year ago

Deux points :

Pour ce qui est des erreurs que vous avez rapportées, les dernières corrections apportées à la branche 3.5.1, récupérables ici https://github.com/JeromeDevome/GRR/tree/2cf10dc75b2fa70e215fde97b46c4be4c1ec9ef3, devraient les avoir corrigées. Si vous confirmez, je pourrais publier une sous-version corrective. D'avance merci pour votre retour, cordialement, YN

plegrand1 commented 1 year ago

Vous me conseillez donc de refaire une installation vierge mais avec la version 3.5.1 plutôt que la version 4.0.3 ? A quel moment je peux effectuer l'étape 3

  1. je me connecte en administrateur sur la nouvelle version et je restaure les données précédemment sauvegardées Dans l'interface web ou bien en ligne de commande ?
ynaessens commented 1 year ago

Je suis plus confiant dans les fichiers correspondants au lien donné, car sur la branche master je ne sais pas où vous orienter vers une version fiable. Pour l’étape 3 : normalement après l’étape 2, vous avez un Grr fonctionnel avec juste un domaine et une ressource. Connecté en administrateur, vous allez vers la page de gestion des sauvegardes et vous restaurez la sauvegarde faite au 1.

plegrand1 commented 1 year ago

Je comprends que la sauvegardes des données aurait dû être faite depuis l'interface web de GRR en tant qu'administrateur. Or dans l'état actuel des choses, je ne suis plus en mesure de me connecter en tant qu'administrateur et les seules sauvegardes en ma possession sont celles faites via une crontab et la commande suivante: mysqldump -u USER -p"PASSWORD" --add-drop-table -c grr > grr.sql Une idée de comment m'en sortir du coup ? Désolé

AndrewHobson commented 1 year ago

Hello,

A ma connaissance, via phpMyAdmin tu peux réimporter ta sauvegarde.

A+

Andrew

De : plegrand1 @.> Envoyé : mercredi, 21 juin 2023 13:58 À : JeromeDevome/GRR @.> Cc : Subscribed @.***> Objet : Re: [JeromeDevome/GRR] Debian 12 - PHP 8.2 (Issue #278)

Je comprends que la sauvegardes des données aurait dû être faite depuis l'interface web de GRR en tant qu'administrateur. Or dans l'état actuel des choses, je ne suis plus en mesure de me connecter en tant qu'administrateur et les seules sauvegardes en ma possession sont celles faites via une crontab et la commande suivante: mysqldump -u USER -p"PASSWORD" --add-drop-table -c grr > grr.sql Une idée de comment m'en sortir du coup ? Désolé

— Reply to this email directly, view it on GitHub https://github.com/JeromeDevome/GRR/issues/278#issuecomment-1600701417 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACBXRGVA2YHZMGWL3NQ6XH3XMLOTFANCNFSM6AAAAAAZM6HJPE . You are receiving this because you are subscribed to this thread. https://github.com/notifications/beacon/ACBXRGSCNA7AC27U44T5HMDXMLOTFA5CNFSM6AAAAAAZM6HJPGWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS7NDB6S.gif Message ID: @. @.> >

plegrand1 commented 1 year ago

Du coup je repars sur une installation totalement vierge Je me connecte une première fois en Admin Puis depuis phpmyadmin ou autre, j'importe ma vielle base?

plegrand1 commented 1 year ago

Lors de la nouvelle installation, je reste bloqué sur ce message et il ne se passe rien d'autre : Quatrième étape : Création des tables de la base

plegrand1 commented 1 year ago

Le message précédent était visiblement dû au fait d'une incompréhension par rapport au préfix. Ensuite j'ai importé l'ancienne base avec "Adminer" Mise à jour depuis grr Tout semble fonctionner

Juste une interrogation sur le fait qu'il faille s'authentifier 2 fois pour le dépôt d'un cookie

Sinon tout semble fonctionner avec la version préconisée plus haut

Merci pour vos aides !! Pascal

ynaessens commented 1 year ago

En principe la double authentification n’est requise que lors de la première connexion sur base Grr. Pour les connexions LDAP, il ne devrait pas y avoir de problème. C’est lié au changement de codage des mots de passe dans la BDD.

plegrand1 commented 1 year ago

Je confirme donc qu'avec la version préconisée plus haut, tout semble fonctionner correctement. Je vous tiendrai informé dans le cas où l'utilisateur principal rencontrerait des problèmes. Merci encore