110 lines
2.8 KiB
Plaintext
110 lines
2.8 KiB
Plaintext
======================
|
|
Simple Virtual-Hosting
|
|
======================
|
|
|
|
------------------------
|
|
Module: mod_simple_vhost
|
|
------------------------
|
|
|
|
:Author: Jan Kneschke
|
|
:Date: $Date: 2004/08/29 09:43:49 $
|
|
:Revision: $Revision: 1.1 $
|
|
|
|
:abstract:
|
|
virtual hosting
|
|
|
|
.. meta::
|
|
:keywords: lighttpd, virtual hosting
|
|
|
|
.. contents:: Table of Contents
|
|
|
|
Description
|
|
===========
|
|
|
|
Simple assumption:
|
|
|
|
Every virtual host is in a directory below a base directory in a path that
|
|
is the same as the name of the vhost. Below this vhost path might be an
|
|
extra directory which is the document root of the vhost.
|
|
|
|
The document root for each vhost is built from three values:
|
|
|
|
- server-root
|
|
- hostname
|
|
- document-root
|
|
|
|
The complete document root is constructed either by ::
|
|
|
|
server-root + hostname + document-root
|
|
|
|
or if this path does not exist by ::
|
|
|
|
server-root + default-host + document-root
|
|
|
|
A small example should make this idea clear: ::
|
|
|
|
/var/www/
|
|
/var/www/logs/
|
|
/var/www/servers/
|
|
/var/www/servers/www.example.org/
|
|
/var/www/servers/www.example.org/lib/
|
|
/var/www/servers/www.example.org/pages/
|
|
/var/www/servers/mail.example.org/
|
|
/var/www/servers/mail.example.org/lib/
|
|
/var/www/servers/mail.example.org/pages/
|
|
|
|
simple-vhost.server-root = "/var/www/servers/"
|
|
simple-vhost.default-host = "www.example.org"
|
|
simple-vhost.document-root = "pages"
|
|
|
|
You can use symbolic links to map several hostnames to the same directory.
|
|
|
|
Conditionals vs. simple-vhost
|
|
-----------------------------
|
|
|
|
You have to keep in mind that conditionals and simple-vhost interfere
|
|
with one another. ::
|
|
|
|
simple-vhost.server-root = "/var/www/servers/"
|
|
simple-vhost.default-host = "www.example.org"
|
|
simple-vhost.document-root = "pages"
|
|
|
|
$HTTP["host"] == "news.example.org" {
|
|
server.document-root = "/var/www/servers/news2.example.org/pages/"
|
|
}
|
|
|
|
When ``news.example.org`` is requested, the ``server.document-root``
|
|
will be set to ``/var/www/servers/news2.example.org/pages/``, but
|
|
simple-vhost will overwrite it shortly afterwards.
|
|
|
|
If ``/var/www/servers/news.example.org/pages/`` exists, that will be
|
|
used. If not, ``/var/www/servers/www.example.org/pages/`` will be taken
|
|
because it is the default.
|
|
|
|
To use conditionals together with simple-vhost, you should do this: ::
|
|
|
|
$HTTP["host"] !~ "^(news\.example\.org)$" {
|
|
simple-vhost.server-root = "/var/www/servers/"
|
|
simple-vhost.default-host = "www.example.org"
|
|
simple-vhost.document-root = "pages"
|
|
}
|
|
|
|
$HTTP["host"] == "news.example.org" {
|
|
server.document-root = "/var/www/servers/news2.example.org/pages/"
|
|
}
|
|
|
|
It will enable simple vhosting for all hosts other than ``news.example.org``.
|
|
|
|
Options
|
|
=======
|
|
|
|
simple-vhost.server-root
|
|
root of the virtual host
|
|
|
|
simple-vhost.default-host
|
|
use this hostname if the requested hostname does not have its own directory
|
|
|
|
simple-vhost.document-root
|
|
path below the vhost directory
|
|
|