spip install : impossible de se connecter après l'installation. #31

Closed
opened 2 months ago by JohnLivingston · 18 comments
Collaborator

J'utilise spip-cli pour télécharger spip, puis l'installer.
Je travaille actuellement avec spip 3.2.

Je lance successivement les commandes :

spip dl -n -b 3.2
spip install -n --db-host localhost [...] --admin-nom Admin --admin-login admin --admin-email email@example.com --admin-pass XXXXXXXX --adresse-site https://url.tld

NB: l'option --adresse-site fait parti d'une PR que je viens de faire, mais j'ai le même bug sans.

J'installe ensuite les depots de plugins, et le plugin facteur (mais ça n'a pas d'impact sur le bug).

Si j'essaie ensuite de me connecter, je tombe sur ce formulaire (on notera qu'il manque le champs «langues», cf plus loin) :

image

L'url est en «/spip.php?page=login&url=.%2F»

J'entre alors le login «admin» (ou le mail), et le mot de passe choisi. Impossible de me connecter.

image

Je change alors le mot de passe via spip-cli, en remettant le même !

spip auteurs:changer:mdp --id=1 --mdp=XXXXXXXX

Cette fois, j'arrive à me connecter... mais... Je tombe sur cette page :

image

Url en «/spip.php?page=login&url=.%2F».

Et au final, je ne suis pas connecté.

Je clique sur «se connecter», j'arrive alors ici :

image

Url : «/spip.php?page=login&url=%2Fecrire%2F%3Fexec%3Daccueil»

On notera que le formulaire n'est pas le même que précédemment ! Ce coup-ci il y a une langue à sélectionner.

Et ce coup-ci, il fonctionne.

Je suis entrain de creuser pour voir si je trouve d'où viens l'erreur, mais si quelqu'un a une piste, je suis preneur (je ne connais pas vraiment les entrailles de SPIP).

J'utilise spip-cli pour télécharger spip, puis l'installer. Je travaille actuellement avec spip 3.2. Je lance successivement les commandes : ```bash spip dl -n -b 3.2 spip install -n --db-host localhost [...] --admin-nom Admin --admin-login admin --admin-email email@example.com --admin-pass XXXXXXXX --adresse-site https://url.tld ``` NB: l'option --adresse-site fait parti d'une PR que je viens de faire, mais j'ai le même bug sans. J'installe ensuite les depots de plugins, et le plugin facteur (mais ça n'a pas d'impact sur le bug). Si j'essaie ensuite de me connecter, je tombe sur ce formulaire (on notera qu'il manque le champs «langues», cf plus loin) : ![image](/attachments/b83453f3-0d26-4cdd-ae2c-70eee490bc81) L'url est en «/spip.php?page=login&url=.%2F» J'entre alors le login «admin» (ou le mail), et le mot de passe choisi. Impossible de me connecter. ![image](/attachments/3237a5ef-886f-48a6-a209-74a4c05579ef) Je change alors le mot de passe via spip-cli, en remettant le même ! ```bash spip auteurs:changer:mdp --id=1 --mdp=XXXXXXXX ``` Cette fois, j'arrive à me connecter... mais... Je tombe sur cette page : ![image](/attachments/2f1be977-3048-43d9-b104-a06b1e8ab6dc) Url en «/spip.php?page=login&url=.%2F». Et au final, je ne suis pas connecté. Je clique sur «se connecter», j'arrive alors ici : ![image](/attachments/fa7ffc46-1c62-4384-a52d-205da350af21) Url : «/spip.php?page=login&url=%2Fecrire%2F%3Fexec%3Daccueil» On notera que le formulaire n'est pas le même que précédemment ! Ce coup-ci il y a une langue à sélectionner. Et ce coup-ci, il fonctionne. Je suis entrain de creuser pour voir si je trouve d'où viens l'erreur, mais si quelqu'un a une piste, je suis preneur (je ne connais pas vraiment les entrailles de SPIP).
Poster
Collaborator

Et j'ai oublié de préciser que j'ai ça dans le fichier tmp/log/session.log :

2021-10-05 10:35:06 2a01:cb00:f9d:d300:3aa5:a12:1db4:c81e (pid 41934) :Pub:HS: Echec ecriture fichier session

Erreur qui n'apparait plus après avoir changé le mot de passe admin via spip-cli.

Et j'ai oublié de préciser que j'ai ça dans le fichier tmp/log/session.log : ``` 2021-10-05 10:35:06 2a01:cb00:f9d:d300:3aa5:a12:1db4:c81e (pid 41934) :Pub:HS: Echec ecriture fichier session ``` Erreur qui n'apparait plus après avoir changé le mot de passe admin via spip-cli.
Poster
Collaborator

Il se pourrait qu'une partie du bug soit en raison de spip_meta «alea_ephemere» manquantes (je constate qu'elles ne sont pas là après «spip install»). Mais je ne suis pas sûr de comprendre à quoi correspondent ces metas.

