Installation spip 4.0.7 serveur SSL page blanche

Bonjour,

Je cherche à installer un Spip neuf (4.0.7) sur un serveur (Huma-Num) en SSL (+ utf8mb4…) mais dés l’envoi de la 1ère étape (connexion au serveur de la BDD), j’obtiens une page vide…
J’ai essayé par copie d’un site via sftp, via spip_loader… en activant le .htaccess et en y ajoutant les instructions pour forcer l’adresse en https… en ajoutant dans mes_options.php $_SERVER['HTTPS'] = 'on'; $_SERVER['SERVER_PORT'] = '443';
Rien, toujours cette page vide sur l’envoi de la 1ère étape…

Auparavant j’avais voulu transférer un site déjà développé en local mais… besoin de convertir la base de utf8mb3 en utf8mb4 et… erreurs. D’où l’install d’un site neuf…

Quelqu’un aurait-il une idée (Huma-Num démuni…) ?
Merci et bonne soirée.

Hello

J’ai un site SPIP 4.0.7. sur Huma-Num en SSL
Cela fonctionne très bien.

Pourquoi tu utilises cet encodage au lieu d’un utf8 classique ?

Essaie d’activer l’affichage des erreurs pour voir pourquoi tu obtiens une page blanche

···

Le 28/06/2022 à 20:38, chromo2018 via Discuter de SPIP a écrit :

chromo2018
Juin 28

Bonjour,

Je cherche à installer un Spip neuf (4.0.7) sur un serveur (Huma-Num) en SSL (+ utf8mb4…) mais dés l’envoi de la 1ère étape (connexion au serveur de la BDD), j’obtiens une page vide…
J’ai essayé par copie d’un site via sftp, via spip_loader… en activant le .htaccess et en y ajoutant les instructions pour forcer l’adresse en https… en ajoutant dans mes_options.php $_SERVER['HTTPS'] = 'on'; $_SERVER['SERVER_PORT'] = '443';
Rien, toujours cette page vide sur l’envoi de la 1ère étape…

Auparavant j’avais voulu transférer un site déjà développé en local mais… besoin de convertir la base de utf8mb3 en utf8mb4 et… erreurs. D’où l’install d’un site neuf…

Quelqu’un aurait-il une idée (Huma-Num démuni…) ?
Merci et bonne soirée.


Voir le sujet ou répondre à ce courriel pour répondre.

Pour vous désabonner de ces courriels, cliquez ici.

-- 
_________________________________________

https://www.erational.org

Si tu veux utf8mb4, il faut que tu passe en SPIP 4.1.2 et que tu mettes dans ton config/mes_options.php :

<?php
if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

// Pour permettre les index de plus de 1000 octets (2 tables du core concernées, dont spip_metas
define('_MYSQL_ENGINE', 'InnoDB');

// Facultatif si tu veux garder la compat des plugins avec SPIP 4.0 ; supprimer le dépôt et le remettre pour tenir compte de cette modification
define('_DEV_VERSION_SPIP_COMPAT',"4.0.0");
1 « J'aime »

Hello erational,
Alors l’utf8mb4 (utf8mb4_0900_ai_ci) est maintenant requis par Huma-Num…

dans le log spip j’ai ces 2 lignes :

.......... (pid 29696) :Pri:!INFO: spip_connect: fichier de connexion '' non trouve
..........(pid 29696) :Pri:HS: spip_connect: echec connexion ou serveur 0 mal defini dans ''.

??

Bonjour RealET,
Merci bien pour tes précieuses indications…
Mais Spip 4.1.2 ? Donc cela signifie que maintenant, pour mettre un site sur Huma-Num (j’en ai mis déjà plusieurs…) il faut impérativement un spip 4.1.2 ?? Donc faire une maj de mon site local… et sans doute l’adapter à la nouvelle version… ?
wow…

  • Soit être en utf8 (mb3) et SPIP 4.0 passera aussi bien que SPIP 4.1
  • Soit être en utf8mb4 et avoir SPIP 4.1.2 + la config pour demander InnoDB comme format de tables (ou patcher SPIP 4.0 pour forcer le format innodb à la place de MyISAM)

Merci pour la réponse et désolé du délais de remerciement ))

Mon problème reste au point mort. J’ai essayé 2 primo-installations, via spip-loader, l’une de spip 4.0.7, l’autre de spip 4.1.2. Pour les deux, spip se monte puis bloque lors de la config et la connexion à la BDD.

Alors question : est-ce en raison du SSL et dois-je ajouter un réglage (.htaccess…?) avant de lancer la config du site (donc copie d’un spip neuf au lieu de passer par spip-loader, modif puis lancement de l’install habituelle) ?

Ou est-ce que c’est décidément coté hébergeur que réside le problème ? Ou longueur de mdp tout bêtement par ex…(apparemment ça s’est déjà vu ailleurs…) ?

Merci !

Bonjour,

