- Posts: 5
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Limesurvey in virtual folder - css and js ok but any form action URL is wrong
- jaybeede
- Topic Author
- Offline
- New Member
Less
More
4 years 6 months ago #189853
by jaybeede
Limesurvey in virtual folder - css and js ok but any form action URL is wrong was created by jaybeede
Hi,
I'm trying to install limesurvey in a Docker container. For that I'm trying to create a limesurvey Docker image from alpine 3.7 with nginx. So you have 3 containers involved here:
- (container A) : myqsl container official image
- (container B\) : limesurvey container (image I have built) with php7 and nginx as web server. This container is linked to mysql container.
- (container C) : web proxy container nginx official image. This container is linked with several other applications (front-ends) and actually provides successfully access to theses applications, from one single domain. This container acts as a reverse proxy (HTTPS till there) to some sub-paths. So you actually have something like :
- \https://my-domain.com/ -> blog
- \https://my-domain.com/racktables/ -> racktables applications
- \https://my-domain.com/app1/ -> app 1
- \https://my-domain.com/app2/ -> app 2
- etc.
What I'm trying to do is to add \https://my-domain.com/limesurvey/ for the limesurvey application here.
So I have added the link to this new limesurvey container and edited the entry in the nginx reverse proxy container configuration (see configuration after).
In the limesurvey container, I have temporary edited the file /var/www/html/limesurvey/application/config/config-defaults.php for the installation process in order to get the css and js working.
The problem was that any form action url was wrongly recirecting to \https://my-domain.com/index.php?r=installer/welcome (for exemple) instead of \https://my-domain.com/limesurvey/index.php?r=installer/welcome.
Since it was only the install process that I will automate in the future, it didn't matter for me to manually edit the HTML (each page) with the web browser devtools.
Once installed, I have
- changed back the changes done in /var/www/html/limesurvey/application/config/config-defaults.php
- edited the URL related settings in the newly created file /var/www/html/limesurvey/application/config/config.php (see after)
So now the problem with the form action URL is still there : I can for example successfully login to the backoffice, but I still need to manually edit the HTML before clicking the "Log in" button.
Indeed the problem is still there : redirect to the wrong url :
instead of
How can I definitively configure that? What is the best way to configure that? container B's nginx configuration? container C's nginx configuration? Limesurvey configuration? Yii Framework configuration?
Here is the /var/www/html/limesurvey/application/config/config.php file content :
Here is the nginx reverse proxy configuration (container C) : /etc/nginx/nginx.conf
Here is the nginx server configuration in the limesurvey container (container B\) : /etc/nginx/nginx.conf
Thank for your help!
I'm trying to install limesurvey in a Docker container. For that I'm trying to create a limesurvey Docker image from alpine 3.7 with nginx. So you have 3 containers involved here:
- (container A) : myqsl container official image
- (container B\) : limesurvey container (image I have built) with php7 and nginx as web server. This container is linked to mysql container.
- (container C) : web proxy container nginx official image. This container is linked with several other applications (front-ends) and actually provides successfully access to theses applications, from one single domain. This container acts as a reverse proxy (HTTPS till there) to some sub-paths. So you actually have something like :
- \https://my-domain.com/ -> blog
- \https://my-domain.com/racktables/ -> racktables applications
- \https://my-domain.com/app1/ -> app 1
- \https://my-domain.com/app2/ -> app 2
- etc.
What I'm trying to do is to add \https://my-domain.com/limesurvey/ for the limesurvey application here.
So I have added the link to this new limesurvey container and edited the entry in the nginx reverse proxy container configuration (see configuration after).
In the limesurvey container, I have temporary edited the file /var/www/html/limesurvey/application/config/config-defaults.php for the installation process in order to get the css and js working.
The problem was that any form action url was wrongly recirecting to \https://my-domain.com/index.php?r=installer/welcome (for exemple) instead of \https://my-domain.com/limesurvey/index.php?r=installer/welcome.
Since it was only the install process that I will automate in the future, it didn't matter for me to manually edit the HTML (each page) with the web browser devtools.
Once installed, I have
- changed back the changes done in /var/www/html/limesurvey/application/config/config-defaults.php
- edited the URL related settings in the newly created file /var/www/html/limesurvey/application/config/config.php (see after)
So now the problem with the form action URL is still there : I can for example successfully login to the backoffice, but I still need to manually edit the HTML before clicking the "Log in" button.
Indeed the problem is still there : redirect to the wrong url :
Code:
<form id="loginform" name="loginform" action="/index.php?r=admin/authentication/sa/login" method="post">
Code:
<form id="loginform" name="loginform" action="/limesurvey/index.php?r=admin/authentication/sa/login" method="post">
How can I definitively configure that? What is the best way to configure that? container B's nginx configuration? container C's nginx configuration? Limesurvey configuration? Yii Framework configuration?
Here is the /var/www/html/limesurvey/application/config/config.php file content :
Code:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); return array( 'components' => array( 'db' => array( // my secret DB settings here... ), 'urlManager' => array( 'urlFormat' => 'get', 'rules' => array( // You can add your own rules here ), 'showScriptName' => true, ), 'request' => array( 'baseUrl' => '/limesurvey/', ), ), 'config'=>array( 'debug'=>0, 'debugsql'=>0, // Set this to 1 to enanble sql logging, only active when debug = 2 'mysqlEngine' => 'MYISAM', 'publicurl' => 'https://my-domain.com/limesurvey', 'rooturl' => 'https://my-domain.com/limesurvey' ) ); /* End of file config.php */ /* Location: ./application/config/config.php */
Here is the nginx reverse proxy configuration (container C) : /etc/nginx/nginx.conf
Code:
events { worker_connections 4096; } http { upstream service-app1 { server app1-ui:80; } upstream service-app2 { server app2-ui:8080; } upstream service-app3 { server app3-ui:8080; } upstream service-blog { server blog-ui:80; } upstream service-racktables { server racktables-ui:80; } upstream service-limesurvey { server limesurvey-test:80; } server { listen 80; listen [::]:80; server_name my-domain.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name my-domain.com; error_log /var/log/nginx/my-domain.com-error.log; access_log /var/log/nginx/my-domain.com-access.log; ssl_certificate /etc/nginx/ssl/my-domain.com.crt; ssl_certificate_key /etc/nginx/ssl/my-domain.com.key; ssl_ciphers 'AES256+EECDH:AES256+EDH:!aNULL'; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_prefer_server_ciphers on; ssl_dhparam /etc/nginx/ssl/dhparam2048.pem; ssl_ecdh_curve secp384r1; ssl_session_tickets off; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 10s; server_tokens off; location / { proxy_pass http://service-blog; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_set_header Host $host; add_header X-XSS-Protection "1; mode=block"; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; } location /app3 { proxy_buffering off; proxy_pass http://service-app3; } location /app2 { proxy_pass http://service-app2; } location /app1/ { rewrite ^(app1)$ $1/ permanent; proxy_pass http://service-app1; } location /racktables/ { proxy_pass http://service-racktables/; proxy_redirect http://$host/ /racktables/; proxy_set_header Host $host; } location /limesurvey/ { proxy_pass http://service-limesurvey/; proxy_redirect http://$host/ /limesurvey/; proxy_set_header Host $host; } location /.well-known/acme-challenge { root /var/www; } location = /50x.html { root /var/www/errors; } location = /40x.html { root /var/www/errors; } } }
Here is the nginx server configuration in the limesurvey container (container B\) : /etc/nginx/nginx.conf
Code:
user www; worker_processes auto; # it will be determinate automatically by the number of core #pid /var/run/nginx/nginx.pid; # it permit you to use /etc/init.d/nginx reload|restart|stop|start events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 3000; server { listen 80; root /var/www/html/limesurvey; index index.html index.htm index.php; server_name localhost; error_log /var/log/nginx/error.log warn; access_log /var/log/nginx/access.log; client_max_body_size 32m; error_page 500 502 503 504/50x.html; location = /50x.html { root /var/lib/nginx/html; } location / { try_files $uri $uri/ /limesurvey/index.php?r=$uri&$args; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } } } }
Thank for your help!
The topic has been locked.
- jaybeede
- Topic Author
- Offline
- New Member
Less
More
- Posts: 5
- Thank you received: 0
4 years 6 months ago #190021
by jaybeede
Replied by jaybeede on topic Limesurvey in virtual folder - css and js ok but any form action URL is wrong
Hi,
Do not hesitate to tell me if my explanations are not clear...
Have a nice day
Do not hesitate to tell me if my explanations are not clear...
Have a nice day
The topic has been locked.
- jelo
- Offline
- Platinum Member
Less
More
- Posts: 5033
- Thank you received: 1257
4 years 6 months ago #190045
by jelo
The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
Replied by jelo on topic Limesurvey in virtual folder - css and js ok but any form action URL is wrong
There are not many active members in this forum, which use docker/container installations of LimeSurvey.
I recommend to submit a bugreport to raise some attention.
I recommend to submit a bugreport to raise some attention.
The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13622
- Thank you received: 2490
4 years 6 months ago #190050
by DenisChenu
I don't think it can be supported as bug report …
Neededing
is need a complex system
My opinion is about this
I think proxy must be used differently …
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.
Replied by DenisChenu on topic Limesurvey in virtual folder - css and js ok but any form action URL is wrong
Since it's more server configuration issue …jelo wrote: …
I recommend to submit a bugreport to raise some attention.
I don't think it can be supported as bug report …
Neededing
Code:
'request' => array( 'baseUrl' => '/limesurvey/', ),
My opinion is about this
Code:
proxy_redirect http://$host/ /limesurvey/;
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 topic has been locked.
- jelo
- Offline
- Platinum Member
Less
More
- Posts: 5033
- Thank you received: 1257
4 years 6 months ago #190053
by jelo
If it is no bugreport, it can be converted into a feature request.
The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
Replied by jelo on topic Limesurvey in virtual folder - css and js ok but any form action URL is wrong
That can be only decided once a bug report is submitted. We have seen reports, where the result was a change in how the configuration of LimeSurvey adapt to the environment.DenisChenu wrote: Since it's more server configuration issue …
I don't think it can be supported as bug report …
If it is no bugreport, it can be converted into a feature request.
The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
The topic has been locked.
- jaybeede
- Topic Author
- Offline
- New Member
Less
More
- Posts: 5
- Thank you received: 0
4 years 6 months ago #190080
by jaybeede
Replied by jaybeede on topic Limesurvey in virtual folder - css and js ok but any form action URL is wrong
Bug reported see:
#15424
The topic has been locked.
- DenisChenu
- Offline
- LimeSurvey Community Team
Less
More
- Posts: 13622
- Thank you received: 2490
4 years 6 months ago #190084
by DenisChenu
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.
Replied by DenisChenu on topic Limesurvey in virtual folder - css and js ok but any form action URL is wrong
In bug report , i see you try wit a 4.0RC1 …
Think it's better to do your test with a STABLE version …
Think it's better to do your test with a STABLE version …
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 topic has been locked.
- jaybeede
- Topic Author
- Offline
- New Member
Less
More
- Posts: 5
- Thank you received: 0
4 years 6 months ago #190089
by jaybeede
Replied by jaybeede on topic Limesurvey in virtual folder - css and js ok but any form action URL is wrong
Ok, I'm downloading limesurvey from GitHub, this is probably the reason...
I have asked in the ticket the way to be able to determine the URL of the latest stable release to download programatically...
I have asked in the ticket the way to be able to determine the URL of the latest stable release to download programatically...
The topic has been locked.
- jaybeede
- Topic Author
- Offline
- New Member
Less
More
- Posts: 5
- Thank you received: 0
4 years 5 months ago - 4 years 5 months ago #190586
by jaybeede
Replied by jaybeede on topic Limesurvey in virtual folder - css and js ok but any form action URL is wrong
Issue solved : see
#15424
.
Last edit: 4 years 5 months ago by jaybeede.
The topic has been locked.