I've set this up a number if times with QlikView Server 8.5 and earlier and I don't think it's changed for 9.
The following steps should help:
From the machine you have installed QVS on:
1) Copy the folder 'C:\Program Files\QlikView\Server\QvClients' to your web server, I would recommend copying this to 'C:\Inetpub\wwwroot'.
2) Copy the file 'C:\Program Files\QlikView\Server\QvsComRemote.dll' to your web server, say to 'C:\QlikViewServerComponents\'.
Now on the target web server (you shouldn't need to run any QlikView installers on this):
3) In IIS. create a virtual directory in your web site named QvAjaxZfc which points to 'C:\Inetpub\wwwroot\QvClients\QvAjaxZfc'.
4) In IIS, create a virtual directory in your web site named QvClients which points to 'C:\Inetpub\wwwroot\QvClients'.
5) At the command line run 'regsvr32 c:\QlikViewComponents\QvsComRemote.dll'.
6) Edit 'C:\Inetpub\wwwroot\QvClients\settings.js' in notepad by uncommenting the line:
// var QvsHost = "qvs.site.com";'
and replacing the variable with that of you QlikView server machin name or ipaddress.
You should now be able to browse to:
Where localhost is the name or ipaddress of your webserver - this is the backend which talks to QlikView Server.
This may be *an* answer, but not the one I was hoping for. We have this running under 8.5. We set it up by installing the QV 8.5's IIS components on our web server. The end result was similar to what you describe, although there wasn't as much manual movement of files.
I was hoping to get it working so we wouldn't have to publish our AJAX files to the IIS web server. I believe this is only possible when using the QVWebServer. In the end, if we get this working, we'll probably need both the QVWS and IIS. QVWS for the qlikview pages and IIS to handle our special authentication needs.
Still looking for ideas...
QV9 supports getting the AJAX files directly from the QlikView server *if* you are using the QVWebServer. You don't have to publish the web pages like you did in older versions.
Or so we're told.
I have that working on a stand-alone box that's running QVS and QVWS. I no longer have to publish the AJAX pages every time I make a change to them.
Now I need to split these functions apart so that QVS is running on a different box than QVWS. I also need IIS running on the same box as QVWS so I can implement my authentication stuff.
I have done a configuration for that. What i have done is..
- Install QVS on both server
- On IIS server machine, edit the file "QVClients\setting.js" to point to QlikView Server (change the vars QvsHost). Vars QvsPort is optional. Dont forget to remove the comment tags.
- On QV Server machine, edit the file "HttpServer\config.xml". Change QvsHost to point to QV Server. And also change QvsTunnel to match ur environment.
- IIS Server machine - do not run QV Server (QV Management Console)
- QV Server machine - run QV Server (QV Management Console)
That's what i have done and I'm able to access all the qvw file from our intranet but...we can't accessed from outside intranet. If I'm access from internet all the document list is appeared but cant open the QVW it's gave an error something like this "iis_authenticated .... . .. cant open file". All of my qvw file and ajax is located on QV server machine.
What i have done is quite same with Chris Brain but i didn't do the step number 5. Maybe Chris can explain what is the purpose on this step.
Do people on your intranet have connectivity to your QV Server machine? If so, it might explain why it works from the intranet but not from outside.
Can you get to the QlikView AccessPoint page on your IIS Server machine?
When people are on your intranet, what is the URL that they use to open the document?
Are you using AJAX/ZFC or IE Client to deploy it? Are you using NTFS or DMS authorization?
Can you get to the
Yes, people in intranet can connect to QVServer, I try to run telnet command to that IP from internet but failed to connect.
Yes i can get to qlikview accesspoint from intranet and also from internet (from internet can't get the document list)
The URL to access is "bi.mydomain.com/qlikview"
I'm using IE client. It should be the same method if you using AJAX/ZFC to deploy.
I'm using NTFS authorization
Btw, my problem is people from the outside/internet can't get access to the document because this IP address is on out intranet. Is this the source of my problem? How to solve this?
When people connect to the Accesspoint page from outside, do they authenticate? On the accesspoint page, in the upper right, it says "Logged in as: " somebody. If you have a particular user who connects from both inside and outside, is the "Logged in as:" name the same in both cases? I would think that even without connectivity to the QVS, Accesspoint should provide the same document list regardless of where the user comes from.
I'm not completely sure about this, as we only use AJAX/ZFC, but you need to have some sort of connectivity from the outside to your QV Server when using the IE plug-in. You could poke a hole in your firewall so that traffic over port 4747 can get from the outside to your QVS. Or, you could implement tunnelling so that people connect to your web server, and then it tunnels requests to your QVS. By default, I think it will try to use port 4747, but I think it can also use port 80 if things are configured correctly.
There's more information about this in section 17.2 of the Server/Publisher Reference Manual.
I finally got our set-up running by installing the QlikView Web Server service on *both* our IIS Web Server and our QVS. I'm not completely sure if this is necessary, but things started working for us when we configured it this way, so I didn't spend a lot of time trying to figure out the details.
Please post back to the list if you get things working.
everytime people connect to accesspoint or just the standard qlikview they must login. At the accesspoint the "logged in as:" was filled with their username. All the document list was appeared on this page but we can't open the document from internet only from intranet the document can be open.
Here a list of error message when I try to open the document from internet/outside.
1. Access to: bi.mydomain.com/qlikview/accesspoint
- Open document with "Internet Explorer Client": Stuck on The windows dialog box appear (Connect to server), i try with "Use NT Identity", "Anonymous" and "Alternate Identity" still can't open the document.
- Open document with "Java Client": error message appeared "Can't connect to server. The server might be down or there may be a firewall that block the connection. Try again?."
2. Access to bi.mydomain.com/qlikview: the same error also as open document with IE client on accesspoint.
3. Access to bi.mydomain.com/qlikview: In here i try to open with AJAZ/ZFC using the default sample. Error message "Failed to open document, you don't have access to the server.
What do you think about that? Do i have to create a tunnel to QVS?
Did you create a tunnel? change the config.xml and also make changes the vars QVStunnel?
Btw, can you ping or telnet the IP address of your QVS from internet/outside?
Update: I just saw the QVS log, it appears the authentication on QVS server is the problem
128 Error Anonymous logon failed: L.
119 Error Failed acquiring token for anonymous access
I can't change the security setting on the QVS, everytime I change to anonymous it won't changes and always back to "prohibited anonymous". Already try to reinstall the QVS but this bug still exist.
I'm using QVS x64 8.5 6231 and running on windows 2003 SP1
ihave working configuration as i understated from your description:
1. IIS 6 on w2003 32 bit
2. qvs 8.5 (no matter sub version but it is 8.5.6231)
3. anonymous access to iis website of qvs application
what i have done is:
1. in the qvs i installed qvs and qvajaxzfc support
2. on iis i installed iis support (if you have no firewalls no need for tunneling) and qvajaxzfc support
3. change the file qvsviewclient.asp from var host ='localhost' to var host='my qvs server fqdn' on iis (this tell where the qvs is)
4. verify that on the iis you have the qvscomremote.dll file installed
i'm not using IIS 6, i'm using IIS 5.1 and since on the web server there's a lot of others website, the network people didn't want to upgrade the IIS.On what you have done, did you using QV 9? Your configuration step is quite similiar on what i have done also.I can't use QV 9 because we got stuck on IIS 5.1
Where I am, we've always had IIS 6 - even when we were running QV8.5.
Here are a few comments and thoughts:
- We've never allowed direct access to the QVS from any user's PC. The only traffic to the QVS is from the web server.
- We also needed to set up a *domain-level* windows account for use by QlikView. This account had Administrator-level access on BOTH the web server and the QVS. Any QlikView services on either box ran under this account. Is that how you are set up?
- I don't remember how it worked under QV 8.5, but there might need to be some sort of connectivity between your web server and your Windows domain controller in order to authenticate Windows user credentials. (I'm just guessing about that one. We use DMS authentication, so we've rolled our own authentication scheme and don't use Windows authentication.)
Setting up DMS Authentication is not trivial. I think you'll only want to try that after you've exhausted all other possibilities.
I wonder if there's a problem running qvscomremote.dll under your version of Windows/IIS. What version of Windows is the web server running?
It might be worth testing to see if the Windows authentication part is working. You could do that by creating a new website that just has a vanilla "Hello World" HTML page. Then set the site to only allow Integrated Windows Authentication (while disabling anonymous access). Do you have experience with that?
If that works, then you will know that it's not Windows authentication that's causing the problem.
Is your QVS also running under 32-bit? I ask because our QVS is 64-bit, and the web server is 32-bit. At one point I made the mistake of copying the qvscommremote from the 64-bit server release and tried to run it on the 32-bit web server. That didn't work so well. I had to download the 32-bit version of QVS to get the right DLL.
I don't know how much control you have over your firewall, but if possible, you could try poking a hole from the internet to your QVS over port 4747 to see if it makes things start to work. You probably don't want to leave it open, but it will show why things work from the inside but not from the outside. Then the trick would be to get tunnelling to work.
I dont have time to test qvcomremote on this day because there's something else i must done first.
My QVS is running on 64bit and i also using the 64bit installer, on 32bit web server i'm using 32bit installer.
On IIS web server 32bit machine I install QVS using 32bit installer, but i didn't activate the QVS. I just make a change on the setting.js to point to QVS Server.
On QVS server 64bit machine I install QVS using 64bit installer, in here I activate the QVS and make a change on config.xml to point to QVS server.
I also already create a tunnelling (based on reference book) but it didnt succeed.
I think tomorrow I'll try all what you already suggested here and i'm gonna start with a fresh installation.
This is the same configuration that I have, and we have been able to get it to work great. Here are a few things that we did to get this to work. Most of the stuff has to be done on the server hosting QVWS or IIS to get it to work.
1. Create an Application Pool in IIS and then assign the QvAJAXZfc virtual directory to this application pool. When setting up the app pool, have it run under an id that is a member of the QlikView Administrators local group on the QVS server.
2. Review the file settings.js in the <QV_Install_Path>\Server\Clients folder. Uncomment the 2 varialbles in this file and place the name of the QVS server and QVS port.
3. Review the file hostlist.js in the <QV_Install_Path>\Server\Clients\QvAJAXZfc folder. Uncomment the variable and place the name of the QVS server in the list.
4. Review the file config.xml in the C:\Documents and Settings\All Users\QlikTech\QvWebServer folder. Make sure anything that is QvsHost and TunnelHost are pointing to your QVS server
5. We have our firewall setup to where port 4747 is open just between the IIS server and QVS server. This allows you not to have to tunnel.
6. We were able to get tunneling to work, but we had to use the old procedures from version 7.52. I would take a look at those procedures and see if that works for you.
I hope that this helps.
I have some questions regarding the best method for authentication setting on IIS for this configurations
- When i'm changing the authentication on IIS then i got an error "object error" when trying to open the qv document list. How to solve this? what is the best authentication configuration both on the Web server machine(IIS) and QV Server machine?
- On my licenses (LEF) there is text " FORCE_AUTHENTICATION;YES; ", so i can't change the security setting on the QVS, it always stick on "prohibited anonymous". So, what is the best authentication configuration for my case?
Is it possible that my issue (cant open document from outside/internet) is happened because of wrong authentication configuration both on IIS and QVS?