Voici, à toutes fins utiles, le fin mot de l’installation de Spip avec les ‹ particularités › et aussi nouvelles exigences d’Huma-Num :
→ d’abord installer un Spip 4.1.2…
→ modifier le fichier ecrire/req/mysql.php : demander à un agent Huma-Num… Il s’agit d’ajouts à la fonction function req_mysql_dist entre les l. 47 et 100.

Et puis donc en suivant les instruction de RealET, ajout dans config/mes_options.php :

<?php
if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

// Pour permettre les index de plus de 1000 octets (2 tables du core concernées, dont spip_metas
define('_MYSQL_ENGINE', 'InnoDB');

// Facultatif si tu veux garder la compat des plugins avec SPIP 4.0 ; supprimer le dépôt et le remettre pour tenir compte de cette modification
define('_DEV_VERSION_SPIP_COMPAT',"4.0.0");

A partir de là, l’installation/configuration du Spip se passe normalement et les plugins depuis spip 4.0.0 sont installables.

Reste éventuellement, comme pour moi, à mettre à jours le Spip 4.0.7 local avec une conversion en utf8mb4_0900_ai_ci de la BDD…

Merci de vos conseils.

1 « J'aime »

Bonjour

Pourrais-tu nous donner les modifications effectuées sur le fichier mysql.php ?
Afin que cela puisse servir à d’autres personnens et éventuellement l’intégrer dans le noyau de SPIP si c’est qqchose de générique.

Merci

Bonjour,

voici le patch proposé par HumaNum. Le souci est qu’il faut le refaire à chaque màj de Spip. S’il était possible de l’inclure dans le core.

Cordialement,

Simon


– Dans le fichier ecrire/req/mysql.php

ajouter ligne 51

    $link = mysqli_init();
    $link->options(MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, false);
    mysqli_ssl_set($link, NULL,NULL,"/shared/hncert/__db_huma-num_fr_interm_root.cer", '/dev/null',  NULL);

dans la boucle try suivante (ligne 65, remplacer sur la dernière entrée
$link = @mysqli_connect($host, $login, $pass);
par
mysqli_real_connect($link,$host, $login, $pass);

Bonjour Simon @Sisimon

peux-tu ouvrir un ticket et encore mieux, proposer une PR sur spip / spip · GitLab

merci :slight_smile:

Bonjour,
j’aimerais bien, mais là je ne maîtrise pas les codes… Je ne connais rien à GitLab, et où déposer un ticket ? J’avais essayé il y a un an à

mais sans retour.
Cordialement,
Simon

Je ne connais rien à GitLab, et où déposer un ticket ?

**Ouf, il est inutile de maitriser les codes pour contribuer à SPIP ** :slight_smile:
la procédure est simple, il faut juste s’inscrire sur https://git.spip.net (bouton S’inscrire à droite en haut)
puis te rendre sur le répertoire où tu souhaites signaler un bug ou proposer une amélioration et en colonne de gauche aller sur Tickets → Bouton « Nouveau ticket » que tu remplis et voila c’est tout ! :stuck_out_tongue:

Si tu veux aller plus loin et que tu as déjà une idée du code à modifier, tu créés une nouvelle branche (ou bifurcation) contenant le numéro de ton ticket par exemple issue_5930_serveur_SSL, tu modifies le fichier et tu proposes une PR (Nouvelle requête de fusion) qui sera étudiée par l’équipe en charge du projet avant de la fusionner !

Juste un peu de détermination à contribuer à un projet libre et ça va le faire :slight_smile:

Cela me semble donnée un chemin vers un SSL spécifique pour le site en question et donc il faut le passer en variable quelques part, je me trompe ?

Si je comprends bien le patch proposé par ton hébergeur, le problème vient du fait qu’il utilise ssl pour la connexion au serveur SQL, et que le certificat en question est autosigné cf l’option MYSQLI_OPT_SSL_VERIFY_SERVER_CERT.

Ça impliquerait donc d’ajouter deux options à SPIP : la première pour prendre en charge la connexion SSL à SQL, et la seconde pour spécifier le chemin du certificat.

Perso, je n’ai pas jamais utilisé de connexion SSL à SQL, il faudrait donc valider tout ça avant de lancer le chantier.

PS : l’hébergeur chez qui je suis tech n’utilise pas SSL pour la connexion à SQL, on n’en a pas besoin puisque notre SQL n’est accessible qu’en interne. Sais-tu pourquoi ton hébergeur en a besoin ? Est-ce parce que leurs serveurs SQL sont accessibles publiquement depuis l’extérieur de leur infra web ?

Bonjour,
en effet, il y aurait deux paramètres.
Je ne maîtrise par l’infrastructure d’HumaNum, qui est une structure support de la recherche publique en sciences sociales… Ils ont installé un serveur mySQL8, qui est configuré ainsi. La justification est :
«Le CNRS demande à ce que tout soit chiffré en transport, donc les sites et les bases.»
Cependant, il ne serait pas inutile de prévoir un support SSL pour Spip.
Est-il utile d’aller le signaler sur GitHub comme le propose @touti ?

Oui c’est utile, mais pas sur github et bien sur spip / spip · GitLab :slight_smile: