Configurer l’URL de l’application pour qu’elle corresponde au DNS

More
2 weeks 2 days ago #228307 by lechesnayrocquencourt
Please help us help you and fill where relevant:
Your LimeSurvey version: Version 5.3.12+220502
Own server or LimeSurvey hosting: Autohébergé derrière un pare-feu
Survey theme/template: Fruity
==================
Bonjour à toutes et à tous,

J’ai installé une instance Limesurvey sur une Debian 11 / Apache 2.5.25 / MariaDB 10.5.15.

Le serveur est tout neuf, et l’installeur n’a remonté aucune erreur.

Ceci étant, les liens qui apparaissent dans les invitations à répondre par mail sont forgés sur la base de l’adresse IP et non pas du DNS du serveur.
Le serveur est derrière un reverse proxy qui est configuré comme d’habitude, le problème semble vraiment venir de Limesurvey.

Est-il possible de modifier la configuration pour indiquer l’adresse DNS du serveur quelque part?

A toutes fins utiles, voici la conf Apache qui tourne sur le serveur, rien d’exotique…
<VirtualHost *:80>
     ServerAdmin xxxxxxx@xxxxx.fr
     DocumentRoot /var/www/html/limesurvey
     ServerName enquetes.lechesnay-rocquencourt.fr
 
     <Directory /var/www/html/limesurvey>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>
 
     ErrorLog ${APACHE_LOG_DIR}/enquetes.lechesnay-rocquencourt.fr_error.log
     CustomLog ${APACHE_LOG_DIR}/enquetes.lechesnay-rocquencourt.fr_access.log combined
 
</VirtualHost>


Merci de votre aide qui sera la bienvenue, je ne sais plus où chercher…
PAH
 

Please Log in to join the conversation.

More
2 weeks 2 days ago #228311 by DenisChenu
Par défaut : on prend $_SERVER
Tu passe par un proxy pour PHP ?

Donc: manual.limesurvey.org/Optional_settings#Advanced_url_settings
publicurl

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The following user(s) said Thank You: lechesnayrocquencourt

Please Log in to join the conversation.

More
2 weeks 2 days ago #228313 by lechesnayrocquencourt
Bonjour,

j’ai résolu le problème.
Pour mémoire, il convient de renseigner le nom du serveur dans le fichier application/config/config.php.

Le nom du serveur se déclare en ajoutant la directive publicurl dans la configuration suivante:
'config'=>array(
'debug'=>0,
'debugsql'=>0, // Set this to 1 to enanble sql logging, only active when debug = 2
[u][b]'publicurl'=>'https://enquetes.lechesnay-rocquencourt.fr',[/b][/u]
// Mysql database engine (INNODB|MYISAM):
'mysqlEngine' => 'MYISAM'
 
, // Update default LimeSurvey config here
)

Il est dommage que la documentation ne soit pas plus explicite sur ce sujet, j’ai du fouiller avant de trouver un commencement de réponse dans la documentation:
manual.limesurvey.org/Optional_settings

Pour le référencement, ce problème concerne les sujets suivants:
  • Limesurvey DNS;
  • Limesurvey server URL;
  • Limesurvey webapp path;
  • Limesurvey FQDN.

Please Log in to join the conversation.

More
2 weeks 2 days ago - 2 weeks 2 days ago #228324 by lechesnayrocquencourt
Il semble que le problème persiste pour l’accès à l’administration.

L’URL est systématiquement remplacée à la volée par l’IP du serveur quand je tente d’accéder à l’interface d’administration.


J’ai bien configuré la variable homeurl dans le fichier de conf:
'homeurl'=>'https://enquetes.lechesnay-rocquencourt.fr/admin',


Mais il semble que ça ne suffise pas (et c’est frustrant )
Auriez-vous une suggestion?
Last edit: 2 weeks 2 days ago by lechesnayrocquencourt.

Please Log in to join the conversation.

More
2 weeks 1 day ago #228332 by DenisChenu
Alors : cela ne vient CLAIREMENT pas de LimeSurvey.
Ca serait bien que tu vérife ta configuration.
Parceque il FAUT que ca passe en dehors des fichiers PHP aussi (tente avec un lien image)

