[vox-tech] Apache virtual host config
Mark Street
vox-tech@lists.lugod.org
Sun, 11 Apr 2004 14:53:01 -0700
Every host you are going to host on the machine needs its own virtual host
stanza. Here is mine for one of my static IP's with multiple virtual hosts;
NameVirtualHost 208.201.241.88:80
NameVirtualHost 208.201.241.88:443
#NameVirtualHost *
<VirtualHost 208.201.241.88:443>
ServerAdmin webmaster@streetchiro.com
DocumentRoot /var/www/html
Servername www.streetchiro.com
</VirtualHost>
<VirtualHost 208.201.241.88:80>
ServerAdmin webmaster@streetchiro.com
DocumentRoot /var/www/html
Servername www.streetchiro.com
</VirtualHost>
<VirtualHost 208.201.241.88:80>
ServerName rt.streetchiro.com
DocumentRoot /opt/rt3/share/html
AddDefaultCharset UTF-8
# these four lines apply to Apache2+mod_perl2 only: {{{
PerlSetVar MasonArgsMethod CGI
PerlModule Apache2 Apache::compat
RewriteEngine On
RewriteRule ^(.*)/$ $1/index.html
# }}}
PerlModule Apache::DBI
PerlRequire /opt/rt3/bin/webmux.pl
<Location />
SetHandler perl-script
PerlHandler RT::Mason
</Location>
</VirtualHost>
<VirtualHost 208.201.241.88:80>
ServerAdmin webmaster@oswizards.com
DocumentRoot /var/www/oswizards.com
ServerName www.oswizards.com
ErrorLog logs/www.oswizards.com-error_log
CustomLog logs/www.oswizards.com-access_log common
</VirtualHost>
<VirtualHost 208.201.241.88:80>
ServerAdmin webmaster@oswizards.com
DocumentRoot /var/www/oswizards.com
ServerName oswizards.com
ErrorLog logs/www.oswizards.com-error_log
CustomLog logs/www.oswizards.com-access_log common
</VirtualHost>
On Sunday 11 April 2004 02:14 pm, Peter Jay Salzman wrote:
> I kept looking at this. I liked the fact that you used two virtual
> hosts. Previously, dirac.org was "global", and liberal.ws was a virtual
> host. I changed my configuration to look more like yours.
>
> Still, it wouldn't work.
>
> but then i noticed your IP address. You obviously have DSL or cable and
> have a machine performing masquerading as well as firewalling. You used
> your internal IP address.
>
> I was using my external IP address.
>
> I changed to:
>
>
> NameVirtualHost 192.168.0.200
>
> <VirtualHost 192.168.0.200>
> ServerAdmin p@dirac.org
> DocumentRoot "/www/p/linux"
> ServerName www.liberal.ws
> ServerAlias liberal.ws
> ErrorLog /var/log/apache/test_error
> LogLevel warn
> CustomLog /var/log/apache/test_access common
> </VirtualHost>
>
> <VirtualHost 192.168.0.200>
> ServerAdmin p@dirac.org
> DocumentRoot "/www"
> ServerName www.dirac.org
> ServerAlias dirac.org
> ErrorLog /var/log/apache/error.log
> LogLevel warn
> CustomLog /var/log/apache/access.log combined
> </VirtualHost>
>
> and everything works as it should work. Note that there were two
> problems:
>
> 1. NameVirtualHost wants to be the internal IP address.
> 2. In <VirtualHost X>, X wants to be the internal IP address. Hostname
> didn't work correctly. External IP address didn't work correctly.
>
> In hindsight, it only makes sense that apache cares about the internal
> IP address, since that's the "real" address of the machine in question.
> The external IP is only known by the router/firewall.
>
> Lewis, thanks. I've definitely learned something in the process...
>
> Pete
>
> On Sun 11 Apr 04, 9:19 AM, Lewis Perdue <lperdue@ideaworx.com> said:
> > make sure apache is configured for NAME-BASED virtual hosting, NOT
> > IP-BASED ...
> >
> > make sure you have the _true_ document directory as opposed to virtual
> > ... pwd will not always show that
> >
> > If your documents are relying on symbolic links, make sure the server
> > allows them
> >
> > Below are a few lines from the httpd.conf file off the RH9/Apache2
> > server we run off the LAN at home. They may help you. our IP's are all
> > local beause they are behind the router.
> >
> > #
> > # Use name-based virtual hosting.
> > #
> > NameVirtualHost 192.168.1.1
> >
> > <VirtualHost 192.168.1.1>
> > ServerAdmin william@williamperdue.com
> > DocumentRoot "/home/lperdue/public_html/perdueweb"
> > ServerName www.perdueweb.com
> > ServerAlias perdueweb.com
> > ErrorLog logs/perdueweb-error_log
> > TransferLog logs/perdueweb-error_log
> > </VirtualHost>
> >
> > <VirtualHost 192.168.1.1>
> > ServerAdmin william@williamperdue.com
> > DocumentRoot "/home/lperdue/public_html/katherineperdue"
> > ServerName www.katherineperdue.com
> > ServerAlias katherineperdue.com
> > ErrorLog logs/katherineperdue-error_log
> > TransferLog logs/katherineperdue-error_log
> > </VirtualHost>
> >
> > #
> > #
> > # DirectoryIndex: sets the file that Apache will serve if a directory
> > # is requested.
> > #
> > # The index.html.var file (a type-map) is used to deliver content-
> > # negotiated documents. The MultiViews Option can be used for the
> > # same purpose, but it is much slower.
> > #
> > DirectoryIndex index.html index.html.var
--
Mark Street, D.C.
Red Hat Certified Engineer
Cert# 807302251406074
--
Key fingerprint = 3949 39E4 6317 7C3C 023E 2B1F 6FB3 06E7 D109 56C0
GPG key http://www.streetchiro.com/pubkey.asc