Ubuntu – Providing subdomain routing by modifying /etc/hosts (how to do this on remote server?)

apache-http-serversubdomainUbuntu

I am using a convoluted and badly documented piece of software (sfDomainRoutePlugin) to provide subdomain functionality for my website. I am using Apache as the web server, and running a headless Ubuntu 10.0.4 LTS on the server.

After much trial and error, I found that the only way I can get my generated subdomain links to work (without getting a 'Server Not Found' error), was to hardcode the subdomain names into my /etc/hosts file.

This works fine when I am testing on localhost – however, I want to deploy the solution to a remote server which is running several virtual servers (different websites). The remote server does not make use of the /etc/hosts file at all, as each website has a unique name.

My question is this: can I simply enter the hardcoded domain entries (along with the static IP address) in the etc/hosts file? or is there another way of doing this?

My proposed approach would be to modify the /etc/hosts file on the remote server as follows:

123.456.789.123    foo.example.com
123.456.789.123    foo1.example.com
123.456.789.123    foo2-bar.example.com

Where 123.456.789.123 is the static IP of the remote server.

Is this the way to do it?

I would be especially greatful to hear from anytone that has managed to use sfDomainRoutePlugin for a similar purpose, in a production environment.

Best Answer

If all subdomain must be served by one physical site, you have:

  • write in DNS-zone smth.like

    www IN A ip-address

    somename IN A another ip-address /if it needed/

    • IN CNAME www

last records will give you for all and any undefined in zone names IP of www as answer

  • In hosting control panel define *.domainname as alias for www site

can I simply enter the hardcoded domain entries (along with the static IP address) in the etc/hosts file?

No. With hosts you'll be able route requests to correct server, but it will not be able to process requests without knowing about subdomain mapping (these sites doesn't exist for server)

Related Question