- Posts: 9
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Configurer l’URL de l’application pour qu’elle corresponde au DNS
- lechesnayrocquencourt
- Topic Author
- Offline
- New Member
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.
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13648
- Thank you received: 2491
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.
Please Log in to join the conversation.
- lechesnayrocquencourt
- Topic Author
- Offline
- New Member
- Posts: 9
- Thank you received: 0
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.
- lechesnayrocquencourt
- Topic Author
- Offline
- New Member
- Posts: 9
- Thank you received: 0
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?
Please Log in to join the conversation.
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13648
- Thank you received: 2491
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.
Please Log in to join the conversation.
- lechesnayrocquencourt
- Topic Author
- Offline
- New Member
- Posts: 9
- Thank you received: 0
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.
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13648
- Thank you received: 2491
Sur la même page quoi en fait … au début, dans l'introduction.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.
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.
Please Log in to join the conversation.
- lechesnayrocquencourt
- Topic Author
- Offline
- New Member
- Posts: 9
- Thank you received: 0
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.
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13648
- Thank you received: 2491
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.
Please Log in to join the conversation.
- lechesnayrocquencourt
- Topic Author
- Offline
- New Member
- Posts: 9
- Thank you received: 0
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.
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13648
- Thank you received: 2491
C'est FAUX !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.
MERCI de ne pas modifier quelque-chose qui fonctionne !Merci de l’aide. Je vais tenter de rendre la documentation un peu plus explicite dès que j’ai un peu de temps.
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.
- lechesnayrocquencourt
- Topic Author
- Offline
- New Member
- Posts: 9
- Thank you received: 0
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.