mais bon, on a une solution de contournement : manual.limesurvey.org/Optional_settings#Request_settings ( // Enforce a certain URL base )

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The following user(s) said Thank You: lechesnayrocquencourt

Please Log in to join the conversation.

More
2 weeks 1 day ago #228337 by lechesnayrocquencourt
Bonjour et merci pour cette réponse,

il semble que PHP n’arrive pas à récupérer le DNS sur lequel le serveur est interrogé. Je cherche une solution de ce côté mais la reconfiguration de YII semble une piste intéressante aussi.
Ceci étant, je n’arrive pas trouver dans quel fichier je dois intégrer cette ligne de code pour reconfigurer l’URL:
// Enforce a certain URL base 
        'request' => array(
            'hostInfo' => 'http://www.example.org/'  
            ),

Tu as une recommendation?

Merci

Please Log in to join the conversation.

More
2 weeks 1 day ago #228341 by DenisChenu
Heu … bien c'est écrit …

To modify the configuration settings of the installation, you have to edit the optional settings. They can be found in the /application/config/config-defaults.php, which is located in the LimeSurvey root directory.

Sur la même page quoi en fait … au début, dans l'introduction.

On a un manuel qui reste améliorable , mais qui peut être lu …

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The following user(s) said Thank You: lechesnayrocquencourt

Please Log in to join the conversation.

More
2 weeks 1 day ago #228344 by lechesnayrocquencourt
Bonjour,

j’ai bien lu cette partie de la documentation (qui est pas si mal que ça ) ainsi que le contenu de la configuration par défaut.

Ceci étant, le fichier /application/config/config-defaults.php ne contient ni la directive hostInfo, ni le tableau request.
Les seuls endroits où j’ai trouvé de telles références, c’est dans le code natif de la librairie Yii et je ne suis pas certain que ce soit pertinent d’aller y toucher.

J’ai bien tenté de placer la directive dans le fichier config.php mais le framework Yii m’indique que cette propriété est en lecture seule:
Internal Server ErrorProperty "LSYii_Application.request" is read only.An internal error occurred while the Web server was processing your request. Please contact the webmaster to report this problem.Thank you.

D’où ma question sur le bon endroit pour intégrer cette propriété.

J’ai également tenté d’intervenir au niveau d’Apache2 en forçant bloquant l’usage du nom canonique mais sans succès (UseCanonicalName Off).

Je ne comprend toujours pas pourquoi la double surcharge de publicurl et homeurl ne suffisent pas à régler le problème… Et surtout pourquoi ça fonctionne pour le premier et pas le second.

Je vais continuer à tenter de résoudre le problème au niveau de PHP mais je reste preneur de tout suggestion pour traiter le problème dans Limesurvey.

Merci :)
 

Please Log in to join the conversation.

More
2 weeks 1 day ago #228347 by DenisChenu
Je sais plus quoi répondre …
je laisse tomber : pas d'accès à ton serveur , je peux as faire plus …
 

Pour apache : le forum de ton hébergeur peut être ?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
Attachments:

Please Log in to join the conversation.

More
2 weeks 1 day ago #228363 by lechesnayrocquencourt
J’ai fini par trouver à coup d’ACK…


Le fichier à modifier est le suivant:
application/config/internal.php

