Warning: This post might contain dumb and/or noob questions so please be gentle with me I am not completely new to webservers and host files and all that, but I am new to ParaView and ParaViewWeb.
I am having trouble getting ParaViewWeb to even run. I strictly followed the deployment-guide for Windows 10 (https://kitware.github.io/paraviewweb/docs/windows_10.html). Some settings look strange to me, but I followed them nevertheless (e.g. setting up a default vhost listening on the same port as the Paraview-vHost seems unnecessary to me. Also editing the Windows-Host-File to bend localhost to paraview is a little strange).
Anyway, my setup is:
Windows 10, spring update 2018 (1803), set up as a virtual machine
Apache24 from ApacheHaus, including all recommended Visual Studio C++ redistributable packages linked on their page
Paraview 5.2.0 installed in C:\Paraview-5.2.0 (without spaces) as recommended in the guide
Using Microsoft Edge for testing locally on the server
Using various browser on my host system
I can run the httpd exe without error messages, same with the ParaViewWeb launcher script. So far so good.
When I start a session on the server (http://127.0.0.1:9000), I see the “ParaViewWeb Visualizer” title in the tab, but there is no content. However, a session log is created, which is completely empty, though, except for the “log opened” info. The Apache logs look fine as well.
Also strange: On my host system, http://<ip of virtual machine> will give me the default Apache page (which is configured in the deployment guide) while http://<ip of virtual machine>:9000 will give me a “site unavailable” error. No session is being started according to the logs. On the virtual machine, 127.0.0.1:9000 will give me the empty page described above, but will at least start a session. The firewall on the VM is turned off. Apparently, I have not understood, what URL to use, the port 9000 page seems to be something server-internal as it is unavailable from the host system.
What am I missing here and what is the correct URL to run ParaViewWeb? What else can I do to troubleshoot my system?
That documentation was contributed from the community and since I don’t use Windows it was posted as-is since it “worked” for that person. (And thanks for that person for sharing is experience as-is…)
Looking at the doc myself, I see the host part and I hear you, but I guess if you know how to setup Apache you can do it the way you are used to… As long you properly connect the various pieces together with correct name.
So the goal of using Apache as front-end, is to go through your server via only the port :80 (or 443). Everything else is supposed to be hidden from the user.
Anyhow, you should be able to connect to your server with the following url http://paraview/.
At that point in your browser debug tab (Network) you should see a request a POST on /paraview which Apache should forward to the launcher on :9000. Looking at the response of that request could help to make sure the process properly started.
Also the session logs (based on your launcher config) should be available here:
"log_dir" : "...fixme..../log/",
And each time you connect to http://paraview, a new file with a weird name should be created. Looking into it could give you some clue as why the server did not properly start.
This is not yet the full answer on how to fix your issue, but that should give you the next step to identify the actual problem in your setup if any.
thanks for the quick and thorough reply and thanks for confirming the fishiness of the guide. Thanks also for explaining the way it is supposed to work.
After some more troubleshooting, I am sure that there is something wrong with my Apache config but I have no clue how to fix this, Apache seems to ignore my vhost-setup and I have no idea why:
When I connect on 127.0.0.1:80, I now no longer see the default page because I copied all the document root and directory permission stuff from the httpd-vhosts.conf to the httpd.conf.
There are no errors in the error.log. In the access.log, however, I see the request “Get /visualizer.js HTTP/1.1" 200 saying everything works as expected, but afterwards there is a “Post /paraview/ HTTPS/1.1" 404 207 telling me, Apache does not find the /paraview subpage. According to the vhost config, Apache should forward this to http://localhost:9000/paraview which apparently does not work. Also, no session is started when I access on port 80 (because obviously the forwarding to :9000 does not work). When I access on port 9000, I see the session log (the weird name file you mentioned). So both parts work individually, but the connection between the two is broken despite Apache being configured accordingly. Any idea how to get Apache to do what it is configured to do on Windows? On Linux, I know there is a2ensites and restarting Apache service is always a good idea, but on Windows I am sort of lost.
Slightly off-topic: I am not bound to Windows. I started setting up ParaViewWeb on Ubuntu 18.04 but could not get that to work either, because I failed to install the opengl drivers which probably gave me error messages when running the launcher script. Since the deployment guide on the website is for Ubuntu 14, I figured there was some fundamental issue I wasn’t going to solve anyway, so I switched to Windows. If you are more comfortable debugging issues for Linux, I will try that again and report back…? Can’t imagine I am the only one having issues setting things up (but maybe I am )
I’m not sure to know how to do things with Windows and Apache.
Regarding the linux approach, you will have a better chance once you figured out the driver issue.
But try to not use a VM as you are more likely to have some driver issue with the rendering.
The reason why the guide was based on 14.04 was just because it was written when 14.04 was out.
Nothing prevent you to adjust the guide to make it match today’s Linux distributions.
I think the main difference will be in how you setup services, but the rest should remain the same.
On a side note, we also have docker image that you can use to deploy the full stack (launcher/paraview/visualizer) more easily. But for that you will need a NVIDIA GPU that support EGL and with the proper set of drivers. The guide for setting such environment can be found here:
Thanks again for taking the time to look into my issues. I officially gave up on the Windows deployment as things are too freaky and different from what I am used to.
I did, however, manage to get PVW to work on Ubuntu 18.04 after trying again from scratch. At least it opens a session, I can see the ParaViewWeb front end, some example data looks colorful and can be rotated so that I tend to think things work just fine even though there are some issues with installing the opengl-drivers:
So I followed the “old” 14.04 deployment guide. Thing is: sudo apt-get install nvidia-current will give a Package nvidia-current has no installation candidate error, so you cannot install the OpenGL drivers and thus cannot check if things work like they are supposed to. Everything else downstream did work like a charm. In my first attempt with Ubuntu, I tried to bend the hard coded directories (5.6 instead of 5.2) but might have missed some spots (even though I double checked). Also, I am not sure any more if I ran the launcher as pvw-user so my assumed “driver issues” might come from that. Interesting, though, that things work even though the necessary drivers are not being installed. Maybe Ubuntu includes them now by default? Anyway, there should be enough info to update the guide (you suggested nothing stopped me from doing that, but honestly, I have no idea how to do so).
Oh, and the VM is just a prototype, but nice to know that this might also cause other issues than being slow as hell.
I’m glad you managed to make it work. Working on Mac, I don’t know what is the “latest” way to install the gl drivers on ubuntu, but I’m sure that info can be found online.
The default drivers might work just fine but may not fully use the capability of your GPU. On small/toy problem everything is fine but once you start loading real data, you may start seeing some the difference in speed.
Anyhow, if you feel you want to update the documentation, you can edit the following file:
Ideally you should submit a PR with your changes, but if you send me a new version by email, I can push it for you.