Il se pourrait qu'une partie du bug soit en raison de spip_meta «alea_ephemere» manquantes (je constate qu'elles ne sont pas là après «spip install»). Mais je ne suis pas sûr de comprendre à quoi correspondent ces metas.
Poster
Collaborator

Dans tmp/log/spip/log, j'ai ça :

:Pub:!INFO: Ecriture fichier  impossible

Il semblerait qu'il y ait un nom de fichier vide.

Dans tmp/log/spip/log, j'ai ça : ``` :Pub:!INFO: Ecriture fichier impossible ``` Il semblerait qu'il y ait un nom de fichier vide.

en 4.0 (+ BDD MySQL) je ne reproduit pas le problème : avec (par exemple) la commande

spip core:installer --db-server mysql --db-login root --db-database spip_40 --admin-nom Toto --admin-login toto --admin-pass='LePasse_a_Toto' --admin-email toto@samere.info --adresse-site=http://mon-site-spip.tld

ou (syntaxe légèrmement différente pour l'option --admin-pass)

spip core:installer --db-server mysql --db-login root --db-database spip_40 --admin-nom Toto --admin-login toto --admin-pass LePasse_a_Toto --admin-email toto@samere.info --adresse-site http://mon-site-spip.tld

aucun problème pour me connecter directement avec toto/LePasse_a_Toto directement après la commande...

Conditions de l'essais :

  • fichier config/connect.php absent
  • la base spip_40 existe mais est vide
en **4.0** (+ BDD MySQL) je ne reproduit pas le problème : avec (par exemple) la commande ``` spip core:installer --db-server mysql --db-login root --db-database spip_40 --admin-nom Toto --admin-login toto --admin-pass='LePasse_a_Toto' --admin-email toto@samere.info --adresse-site=http://mon-site-spip.tld ``` ou (syntaxe légèrmement différente pour l'option --admin-pass) ``` spip core:installer --db-server mysql --db-login root --db-database spip_40 --admin-nom Toto --admin-login toto --admin-pass LePasse_a_Toto --admin-email toto@samere.info --adresse-site http://mon-site-spip.tld ``` aucun problème pour me connecter directement avec toto/LePasse_a_Toto directement après la commande... Conditions de l'essais : - fichier `config/connect.php` absent - la base `spip_40` existe mais est vide
Poster
Collaborator

D'après le code de «ecrire_session», je m'attendrais à avoir le log spip_log("fichier session ($tantpis): $alea indisponible", "session");, mais je ne le vois pas.

D'après le code de «ecrire_session», je m'attendrais à avoir le log `spip_log("fichier session ($tantpis): $alea indisponible", "session");`, mais je ne le vois pas.

Et j'ai oublié de préciser que j'ai ça dans le fichier tmp/log/session.log :

2021-10-05 10:35:06 2a01:cb00:f9d:d300:3aa5:a12:1db4:c81e (pid 41934) :Pub:HS: Echec ecriture fichier session

aucune erreur de session, aucune erreur dans spip.log non plus

> Et j'ai oublié de préciser que j'ai ça dans le fichier tmp/log/session.log : > > ``` > 2021-10-05 10:35:06 2a01:cb00:f9d:d300:3aa5:a12:1db4:c81e (pid 41934) :Pub:HS: Echec ecriture fichier session > ``` aucune erreur de session, aucune erreur dans spip.log non plus

@JohnLivingston les logs de basse priorité ne sont pas affichés par défaut, il faut configurer pour ça l'écriture de tous les logs dans mes_options avec https://www.spip.net/fr_article5543.html

@JohnLivingston les logs de basse priorité ne sont pas affichés par défaut, il faut configurer pour ça l'écriture de tous les logs dans mes_options avec https://www.spip.net/fr_article5543.html
Poster
Collaborator

Alors, une première erreur est de ne pas faire de «spip core:preparer». La doc n'est pas très claire, je la corrigerais.

En faisant un «spip core:preparer -d 2770 --auto» avant l'install, le mot de passe fonctionne. Mais, je tombe encore sur l'écran étrange:
image

Alors, une première erreur est de ne pas faire de «spip core:preparer». La doc n'est pas très claire, je la corrigerais. En faisant un «spip core:preparer -d 2770 --auto» avant l'install, le mot de passe fonctionne. Mais, je tombe encore sur l'écran étrange: ![image](/attachments/603e9ca9-e781-4a8c-95da-bd5637d61027)
Poster
Collaborator

Alors, voilà où j'en suis dans mes recherches (je teste avec SPIP 4.0, avant de retourner à 3.2).

J'installe avec :

spip dl -b 4.0
# puis j'ajoute un fichier config/mes_options.php avec define('_LOG_FILTRE_GRAVITE', 8);
spip core:preparer -d 2770 --auto
spip install --db-host localhost --db-login mutu_manual2021100504 --db-database mutu_manual2021100504 --db-pass synTmljM2Uih3jC --admin-nom Admin --admin-login admin --admin-pass totototo --admin-email john.livingston@globenet.org --adresse-site https://manual2021100504.cocots5.home.test

Ensuite, quand j'affiche le formulaire de login pour la première fois, j'ai ces logs là :

==> tmp/log/spip.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: Connexion MySQLi vers localhost, base mutu_manual2021100504, prefixe spip operationnelle
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: changement de charset sql : SET NAMES 'utf8'
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: GET spip.php?page=login&amp;url=.%2F - config/connect.php
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: include_spip balise/formulaire_login.php non trouve
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: include_spip balise/url_ecrire.php non trouve
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Calcul url page : connect vaut  ca donne :generer_url_public('identifiants', 'focus=nom_inscription') ar
gs 'focus=nom_inscription'
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: COMPIL (3.460 ms) [prive/login.html] html_8bf575b44ede8bfc88f234bd8e600097.php

==> tmp/log/autoriser.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser afficher_public porteplume 0 () ?

==> tmp/log/spip.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser afficher_public porteplume 0 () ?

==> tmp/log/autoriser.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_porteplume_afficher_public_dist(afficher_public, porteplume, 0, ) : OK

==> tmp/log/spip.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_porteplume_afficher_public_dist(afficher_public, porteplume, 0, ) : OK
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: calcul (0.640 ms) [plugins-dist/porte_plume/css/barre_outils_icones.css] hash=03b10f2704792202713576643d
18b…, lang=fr, date='2021-10-05 14:51:46', date_default=1, date_redac='2021-10-05 14:51:46', date_redac_default=1 (5999 octets)
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Creation du cache 9f7159c68b429098514ab5f034016f46.cache pour 86400 secondes

==> tmp/log/autoriser.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser afficher_public porteplume 0 () ?

==> tmp/log/spip.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser afficher_public porteplume 0 () ?

==> tmp/log/autoriser.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_porteplume_afficher_public_dist(afficher_public, porteplume, 0, ) : OK


==> tmp/log/spip.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_porteplume_afficher_public_dist(afficher_public, porteplume, 0, ) : OK
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: calcul (2.147 ms) [plugins-dist/porte_plume/javascript/porte_plume_start.js] lang=fr, hash=abee368b33e7d
dd5993206a303eea…, inserer_auto_name_texte=1, date='2021-10-05 14:51:46', date_default=1, date_redac='2021-10-05 14:51:46', date_redac_default=1 (22426 octets)
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Creation du cache 2992a7a0a35871f41aaf470781a6ecff.cache pour 604800 secondes
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: images/IMG/spip_fond_login.jpg introuvable dans le theme prive spip
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: images/IMGspip_fond_loginjpg-xx.svg introuvable dans le theme prive spip
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: images/IMGspip_fond_loginjpg-24.png introuvable dans le theme prive spip

==> tmp/log/autoriser.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser inscrireauteur 1comite https://manual2021100504.cocots5.home.test () ?

==> tmp/log/spip.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser inscrireauteur 1comite https://manual2021100504.cocots5.home.test () ?

==> tmp/log/autoriser.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_inscrireauteur_dist(inscrireauteur, 1comite, https://manual2021100504.cocots5.home.test, ) : niet

==> tmp/log/spip.log <==
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_inscrireauteur_dist(inscrireauteur, 1comite, https://manual2021100504.cocots5.home.test, ) : niet
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: calcul (24.297 ms) [prive/login] page=login, url=./, lang=fr, date='2021-10-05 14:51:46', date_default=1, date_redac='2021-10-05 14:51:46', date_redac_default=1 (6051 octets)
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: creation tmp/cache/calcul/d6/
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Creation du cache d60bc96cfda069b6aeb7781f81d48faa.cache pour 86400 secondes
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: include_spip formulaires/login/charger.php non trouve
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Calcul url page : connect vaut  ca donne :generer_url_public('spip_pass', '') args ''
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: COMPIL (0.864 ms) [prive/formulaires/login.html] html_99c87164caa0afb59aace9804c13d7cb.php
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: calcul (0.669 ms) [prive/formulaires/login] editable=' ', rester_connecte=' ', _alea_actuel=79f1aabc3b9e2957c5bef6f2.4fa7…, _alea_futur=5eacc73309475eb4a6769677.4eef…, _pipeline=affiche_formulaire_login, _autofocus=' ', _pipelines=array:2(affiche_formulaire_login=array:0, formulaire_fond=array:3), formulaire_args=pf6dnYrEQE7/GyNYD9XlSZgFWoavB…, action=/spip.php?page=login&amp;url=…, form=login, id=new, lang=fr, date='2021-10-05 14:51:46', date_default=1, date_redac='2021-10-05 14:51:46', date_redac_default=1 (1869 octets)
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: creation tmp/cache/calcul/d5/
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Creation du cache d5a5d3897b2b32b74b2f43950ade76fd.cache pour 3600 secondes
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: Connexion MySQLi vers localhost, base mutu_manual2021100504, prefixe spip operationnelle
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: changement de charset sql : SET NAMES 'utf8'
2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: GET spip.php?action=cron - config/connect.php




Puis, quand je saisie login et password :

==> tmp/log/spip.log <==

2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:debug: GET spip.php?page=informer_auteur - config/connect.php
2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:debug: Connexion MySQLi vers localhost, base mutu_manual2021100504, prefixe spip operationnelle
2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:debug: changement de charset sql : SET NAMES 'utf8'
2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: COMPIL (0.203 ms) [prive/informer_auteur.html] html_6dcafab8f1710ec0d881a4c560ac9420.php
2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: include_spip balise/logo_auteur.php non trouve
2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: COMPIL (1.121 ms) [prive/formulaires/inc-logo_auteur.html] html_c6f4724c087a8b3f35d04a13a6abb689.php
2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: calcul (0.489 ms) [prive/formulaires/inc-logo_auteur] id_auteur=1, nom=Admin, email=john.livingston@globenet.org, login=admin, pass=0f052ffac09674cf76ca02b0dcf1e…, statut=0minirezo, webmestre=oui, maj='2021-10-05 16:48:45', htpass=$1$UaEkbvzv$C8hUpWzenO1jYEkLf…, en_ligne='0000-00-00 00:00:00', alea_actuel=1234650244615c65cd05c1c5.9110…, alea_futur=1799367521615c65cd05c1e4.1472…, source=spip, date='2021-10-05 14:53:26', date_default=1, date_redac='2021-10-05 14:53:26', date_redac_default=1 (1 octets)
2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: creation tmp/cache/calcul/73/
2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: Creation du cache 739eb065fc59c2527706ebab4f66167a.cache pour 86400 secondes
2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: calcul (7.011 ms) [prive/informer_auteur] page=informer_auteur, date='2021-10-05 14:53:26', date_default=1, date_redac='2021-10-05 14:53:26', date_redac_default=1 (136 octets)
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: POST spip.php?page=login&amp;url=.%2F - config/connect.php
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: include_spip formulaires/login/verifier.php non trouve
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: Connexion MySQLi vers localhost, base mutu_manual2021100504, prefixe spip operationnelle
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: changement de charset sql : SET NAMES 'utf8'
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: connexion de admin par methode spip

==> tmp/log/autoriser.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser loger  0 (Admin) ?

==> tmp/log/spip.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser loger  0 (Admin) ?

==> tmp/log/autoriser.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser_loger_dist(loger, , 0, Admin) : OK

==> tmp/log/spip.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser_loger_dist(loger, , 0, Admin) : OK

==> tmp/log/session.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: aleas indisponibles

==> tmp/log/spip.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: aleas indisponibles

==> tmp/log/session.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: fichier session (): alea_ephemere indisponible

==> tmp/log/spip.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: fichier session (): alea_ephemere indisponible
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info:  Accès interdit /spip.php?page=login&url=.%2F

==> tmp/log/autoriser.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser chargerftp  0 () ?

==> tmp/log/spip.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser chargerftp  0 () ?

==> tmp/log/autoriser.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser_chargerftp_dist(chargerftp, , 0, ) : niet

==> tmp/log/spip.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser_chargerftp_dist(chargerftp, , 0, ) : niet
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:!INFO: Ecriture fichier  impossible

==> tmp/log/session.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:HS: Echec ecriture fichier session

==> tmp/log/spip.log <==
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:HS: Echec ecriture fichier session
2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info:  Accès interdit /spip.php?page=login&url=.%2F


Et je me retrouve sur cette page :
image
url : /spip.php?page=login&url=.%2F

Quand je clique sur «acceuil», je ne suis pas connecté.
Et même en répétant la procédure, impossible de me connecter.

Si je saisi un mot de passe invalide, j'ai bien un message qui me le dit (ce n'est donc pas une erreur d'identifiants).

Je pense que ça vient de la meta alea_ephemere qui n'a pas de valeur en base de donnée. Mais je n'ai pas encore compris pourquoi elle manque.

Alors, voilà où j'en suis dans mes recherches (je teste avec SPIP 4.0, avant de retourner à 3.2). J'installe avec : ```bash spip dl -b 4.0 # puis j'ajoute un fichier config/mes_options.php avec define('_LOG_FILTRE_GRAVITE', 8); spip core:preparer -d 2770 --auto spip install --db-host localhost --db-login mutu_manual2021100504 --db-database mutu_manual2021100504 --db-pass synTmljM2Uih3jC --admin-nom Admin --admin-login admin --admin-pass totototo --admin-email john.livingston@globenet.org --adresse-site https://manual2021100504.cocots5.home.test ``` Ensuite, quand j'affiche le formulaire de login pour la première fois, j'ai ces logs là : ```log ==> tmp/log/spip.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: Connexion MySQLi vers localhost, base mutu_manual2021100504, prefixe spip operationnelle 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: changement de charset sql : SET NAMES 'utf8' 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: GET spip.php?page=login&amp;url=.%2F - config/connect.php 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: include_spip balise/formulaire_login.php non trouve 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: include_spip balise/url_ecrire.php non trouve 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Calcul url page : connect vaut ca donne :generer_url_public('identifiants', 'focus=nom_inscription') ar gs 'focus=nom_inscription' 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: COMPIL (3.460 ms) [prive/login.html] html_8bf575b44ede8bfc88f234bd8e600097.php ==> tmp/log/autoriser.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser afficher_public porteplume 0 () ? ==> tmp/log/spip.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser afficher_public porteplume 0 () ? ==> tmp/log/autoriser.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_porteplume_afficher_public_dist(afficher_public, porteplume, 0, ) : OK ==> tmp/log/spip.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_porteplume_afficher_public_dist(afficher_public, porteplume, 0, ) : OK 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: calcul (0.640 ms) [plugins-dist/porte_plume/css/barre_outils_icones.css] hash=03b10f2704792202713576643d 18b…, lang=fr, date='2021-10-05 14:51:46', date_default=1, date_redac='2021-10-05 14:51:46', date_redac_default=1 (5999 octets) 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Creation du cache 9f7159c68b429098514ab5f034016f46.cache pour 86400 secondes ==> tmp/log/autoriser.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser afficher_public porteplume 0 () ? ==> tmp/log/spip.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser afficher_public porteplume 0 () ? ==> tmp/log/autoriser.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_porteplume_afficher_public_dist(afficher_public, porteplume, 0, ) : OK ==> tmp/log/spip.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_porteplume_afficher_public_dist(afficher_public, porteplume, 0, ) : OK 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: calcul (2.147 ms) [plugins-dist/porte_plume/javascript/porte_plume_start.js] lang=fr, hash=abee368b33e7d dd5993206a303eea…, inserer_auto_name_texte=1, date='2021-10-05 14:51:46', date_default=1, date_redac='2021-10-05 14:51:46', date_redac_default=1 (22426 octets) 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Creation du cache 2992a7a0a35871f41aaf470781a6ecff.cache pour 604800 secondes 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: images/IMG/spip_fond_login.jpg introuvable dans le theme prive spip 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: images/IMGspip_fond_loginjpg-xx.svg introuvable dans le theme prive spip 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: images/IMGspip_fond_loginjpg-24.png introuvable dans le theme prive spip ==> tmp/log/autoriser.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser inscrireauteur 1comite https://manual2021100504.cocots5.home.test () ? ==> tmp/log/spip.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser inscrireauteur 1comite https://manual2021100504.cocots5.home.test () ? ==> tmp/log/autoriser.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_inscrireauteur_dist(inscrireauteur, 1comite, https://manual2021100504.cocots5.home.test, ) : niet ==> tmp/log/spip.log <== 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: autoriser_inscrireauteur_dist(inscrireauteur, 1comite, https://manual2021100504.cocots5.home.test, ) : niet 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: calcul (24.297 ms) [prive/login] page=login, url=./, lang=fr, date='2021-10-05 14:51:46', date_default=1, date_redac='2021-10-05 14:51:46', date_redac_default=1 (6051 octets) 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: creation tmp/cache/calcul/d6/ 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Creation du cache d60bc96cfda069b6aeb7781f81d48faa.cache pour 86400 secondes 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: include_spip formulaires/login/charger.php non trouve 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Calcul url page : connect vaut ca donne :generer_url_public('spip_pass', '') args '' 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: COMPIL (0.864 ms) [prive/formulaires/login.html] html_99c87164caa0afb59aace9804c13d7cb.php 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: calcul (0.669 ms) [prive/formulaires/login] editable=' ', rester_connecte=' ', _alea_actuel=79f1aabc3b9e2957c5bef6f2.4fa7…, _alea_futur=5eacc73309475eb4a6769677.4eef…, _pipeline=affiche_formulaire_login, _autofocus=' ', _pipelines=array:2(affiche_formulaire_login=array:0, formulaire_fond=array:3), formulaire_args=pf6dnYrEQE7/GyNYD9XlSZgFWoavB…, action=/spip.php?page=login&amp;url=…, form=login, id=new, lang=fr, date='2021-10-05 14:51:46', date_default=1, date_redac='2021-10-05 14:51:46', date_redac_default=1 (1869 octets) 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: creation tmp/cache/calcul/d5/ 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:info: Creation du cache d5a5d3897b2b32b74b2f43950ade76fd.cache pour 3600 secondes 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: Connexion MySQLi vers localhost, base mutu_manual2021100504, prefixe spip operationnelle 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: changement de charset sql : SET NAMES 'utf8' 2021-10-05 14:51:46 x.x.x.x (pid 7306) :Pub:debug: GET spip.php?action=cron - config/connect.php ``` Puis, quand je saisie login et password : ```log ==> tmp/log/spip.log <== 2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:debug: GET spip.php?page=informer_auteur - config/connect.php 2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:debug: Connexion MySQLi vers localhost, base mutu_manual2021100504, prefixe spip operationnelle 2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:debug: changement de charset sql : SET NAMES 'utf8' 2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: COMPIL (0.203 ms) [prive/informer_auteur.html] html_6dcafab8f1710ec0d881a4c560ac9420.php 2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: include_spip balise/logo_auteur.php non trouve 2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: COMPIL (1.121 ms) [prive/formulaires/inc-logo_auteur.html] html_c6f4724c087a8b3f35d04a13a6abb689.php 2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: calcul (0.489 ms) [prive/formulaires/inc-logo_auteur] id_auteur=1, nom=Admin, email=john.livingston@globenet.org, login=admin, pass=0f052ffac09674cf76ca02b0dcf1e…, statut=0minirezo, webmestre=oui, maj='2021-10-05 16:48:45', htpass=$1$UaEkbvzv$C8hUpWzenO1jYEkLf…, en_ligne='0000-00-00 00:00:00', alea_actuel=1234650244615c65cd05c1c5.9110…, alea_futur=1799367521615c65cd05c1e4.1472…, source=spip, date='2021-10-05 14:53:26', date_default=1, date_redac='2021-10-05 14:53:26', date_redac_default=1 (1 octets) 2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: creation tmp/cache/calcul/73/ 2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: Creation du cache 739eb065fc59c2527706ebab4f66167a.cache pour 86400 secondes 2021-10-05 14:53:26 x.x.x.x (pid 7338) :Pub:info: calcul (7.011 ms) [prive/informer_auteur] page=informer_auteur, date='2021-10-05 14:53:26', date_default=1, date_redac='2021-10-05 14:53:26', date_redac_default=1 (136 octets) 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: POST spip.php?page=login&amp;url=.%2F - config/connect.php 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: include_spip formulaires/login/verifier.php non trouve 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: Connexion MySQLi vers localhost, base mutu_manual2021100504, prefixe spip operationnelle 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: changement de charset sql : SET NAMES 'utf8' 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: connexion de admin par methode spip ==> tmp/log/autoriser.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser loger 0 (Admin) ? ==> tmp/log/spip.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser loger 0 (Admin) ? ==> tmp/log/autoriser.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser_loger_dist(loger, , 0, Admin) : OK ==> tmp/log/spip.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser_loger_dist(loger, , 0, Admin) : OK ==> tmp/log/session.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: aleas indisponibles ==> tmp/log/spip.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: aleas indisponibles ==> tmp/log/session.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: fichier session (): alea_ephemere indisponible ==> tmp/log/spip.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: fichier session (): alea_ephemere indisponible 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: Accès interdit /spip.php?page=login&url=.%2F ==> tmp/log/autoriser.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser chargerftp 0 () ? ==> tmp/log/spip.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser chargerftp 0 () ? ==> tmp/log/autoriser.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser_chargerftp_dist(chargerftp, , 0, ) : niet ==> tmp/log/spip.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:debug: autoriser_chargerftp_dist(chargerftp, , 0, ) : niet 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:!INFO: Ecriture fichier impossible ==> tmp/log/session.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:HS: Echec ecriture fichier session ==> tmp/log/spip.log <== 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:HS: Echec ecriture fichier session 2021-10-05 14:53:30 x.x.x.x (pid 7338) :Pub:info: Accès interdit /spip.php?page=login&url=.%2F ``` Et je me retrouve sur cette page : ![image](/attachments/9f8659a5-bef1-40d8-824f-3f262e4f15da) url : /spip.php?page=login&url=.%2F Quand je clique sur «acceuil», je ne suis pas connecté. Et même en répétant la procédure, impossible de me connecter. Si je saisi un mot de passe invalide, j'ai bien un message qui me le dit (ce n'est donc pas une erreur d'identifiants). Je pense que ça vient de la meta alea_ephemere qui n'a pas de valeur en base de donnée. Mais je n'ai pas encore compris pourquoi elle manque.
Poster
Collaborator

Si je me rend manuellement à la page /ecrire, alors le formulaire marche.

Le responsable semble être ce code dans ecrire/inc/meta.php :

	// renouveller l'alea general si trop vieux ou sur demande explicite
	if ((test_espace_prive() || isset($_GET['renouvelle_alea']))
		and $GLOBALS[$table]
		and (time() > _RENOUVELLE_ALEA + (isset($GLOBALS['meta']['alea_ephemere_date']) ? $GLOBALS['meta']['alea_ephemere_date'] : 0))
	) {
		// si on n'a pas l'acces en ecriture sur le cache,
		// ne pas renouveller l'alea sinon le cache devient faux
		if (supprimer_fichier($cache)) {
			include_spip('inc/acces');
			renouvelle_alea();
			$new = false;
		} else {
			spip_log("impossible d'ecrire dans " . $cache);
		}
	}

Si je comprend bien, le bouton «se connecter» en bas de la page d'accueil ne redirige pas vers une page qui est considérée comme «espace privé».

Or, spip-cli n'a jamais appelé le «renouvelle_alea()». J'imagine que celui-ci est appelé indirectement lors d'une installation classique.

Quelqu'un a une idée pour fixer ça ?

Si je me rend manuellement à la page /ecrire, alors le formulaire marche. Le responsable semble être ce code dans ecrire/inc/meta.php : ```php // renouveller l'alea general si trop vieux ou sur demande explicite if ((test_espace_prive() || isset($_GET['renouvelle_alea'])) and $GLOBALS[$table] and (time() > _RENOUVELLE_ALEA + (isset($GLOBALS['meta']['alea_ephemere_date']) ? $GLOBALS['meta']['alea_ephemere_date'] : 0)) ) { // si on n'a pas l'acces en ecriture sur le cache, // ne pas renouveller l'alea sinon le cache devient faux if (supprimer_fichier($cache)) { include_spip('inc/acces'); renouvelle_alea(); $new = false; } else { spip_log("impossible d'ecrire dans " . $cache); } } ``` Si je comprend bien, le bouton «se connecter» en bas de la page d'accueil ne redirige pas vers une page qui est considérée comme «espace privé». Or, spip-cli n'a jamais appelé le «renouvelle_alea()». J'imagine que celui-ci est appelé indirectement lors d'une installation classique. Quelqu'un a une idée pour fixer ça ?
Poster
Collaborator

Si je lance, après l'installation, spip php:eval "include_spip('inc/acces');renouvelle_alea();", alors tout marche.

Peut être ajouter cet appel dans CoreInstaller ?

Si je lance, après l'installation, `spip php:eval "include_spip('inc/acces');renouvelle_alea();"`, alors tout marche. Peut être ajouter cet appel dans CoreInstaller ?
Poster
Collaborator

Suite aux discussions sur IRC, on s'apperçoit qu'il manque un appel à renouvelle_alea() dans spip-cli.

Je vais ajouter cet appel dans core:installer.

Cependant, on se demande s'il ne manque pas d'autres initialisations qui auraient été accidentellement bypassée.

Ce matin, j'avais fait un diff des meta entre une installation normale et une installation via spip-cli.

NB: je ne me souviens plus des conditions exactes, il se peut qu'elles ne correspondent pas tout à fait aux derniers tests ci-dessus. Et ça doit être du spip 3.2.

Voilà les diff que je constate :

  • adresse_site qui était à 'http://'. Corrigé avec l'option --adresse-site ajoutée ce matin (cf PR #30)
  • les 3 alea_ephemere* (c'est le bug en question)
  • info_maj_spip manque avec spip-cli
  • langue_utilisees et langue_site ont la colonne imp à «non» au lieu de «oui». Je ne sais pas ce que c'est cette colonne.
  • optimiser_table est absent
  • sha_256_only est absent
  • tour_quota_cache est absent
Suite aux discussions sur IRC, on s'apperçoit qu'il manque un appel à renouvelle_alea() dans spip-cli. Je vais ajouter cet appel dans core:installer. Cependant, on se demande s'il ne manque pas d'autres initialisations qui auraient été accidentellement bypassée. Ce matin, j'avais fait un diff des meta entre une installation normale et une installation via spip-cli. NB: je ne me souviens plus des conditions exactes, il se peut qu'elles ne correspondent pas tout à fait aux derniers tests ci-dessus. Et ça doit être du spip 3.2. Voilà les diff que je constate : - adresse_site qui était à 'http://'. Corrigé avec l'option --adresse-site ajoutée ce matin (cf PR #30) - les 3 alea_ephemere* (c'est le bug en question) - info_maj_spip manque avec spip-cli - langue_utilisees et langue_site ont la colonne imp à «non» au lieu de «oui». Je ne sais pas ce que c'est cette colonne. - optimiser_table est absent - sha_256_only est absent - tour_quota_cache est absent

Normalement, enfin théoriquement, les commandes CLI devraient faire le moins d'actions elles-même et appeler des fonctions déjà présentes dans SPIP.

Donc la question c'est : pourquoi toutes ces choses sont définies dans une installation classique, et pourquoi faudrait-il refaire tout ça "manuellement" dans le CLI. Cela devrait être juste l'appelle d'une ou deux fonctions appelées durant l'install, qui initialisent des choses.

Normalement, enfin théoriquement, les commandes CLI devraient faire le moins d'actions elles-même et appeler des fonctions déjà présentes dans SPIP. Donc la question c'est : pourquoi toutes ces choses sont définies dans une installation classique, et pourquoi faudrait-il refaire tout ça "manuellement" dans le CLI. Cela devrait être juste l'appelle d'une ou deux fonctions appelées durant l'install, qui initialisent des choses.

(Et du coup merci pour ces recherches : il faudrait vraiment en profiter pour rendre plus propre et solide l'installation de SPIP.)

(Et du coup merci pour ces recherches : il faudrait vraiment en profiter pour rendre plus propre et solide l'installation de SPIP.)
Poster
Collaborator

Normalement, enfin théoriquement, les commandes CLI devraient faire le moins d'actions elles-même et appeler des fonctions déjà présentes dans SPIP.

Donc la question c'est : pourquoi toutes ces choses sont définies dans une installation classique, et pourquoi faudrait-il refaire tout ça "manuellement" dans le CLI. Cela devrait être juste l'appelle d'une ou deux fonctions appelées durant l'install, qui initialisent des choses.

Je suis assez d'accord avec ce que tu dis.
Mais il semblerait que le code que j'ai cité plus haut, ne soit appelé que quand on accède à /ecrire via le browser (c'est du code qui lit $_GET...). Ce qui est l'étape normale quand on installe autrement que par spip-cli.

Il est probable que l'appel à renouvelle_alea soit mal placé dans SPIP. Ou qu'il faille en ajouter un dans une des phases de l'installateur. Mais je connais très peu SPIP, je n'ai pas d'avis sur la question.

En attendant, je vais faire une PR qui ajoute cet appel. Pour ne pas avoir à attendre des release de SPIP. S'il s'avère que ce n'est pas la bonne méthode, on pourra toujours revenir en arrière. Appeler 2 fois de suite cette fonction ne doit pas avoir d'impact.

> Normalement, enfin théoriquement, les commandes CLI devraient faire le moins d'actions elles-même et appeler des fonctions déjà présentes dans SPIP. > > Donc la question c'est : pourquoi toutes ces choses sont définies dans une installation classique, et pourquoi faudrait-il refaire tout ça "manuellement" dans le CLI. Cela devrait être juste l'appelle d'une ou deux fonctions appelées durant l'install, qui initialisent des choses. Je suis assez d'accord avec ce que tu dis. Mais il semblerait que le code que j'ai cité plus haut, ne soit appelé que quand on accède à /ecrire via le browser (c'est du code qui lit $_GET...). Ce qui est l'étape normale quand on installe autrement que par spip-cli. Il est probable que l'appel à renouvelle_alea soit mal placé dans SPIP. Ou qu'il faille en ajouter un dans une des phases de l'installateur. Mais je connais très peu SPIP, je n'ai pas d'avis sur la question. En attendant, je vais faire une PR qui ajoute cet appel. Pour ne pas avoir à attendre des release de SPIP. S'il s'avère que ce n'est pas la bonne méthode, on pourra toujours revenir en arrière. Appeler 2 fois de suite cette fonction ne doit pas avoir d'impact.

Donc la question c'est : pourquoi toutes ces choses sont définies dans une installation classique, et pourquoi faudrait-il refaire tout ça "manuellement" dans le CLI.

d'accord avec ça mais en attendant l'ajout du paramètre adresse_site et la génération des alea_ephemere semblent nécessaire pour qu'on puisse utiliser spip-cli correctement...

=> je suis d'avis de "patcher" plutôt que de laisser un truc qui rend l'utilisation de spip-cli "problématique" pour une installation

> Donc la question c'est : pourquoi toutes ces choses sont définies dans une installation classique, et pourquoi faudrait-il refaire tout ça "manuellement" dans le CLI. d'accord avec ça mais en attendant l'ajout du paramètre `adresse_site` et la génération des alea_ephemere semblent nécessaire pour qu'on puisse utiliser spip-cli correctement... => je suis d'avis de "patcher" plutôt que de laisser un truc qui rend l'utilisation de spip-cli "problématique" pour une installation
Poster
Collaborator

PR ici : https://git.spip.net/spip-contrib-outils/spip-cli/pulls/32

Je vais aussi faire une modif de doc pour rendre plus clair l'histoire du core:prepare.
edit: done.

PR ici : https://git.spip.net/spip-contrib-outils/spip-cli/pulls/32 Je vais aussi faire une modif de doc pour rendre plus clair l'histoire du core:prepare. *edit*: done.
Poster
Collaborator

PR mergée.

PR mergée.
JohnLivingston closed this issue 2 months ago
Sign in to join this conversation.
No Milestone
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.