C’est dans ce seul fichier que peut être ajoutée la directive hostInfo.
       'request' => array(
            'class' => 'LSHttpRequest',
            'enableCsrfValidation' => true, // CSRF protection
            'enableCookieValidation' => false, // Enable to activate cookie protection
            'hostInfo' => 'https://MONDOMAINE.TLD
            'noCsrfValidationParams' => array(),
 
 

Merci de l’aide. Je vais tenter de rendre la documentation un peu plus explicite dès que j’ai un peu de temps.

Please Log in to join the conversation.

More
2 weeks 1 day ago #228366 by DenisChenu

J’ai fini par trouver à coup d’ACK…


Le fichier à modifier est le suivant:
application/config/internal.php

C’est dans ce seul fichier que peut être ajoutée la directive hostInfo.
C'est FAUX !

Merci de l’aide. Je vais tenter de rendre la documentation un peu plus explicite dès que j’ai un peu de temps.

 
MERCI de ne pas modifier quelque-chose qui fonctionne !

ne pas corriger quelque-chose qui est testé et validé depuis des années comme cela.

Le whistle moqueur est FRANCHEMENT de trop !
Je sais ce que j’écris !

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.

Please Log in to join the conversation.

More
2 weeks 1 day ago #228369 by lechesnayrocquencourt
Il n’y a rien de moqueur dans l’usage de cet emote, juste le constat que ça peut prendre du temps avant que je fasse la modification au vu de mon agenda… Désolé pour cette méprise.

En outre, j’ai passé les dernière 48 heures à tenter de trouver un moyen de faire fonctionner Limesurvey dans un environnement que je maîtrise de bout-en-bout: pare-feu, IP sortante, OS, DB, PHP…

Très humblement, il me semble qu’automatiser totalement la fabrication de la chaîne URL par le code peut induire des erreurs dans des environnements qui sortent de l’ordinaire, notamment dans le cas d’une installation derrière un reverse proxy.

Ne pas donner la possibilité à l’utilisateur de surcharger l’URL de l’application en 2 clics dans l’interface, comme cela est souvent permis par de nombreux autres outils, libres ou non, est pénible.

Je m’abstient de toucher à la documentation. Mais je persiste à penser qu’elle pourrait-être plus claire sur la manière dont les modifications de configurations doivent être traitées. La preuve en est, je n’ai pas trouvé comment adresser ce problème sans assistance.

Please Log in to join the conversation.

More
2 weeks 1 day ago #228375 by DenisChenu

Il n’y a rien de moqueur dans l’usage de cet emote, juste le constat que ça peut prendre du temps avant que je fasse la modification au vu de mon agenda… Désolé pour cette méprise.
OK, désolé de m'avoir mal pris.

Très humblement, il me semble qu’automatiser totalement la fabrication de la chaîne URL par le code peut induire des erreurs dans des environnements qui sortent de l’ordinaire, notamment dans le cas d’une installation derrière un reverse proxy.
Mais : on fait ce que l'on peux , on ne force rien : A la base on n'utilise pas le nom d'hôtes. En local je peux utiliser l'adresse IP ou le nom localhost sans problème (ou le servername de mon nginx) : j'arrive au même résultat

Tu peux regarder le code de Yii : github.com/yiisoft/yii/blob/master/frame...HttpRequest.php#L343
Ca ne fonctionne pas dans TA situation, mais ca fonctione dans 99% des cas.

A la base : on ne fait aucune redirection, il y a que le lien admin/admin.php qui fait une redirection SANS forcer l'hote.
C'est ta configuration qui force l’hôte AVANT Yii/Limesurvey : on n'y peut rien.

Si tu regarde github.com/LimeSurvey/LimeSurvey/blob/54.../admin/index.php#L26
Tu vois bien que de notre coté on ne force rien …

Ne pas donner la possibilité à l’utilisateur de surcharger l’URL de l’application en 2 clics dans l’interface, comme cela est souvent permis par de nombreux autres outils, libres ou non, est pénible.
Bon, si … au cas ou : on permet de le faire de 2 façon …
Pour info : en général : je remonte à mon client qu'il à un problème de config et je corrige via nos moyens.
une fois corrigé par mon client : je supprime mes solutions (j'ai eu un proxy en http derriére une connexion en https, un peu chaint à gérer pôur les cookies).

Je m’abstient de toucher à la documentation. Mais je persiste à penser qu’elle pourrait-être plus claire sur la manière dont les modifications de configurations doivent être traitées. La preuve en est, je n’ai pas trouvé comment adresser ce problème sans assistance.
 
On apprécies avoir des contributions mais que quand elle sont valable.
Proposer de modifier un fichier qui sera remplacé lors de la prochaine mise à jour alors que la méthode indiquée actuellement fonctionne est une erreur.

Encore une fois : je pense qu'il y a un problème sur ton installation de apache/php. Et que on est pas sur un forum apache/php.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.

Please Log in to join the conversation.

Moderators: Nickko

Start now!

Just create your account and start using Limesurvey today.

Register now