Kitware/paraviewweb

ParaViewWeb multi-user setup using apache on Windows 10

Opened this issue · 13 comments

Hello everyone!

I have been trying to implement ParaViewWeb in a multi-user setup using apache on Windows, however I must be doing something wrong, since I cannot seem to make it work. I followed the tutorial on the subject (https://kitware.github.io/paraviewweb/docs/windows_10.html) and searched through the internet trying to make it work.

As I understand it Apache will create a single point through which all clients will communicate, and then, in connection with the integrated Python launcher from ParaView, will redirect the client to an individual and independent visualization session in a specific port.

I have configured the httpd.conf and httpd-vhosts.conf as well as the launcher.config, I have created the proxy file through which Apache and ParaView will communicate, however I have a few questions regarding this configuration. The port we enter in httpd.conf must be the same as the one we put in the VirtualHost directives in httpd-vhosts.conf right? The port we put on proxy pass in httpd.vhosts.conf, must match the port used in launcher.config. My question is, what is the relationship between the port we put in the httpd.conf and the one we put in the proxy pass in httpd-vhosts.conf and in the launcher.config.

Also, do we need to edit the index.html from Apache, as well as the on from ParaView?

My configuration files are in the following zip file. Is there something wrong with them?

When I try on the browser the listen port on the httpd.conf the browser displays the apache index.htlm file, however as I try to connect to the port http://localhost:9000/paraview I get the following error:

image

There must be some simple error that I am making, and I would greatly appreciate your help.
Thank you in advance!!

files.zip

Did you go through that documentation? It might help you get a better grasp of each part.

The big picture is that you should always connect to Apache (usually on port 80 or 443).
Then behind the scene apache will redirect the request to the launcher (:9000) or the pvw process (:9001-9010).

One inconsistency

  1. Launcher config
    "sessionURL" : "ws://paraview:80/proxy?sessionId=${id}&path=ws",
  2. Apache config
    <VirtualHost *:8090>

:80 !== :8090 which means that the client will have no way to reach back to its pvw process through Apache assuming paraview can be resolved to your Apache hostname.

Thank you for your help jourdain! Yes, I have read that documentation. Is there a problem if I connect to Apache on other port? f.e. to 8090 by changing Listen 80 to Listen 8090, and also in the VirtualHost directives? I did this, because port 80 was already in use by my system, and I couldn't manage to get those processes to stop.

Another question: The index.html files from Apache and ParaView have to be the same? Or I can put anything on the index.html from Apache, since it only acts as a single entry point for all the clients, and then are redirected to the individual processes?

The issue is then in your launcher config

==> "sessionURL" : "ws://localhost:8090/proxy?sessionId=${id}&path=ws",

I don't understand your question about the index.html.

Already changed the sessionURL, but I am still getting the same error.

Sorry, perhaps I wasn't clear with my question. What I mean is: do I need to edit the index.html from \Apache24\htdocs, or only the index.html file from \ParaView_5.8.0\share\paraview-5.8\web\visualizer\www ?

You don't need to edit any html at all to make it work.

Regarding the listening port: if I choose the port 8090 to connect to Apache, I have to open https://localhost:8090, and then, each user from there will be redirected automatically to the launcher(:9000) or to the pvw process (:9001 - 9999)?

I ask this, because at this moment https://localhost:8090 shows me a white page, and if I log directly to https://localhost:9000/paraview I get the Type error from my first post.

The user should NOT be redirected to any other port as Apache will do the rooting internally.
The endpoint on /paraview only expect a POST request and therefore is not expected to work when you connect the way you do.

So the issue (based on your new description) is that Apache is not properly serving the content available at C:/ParaView_5.8.0/share/paraview-5.8/web/visualizer/www or if it does can you share the errors in the web console?

Here it is:

image

So, at this point, my configuration an log files are these:
files2.zip

Edit: using https://localhost:8090 I get this instead

image

Thank you, and sorry for my lack of knowledge in this subject

The error is telling you that it can not load the file http://localhost:8090/Visualizer.js which should be served and available from C:\ParaView_5.8.0\share\paraview-5.8\web\visualizer\www.

Your comment on https show that you have no clue what you are doing. You didn't even setup the encryption on your Apache, therefore it is expecting that it should not work. Please focus and try to solve the easy use case.

Indeed jourdain! I will read the documentation and the information available again and more carefully, and get back to you with some more insights on the subject. Thanks!

hello fabiojg,
If you are using win10 then you should have to try zampp (xampp-windows-x64-7.4.12-0-VC15-installer.exe) insted of apache24.
try this hope your problem solves.

thanks