[thelist] multiple sites on localhost with Apache?
Julian Rickards
julian at jrickards.ca
Wed Oct 27 17:58:31 CDT 2004
I am running Windows so some of this may not be reproducible.
In my http.conf file, at the end, I have:
NameVirtualHost *
<VirtualHost *>
DocumentRoot N:/Apache/htdocs
ServerName localhost
</VirtualHost>
<VirtualHost *>
DocumentRoot N:/Apache/htdocs/cuac/public_html
ServerName cuac
</VirtualHost>
<VirtualHost *>
DocumentRoot N:/Apache/htdocs/jrickards.ca/public_html
ServerName jrickards
</VirtualHost>
<VirtualHost *>
DocumentRoot N:/Apache/htdocs/thorneloe/public_html
ServerName thorneloe
</VirtualHost>
and in my hosts file in c:\Windows\system32\drivers\etc, I have
127.0.0.1 localhost cuac jrickards thorneloe
All I need to do to add additional development sites is copy one of the
<VirtualHost *>..</VirtualHost> blocks and make the modifications and
add a new item to the hosts file and I am done.
HTH,
Jules
Phil Turmel wrote:
> Stephen,
>
> You're on the right track....
>
> 1) Your local DNS server (or hosts file if the list is short) just
> needs to wildcard all domains back to 127.0.0.1. It won't actually
> have any information on directory structures. (I'm not a Mac person,
> so I can't recommend a DNS server package that would be suitable.)
>
> 2) Apache's configuration file needs a virtual host section for each
> domain name you are trying to mimic, with its "DocumentRoot" property
> pointing to the correct physical directory. Note that a VirtualHost
> section can specify aliases, so you can use a single vhost to handle
> both www.123.com and 123.com.
>
> 3) The very first vhost section will be the catch-all for any domains
> you don't have copies of. Put the appropriate explanatory page as its
> index.html, with a rewrite rule in just that host to force all links
> to the index.
>
> Thanks to HTTP 1.1, the browser passes the presumed host name to the
> webserver independant of the IP address, so apache can figure out
> which document root to use without having unique IPs.
>
> Note that once an apache configuration file specifies virtual host
> behavior, the global servername, document root, etc, is ignored. Only
> the servernames and document roots specified inside vhost sections work.
>
> Phil T.
>
> Stephen Rider wrote:
>
>> Hi all --
>>
>> I'm trying to set up a web kiosk on an old iMac. The trick is that
>> this computer will be completely offline and I need to host a couple
>> different sites to it using Apache.
>>
>> If it were only one site, I would just throw the files on the hard
>> drive and serve them up as 127.0.0.1, but I need to find a way to set
>> it up so that if the browser looks for www.abc.com Apache will serve
>> up the contents of /Sites/abc/ , and if www.123.com it will point to
>> /Sites/123/ (obviously these are example addresses).
>>
>> Is there a way to do this? I'm sure it will involve Virtual Domains,
>> which understand only vaguely, but won't I also have to set up a
>> "fake" local DNS or somesuch to point the browser to the directories?
>>
>> All of the sites I need to use utilize Root addressing in some
>> places, so I can _not_ use
>> 127.0.0.1/abc/
>> and
>> 127.0.0.1/123/
>>
>> (Note: I'm actually using Apache 2.0.52 via the "Complete Apache"
>> package, not the 1.x version that comes with OS X. If need be I can
>> always switch back to the built-in version.)
>>
>> All help is appreciated. Thank You! :)
>>
>> Steve
>>
>
More information about the thelist
mailing list