It's important to know that the site is provided by the Apache web server running on Linux hosts, so I can make use of the full power of Apache and Unix which is sometimes useful in the pages that follow.
The hosting is provided by One And One Internet (a.k.a. 1&1), and I can heartily recommend their service. Their "standard" hosting package doesn't offer Perl and PHP scripting so I'm signed up to their "business" package which offers these plus MySQL access and oodles of webspace and bandwidth. Their tech-support seems reasonably competent too, which makes a nice change. Follow the link in the ad on the left if you want to check them out.
Among the features offered by One And One is Apache Virtual Hosts. That is, although there is a single site running under a single instance of Apache you will get different content according to the URL you use to access the site.
This kind of structure enables me to regard the various sites more or less as one entity, and, for example, to use a single include file for the PHP database accessing class for all the sites.
I also run a local version of the website on my laptop for development. This runs on the IPv6 enabled version of Apache 1.3.26.
I emulate the Virtual Host structure at the real website by adding the following in the /etc/apache/httpd.conf file.
Of course, One And One does not yet have IPv6 connectivity. I just
use it locally for fun and research. The address
is a site-local IPv6 address which I assign to my ethernet port. It is by
convention not routable on the Internet.
# IPv4 virtual hosts NameVirtualHost 0.0.0.0:80 <VirtualHost 0.0.0.0:80> ServerName edginet.local ServerAlias edginet.local ben.edgingtonfamily.local DocumentRoot /var/www/website/edginet </VirtualHost> <VirtualHost 0.0.0.0:80> ServerName edgingtonfamily.local DocumentRoot /var/www/website </VirtualHost> <VirtualHost 0.0.0.0:80> ServerName hannah.edgingtonfamily.local DocumentRoot /var/www/website/hannah </VirtualHost> # IPv6 virtual hosts NameVirtualHost [fec0::1]:80 <VirtualHost [fec0::1]:80> ServerName edginet.v6.local DocumentRoot /var/www/website/edginet </VirtualHost> <VirtualHost [fec0::1]:80> ServerName edgingtonfamily.v6.local DocumentRoot /var/www/website </VirtualHost>
My /etc/hosts file has the following lines to support my invented ".local" TLD. (By the way, did you know that you can put this - at least the IPv4 stuff anyway - in the C:\Windows\hosts file under Windows to achieve the same effect?)
# Virtual hosts for local webpages; see also /etc/apache/httpd.conf 127.0.0.1 edginet.local 127.0.0.1 edgingtonfamily.local 127.0.0.1 ben.edgingtonfamily.local 127.0.0.1 hannah.edgingtonfamily.local fec0::1 edginet.v6.local fec0::1 edgingtonfamily.v6.local
So now I can access my site via IPv4 with the URL http://edginet.local/, or via IPv6 with http://edginet.v6.local/. As far as I know, Mozilla is the only IPv6 capable browser presently running on Linux: the IPv6 support was written by Munechika Sumikawa, one of my colleagues at Hitachi Internetworking.