This plugin allows users of a WordPress MU site or WordPress 3.0 network to map their blog/site to another domain.
It requires manual installation as one file must be copied to wp-content/ and another file to wp-content/mu-plugins/. When upgrading the plugin, remember to update domain_mapping.php and sunrise.php. Full instructions are on the Installation page and are quite easy to follow. You should also read this page too.
Super administrators must configure the plugin in Super Admin->Domain Mapping. You must enter the IP or IP addresses (comma deliminated) of your server on this page. The addresses are purely for documentation purposes so the user knows what they are (so users can set up their DNS correctly). They do nothing special in the plugin, they're only printed for the user to see.
You may also define a CNAME on this page. It will most likely be the domain name of your network. See below for some restrictions and warnings.
Your users should go to Tools->Domain Mapping where they can add or delete domains. One domain must be set as the primary domain for the blog. When mapping a domain, (like 'example.com') your users must create an A record in their DNS pointing at that IP address. They should use multiple A records if your server uses more than one IP address. If your user is mapping a hostname of a domain (sometimes called a "subdomain") like http://www.example.com or blog.example.com it's sufficient to create a CNAME record pointing at their blog url (NOT IP address).
The login page will almost always redirect back to the blog's original domain for login to ensure the user is logged in on the original network as well as the domain mapped one. For security reasons remote login is disabled if you allow users to use their Dashboard on the mapped domain.
Super admins can now choose to either allow users to setup DNS ANAME records by supplying an IP (or list of IP addresses) or set a CNAME but not both (entering a CNAME for the end user voids the use of IP's)
There is a lot of debate on the handling of DNS using CNAME and ANAME so both methods are available depending on your preference and setup.
Things to remember:
- CNAME records that point to other CNAME records should be avoided (RFC 1034 section 5.2.2) so only tell your end users to use your chosen domain name as their CNAME DNS entry if your domain name is an ANAME to an IP address (or addresses)
- Only use the CNAME method if your main domain is an ANAME of an IP address. This is very important. How do you know? Check your dns or ask your hosting company.
- Giving your users the option to just use your chosen domain name and not an IP (or list of IP's) to set as their CNAME will make administration of your WordPressMU blog platform or WordPress 3.0 network easier, an example of this would be purchasing/deploying a new server or indeed adding more servers to use in a round robin scenario. Your end users have no need to worry about IP address changes.
- Finally, telling your end users to use an ANAME IP or CNAME domain name is up to you and how your systems are deployed.
- Further Reading: http://www.faqs.org/rfcs/rfc2219.html