This note is for my future reference. Each time I am setting up docbroker translation rules I am confused how it should be done correctly. This note will help me to do it quickly in future 🙂 Perhaps this will be also useful for others…
So, first of all, if you want to have a docbase behind NAT you need two docbrokers. The first one is an internal one which serves all requests from internal network (behind the firewall/NAT). The second docbroker serves all external requests, coming from, for example, VirtualBox/VMWare host clients or other computers on the external network.
It means that the external docbroker will need to have some extra translation configuration.
Configuration for the external docbroker will be:
[DOCBROKER_CONFIGURATION] host=10.0.2.15 port=1491 [TRANSLATION] port=<CS service port>=<CS service port> host=<external IP>=10.0.2.15
where the <external IP> is the IP of the host on which the Virtualbox/VMWare is running (or the public IP). Port number is the port on which the docbase is listening (CS service port, you can find it out by checking /etc/services on Linux hosts).
The internal docbroker has standard configuration, the only difference is that it should be (obviously) running on a different port than the external docbroker.
[DOCBROKER_CONFIGURATION] host=10.0.2.15 port=1489
Extremely important bit: for each docbroker there must be TWO ports allocated. For example, if you have an internal docbroker on port 1489, then the external docbroker CAN NOT be configured on 1490, the next free port will be 1491. If you don’t do that you will see an error like:
Documentum Docbroker: dispatcher failed (104) on line 1070 -- non-fatal
This is described in http://support.emc.com/kb/110976
It is also important to remember about configuration of the projection targets in server.ini. Both docbrokers must be defined like this:
[DOCBROKER_PROJECTION_TARGET] host = server port = 1489 [DOCBROKER_PROJECTION_TARGET_1] host = server port = 1491
When configuring docbase on VirtualBox VM some additional NAT configuration has to be done. Usually VirtualBox has two interfaces, localhost and the NAT one (ethX, with IP for example 10.0.2.15). It is important to configure Content Server and docbrokers to listen on the NAT interface. To configure it in Content Server edit server.ini and add “host=10.0.2.15”.
The last piece of configuration is the port forwarding:
After setting it up restart the system and hopefully it should be working all fine 🙂