After reading all the problems people have been having with Domino and IIS I thought I would share some tips on setting up and configuring your server.
I’m happy to say that I run several websites on a single partitioned Domino server with IIS as the frontend to it all. Interestingly enough this is all run with only one external ip address. My configuration is such that all incoming traffic is initially handled by IIS and then directed to the appropriate Domino partition as per my configuration. Running HTTP, SMTP and POP3 seperately on each partition is no problem at all.
So here we go. The tips shown below may not work for all configurations but works best for me so I hope they provide you with some good ideas. While these were written for multiple partitions they should equally apply to a single Domino server as well.
Use multiple network cards
I have two network cards. One network card has a single ip address which I have configured IIS to bind itself to. The other network card has been assigned 3 ip addresses. Each of my 3 Domino server paritions uses one of these ip address. If you want to use the same port numbers you will need multiple ip addresses.
DNS names of websites
Each of my 3 registered internet domain names have been configured on the internet to point to my single external ip address.
Hosts File on server
On my server I have configured each of my Domain names to bind to its assigned internal ip addresses. This is done through the Windows hosts file - c:\winnt\system32\drivers\etc\hosts. This is required so all internet protocol bindings will be to the correct ip address.
Edit the Notes.ini file for each server
Add the following line to the Notes.ini file of your Domino servers
TCPIP_TCPIPAddress=0,192.168.0.4:1352
Where the first part of the variable TCPIP corresponds to your port name and the IP address corresponds to the appropriate internal ip address you have assigned to your server.
Also add the following line which is required by the Websphere plugin:
HTTPEnableConnectorHeaders=1
Disable IIS Socket Pooling
This one is the big show stopper that gets everyone. IIS uses a feature called ‘Socket Pooling’ which means even though you configure it to operate only on one IP address it actually binds itself to all ip addresses which causes problems with all your internet protocols. For information on disabling this click this link:
http://support.microsoft.com/default.aspx?scid=KB;en-us;q238131
No you’ll be able to use the same port numbers on the different ip addresses and IIS will behave itself like you want it to.
Configuring IIS
Here’s some IIS configuration tips:
-
If you want Domino to handle all authentication enable only the ‘Anonymous Access’ option in the ‘Anonymous Access and Authentication control’ section of the Directory Security tab of your IIS website properties.
-
The IP Address specified in the website identification section should be the same for each web server and all should have port 80. This IP address should be the IP address you have assigned to IIS. In the Advanced section of the website identification add the various headers for incoming web addresses and again assign them to the same IP address for IIS. I have added 2 headers for each of my websites in the format of: ‘www.xyz.com.au’ and ‘xyz.com.au’.
-
My Home Directory for each website in IIS has been set to the Domino data directory
Configuring Websphere plugin
- If you want ALL incoming traffic directed to your Domino server by IIS the ‘’ section of the websphere plugin configuration file should only contain the following line: .
I’ve copied some sections from the websphere plugin configuration file showing how you can configure each section of it for each Domino partition. You just need to copy and configure each section appropriate to your Domino server partitions. You should only need to change the port numbers (if required) and ‘XYZ’ with your server/Domain names.
<!-- The transport defines the hostname and port value that the web server
plugin will use to communicate with the application server. -->
<Transport Hostname="www.xyz.com.au" Port="80" Protocol="http"/>
Configuration of internet site documents
When configuring your internet site documents in the Public Address Book, make sure of the following:
-
The value entered in the Organization field matches that of your Notes Certifier Organization name
-
For some reason Lotus decided to make the ‘Domino Server that Host this site’ field multi-value if a space was entered. If you have a space in your server name this could cause problems as it will break your server name into multi-values. I had to edit the public address book template to remove the option for a space to act a multi-value seperator.
Hope this helps in some way…
Alex Elliott