From cc40af334e619bb549038238507407866f774f8f Mon Sep 17 00:00:00 2001 From: hongbotian Date: Mon, 30 Nov 2015 01:35:09 -0500 Subject: upload apache JIRA: BOTTLENECK-10 Change-Id: I67eae31de6dc824097dfa56ab454ba36fdd23a2c Signed-off-by: hongbotian --- rubbos/app/apache2/manual/vhosts/details.html | 13 + rubbos/app/apache2/manual/vhosts/details.html.en | 440 ++++++++++++++ .../apache2/manual/vhosts/details.html.ko.euc-kr | 384 ++++++++++++ .../app/apache2/manual/vhosts/details.html.tr.utf8 | 401 +++++++++++++ rubbos/app/apache2/manual/vhosts/examples.html | 13 + rubbos/app/apache2/manual/vhosts/examples.html.en | 654 +++++++++++++++++++++ .../apache2/manual/vhosts/examples.html.ko.euc-kr | 622 ++++++++++++++++++++ .../apache2/manual/vhosts/examples.html.tr.utf8 | 641 ++++++++++++++++++++ rubbos/app/apache2/manual/vhosts/fd-limits.html | 17 + rubbos/app/apache2/manual/vhosts/fd-limits.html.en | 133 +++++ .../apache2/manual/vhosts/fd-limits.html.ja.utf8 | 131 +++++ .../apache2/manual/vhosts/fd-limits.html.ko.euc-kr | 126 ++++ .../apache2/manual/vhosts/fd-limits.html.tr.utf8 | 128 ++++ rubbos/app/apache2/manual/vhosts/index.html | 29 + rubbos/app/apache2/manual/vhosts/index.html.de | 112 ++++ rubbos/app/apache2/manual/vhosts/index.html.en | 112 ++++ rubbos/app/apache2/manual/vhosts/index.html.es | 119 ++++ .../app/apache2/manual/vhosts/index.html.ja.utf8 | 108 ++++ .../app/apache2/manual/vhosts/index.html.ko.euc-kr | 110 ++++ .../app/apache2/manual/vhosts/index.html.ru.koi8-r | 107 ++++ .../app/apache2/manual/vhosts/index.html.tr.utf8 | 107 ++++ rubbos/app/apache2/manual/vhosts/ip-based.html | 13 + rubbos/app/apache2/manual/vhosts/ip-based.html.en | 160 +++++ .../apache2/manual/vhosts/ip-based.html.ko.euc-kr | 150 +++++ .../apache2/manual/vhosts/ip-based.html.tr.utf8 | 165 ++++++ rubbos/app/apache2/manual/vhosts/mass.html | 13 + rubbos/app/apache2/manual/vhosts/mass.html.en | 419 +++++++++++++ .../app/apache2/manual/vhosts/mass.html.ko.euc-kr | 425 +++++++++++++ rubbos/app/apache2/manual/vhosts/mass.html.tr.utf8 | 406 +++++++++++++ rubbos/app/apache2/manual/vhosts/name-based.html | 25 + .../app/apache2/manual/vhosts/name-based.html.de | 270 +++++++++ .../app/apache2/manual/vhosts/name-based.html.en | 248 ++++++++ .../app/apache2/manual/vhosts/name-based.html.es | 292 +++++++++ .../apache2/manual/vhosts/name-based.html.ja.utf8 | 273 +++++++++ .../manual/vhosts/name-based.html.ko.euc-kr | 238 ++++++++ .../apache2/manual/vhosts/name-based.html.tr.utf8 | 256 ++++++++ 36 files changed, 7860 insertions(+) create mode 100644 rubbos/app/apache2/manual/vhosts/details.html create mode 100644 rubbos/app/apache2/manual/vhosts/details.html.en create mode 100644 rubbos/app/apache2/manual/vhosts/details.html.ko.euc-kr create mode 100644 rubbos/app/apache2/manual/vhosts/details.html.tr.utf8 create mode 100644 rubbos/app/apache2/manual/vhosts/examples.html create mode 100644 rubbos/app/apache2/manual/vhosts/examples.html.en create mode 100644 rubbos/app/apache2/manual/vhosts/examples.html.ko.euc-kr create mode 100644 rubbos/app/apache2/manual/vhosts/examples.html.tr.utf8 create mode 100644 rubbos/app/apache2/manual/vhosts/fd-limits.html create mode 100644 rubbos/app/apache2/manual/vhosts/fd-limits.html.en create mode 100644 rubbos/app/apache2/manual/vhosts/fd-limits.html.ja.utf8 create mode 100644 rubbos/app/apache2/manual/vhosts/fd-limits.html.ko.euc-kr create mode 100644 rubbos/app/apache2/manual/vhosts/fd-limits.html.tr.utf8 create mode 100644 rubbos/app/apache2/manual/vhosts/index.html create mode 100644 rubbos/app/apache2/manual/vhosts/index.html.de create mode 100644 rubbos/app/apache2/manual/vhosts/index.html.en create mode 100644 rubbos/app/apache2/manual/vhosts/index.html.es create mode 100644 rubbos/app/apache2/manual/vhosts/index.html.ja.utf8 create mode 100644 rubbos/app/apache2/manual/vhosts/index.html.ko.euc-kr create mode 100644 rubbos/app/apache2/manual/vhosts/index.html.ru.koi8-r create mode 100644 rubbos/app/apache2/manual/vhosts/index.html.tr.utf8 create mode 100644 rubbos/app/apache2/manual/vhosts/ip-based.html create mode 100644 rubbos/app/apache2/manual/vhosts/ip-based.html.en create mode 100644 rubbos/app/apache2/manual/vhosts/ip-based.html.ko.euc-kr create mode 100644 rubbos/app/apache2/manual/vhosts/ip-based.html.tr.utf8 create mode 100644 rubbos/app/apache2/manual/vhosts/mass.html create mode 100644 rubbos/app/apache2/manual/vhosts/mass.html.en create mode 100644 rubbos/app/apache2/manual/vhosts/mass.html.ko.euc-kr create mode 100644 rubbos/app/apache2/manual/vhosts/mass.html.tr.utf8 create mode 100644 rubbos/app/apache2/manual/vhosts/name-based.html create mode 100644 rubbos/app/apache2/manual/vhosts/name-based.html.de create mode 100644 rubbos/app/apache2/manual/vhosts/name-based.html.en create mode 100644 rubbos/app/apache2/manual/vhosts/name-based.html.es create mode 100644 rubbos/app/apache2/manual/vhosts/name-based.html.ja.utf8 create mode 100644 rubbos/app/apache2/manual/vhosts/name-based.html.ko.euc-kr create mode 100644 rubbos/app/apache2/manual/vhosts/name-based.html.tr.utf8 (limited to 'rubbos/app/apache2/manual/vhosts') diff --git a/rubbos/app/apache2/manual/vhosts/details.html b/rubbos/app/apache2/manual/vhosts/details.html new file mode 100644 index 00000000..1ccf806c --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/details.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: details.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: details.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: details.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/rubbos/app/apache2/manual/vhosts/details.html.en b/rubbos/app/apache2/manual/vhosts/details.html.en new file mode 100644 index 00000000..14ad0dac --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/details.html.en @@ -0,0 +1,440 @@ + + + +An In-Depth Discussion of Virtual Host Matching - Apache HTTP Server + + + + + +
<-
+

An In-Depth Discussion of Virtual Host Matching

+
+

Available Languages:  en  | + ko  | + tr 

+
+ + +

The virtual host code was completely rewritten in + Apache 1.3. This document attempts to explain + exactly what Apache does when deciding what virtual host to + serve a hit from. With the help of the new + NameVirtualHost + directive virtual host configuration should be a lot easier and + safer than with versions prior to 1.3.

+ +

If you just want to make it work without + understanding how, here are some + examples.

+ +
+ +
top
+
+

Config File Parsing

+ +

There is a main_server which consists of all the + definitions appearing outside of + <VirtualHost> sections. There are virtual + servers, called vhosts, which are defined by + <VirtualHost> + sections.

+ +

The directives + Listen, + ServerName, + ServerPath, + and ServerAlias + can appear anywhere within the definition of a server. However, + each appearance overrides the previous appearance (within that + server).

+ +

The default value of the Listen field for + main_server is 80. The main_server has no default + ServerPath, or ServerAlias. The + default ServerName is deduced from the server's IP + address.

+ +

The main_server Listen directive has two functions. One + function is to determine the default network port Apache will + bind to. The second function is to specify the port number + which is used in absolute URIs during redirects.

+ +

Unlike the main_server, vhost ports do not affect + what ports Apache listens for connections on.

+ +

Each address appearing in the VirtualHost + directive can have an optional port. If the port is unspecified + it defaults to the value of the main_server's most recent + Listen statement. The special port * + indicates a wildcard that matches any port. Collectively the + entire set of addresses (including multiple A + record results from DNS lookups) are called the vhost's + address set.

+ +

Unless a NameVirtualHost + directive is used for a specific IP address the first vhost + with that address is treated as an IP-based vhost. The IP + address can also be the wildcard *.

+ +

If name-based vhosts should be used a + NameVirtualHost directive must appear + with the IP address set to be used for the name-based vhosts. + In other words, you must specify the IP address that holds the + hostname aliases (CNAMEs) for your name-based vhosts via a + NameVirtualHost directive in your configuration + file.

+ +

Multiple NameVirtualHost directives can be used + each with a set of VirtualHost directives but only + one NameVirtualHost directive should be used for + each specific IP:port pair.

+ +

The ordering of NameVirtualHost and + VirtualHost directives is not important which + makes the following two examples identical (only the order of + the VirtualHost directives for one + address set is important, see below):

+ + + + +

+ NameVirtualHost 111.22.33.44
+ <VirtualHost 111.22.33.44>
+ # server A
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.44>
+ # server B
+ ...
+ </VirtualHost>
+
+ NameVirtualHost 111.22.33.55
+ <VirtualHost 111.22.33.55>
+ # server C
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # server D
+ ...
+ </VirtualHost> +

+ <VirtualHost 111.22.33.44>
+ # server A
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # server C
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.44>
+ # server B
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # server D
+ ...
+ </VirtualHost>
+
+ NameVirtualHost 111.22.33.44
+ NameVirtualHost 111.22.33.55
+
+

+ + +

(To aid the readability of your configuration you should + prefer the left variant.)

+ +

After parsing the VirtualHost directive, the + vhost server is given a default Listen equal to the + port assigned to the first name in its VirtualHost + directive.

+ +

The complete list of names in the VirtualHost + directive are treated just like a ServerAlias (but + are not overridden by any ServerAlias statement) + if all names resolve to the same address set. Note that + subsequent Listen statements for this vhost will not + affect the ports assigned in the address set.

+ +

During initialization a list for each IP address is + generated and inserted into an hash table. If the IP address is + used in a NameVirtualHost directive the list + contains all name-based vhosts for the given IP address. If + there are no vhosts defined for that address the + NameVirtualHost directive is ignored and an error + is logged. For an IP-based vhost the list in the hash table is + empty.

+ +

Due to a fast hashing function the overhead of hashing an IP + address during a request is minimal and almost not existent. + Additionally the table is optimized for IP addresses which vary + in the last octet.

+ +

For every vhost various default values are set. In + particular:

+ +
    +
  1. If a vhost has no ServerAdmin, + Timeout, + KeepAliveTimeout, + KeepAlive, + MaxKeepAliveRequests, + ReceiveBufferSize, + or SendBufferSize + directive then the respective value is inherited from the + main_server. (That is, inherited from whatever the final + setting of that value is in the main_server.)
  2. + +
  3. The "lookup defaults" that define the default directory + permissions for a vhost are merged with those of the + main_server. This includes any per-directory configuration + information for any module.
  4. + +
  5. The per-server configs for each module from the + main_server are merged into the vhost server.
  6. +
+ +

Essentially, the main_server is treated as "defaults" or a + "base" on which to build each vhost. But the positioning of + these main_server definitions in the config file is largely + irrelevant -- the entire config of the main_server has been + parsed when this final merging occurs. So even if a main_server + definition appears after a vhost definition it might affect the + vhost definition.

+ +

If the main_server has no ServerName at this + point, then the hostname of the machine that httpd + is running on is used instead. We will call the main_server address + set those IP addresses returned by a DNS lookup on the + ServerName of the main_server.

+ +

For any undefined ServerName fields, a + name-based vhost defaults to the address given first in the + VirtualHost statement defining the vhost.

+ +

Any vhost that includes the magic _default_ + wildcard is given the same ServerName as the + main_server.

+ +
top
+
+

Virtual Host Matching

+ +

The server determines which vhost to use for a request as + follows:

+ +

Hash table lookup

+ +

When the connection is first made by a client, the IP + address to which the client connected is looked up in the + internal IP hash table.

+ +

If the lookup fails (the IP address wasn't found) the + request is served from the _default_ vhost if + there is such a vhost for the port to which the client sent the + request. If there is no matching _default_ vhost + the request is served from the main_server.

+ +

If the IP address is not found in the hash table then the + match against the port number may also result in an entry + corresponding to a NameVirtualHost *, which is + subsequently handled like other name-based vhosts.

+ +

If the lookup succeeded (a corresponding list for the IP + address was found) the next step is to decide if we have to + deal with an IP-based or a name-base vhost.

+ + + +

IP-based vhost

+ +

If the entry we found has an empty name list then we have + found an IP-based vhost, no further actions are performed and + the request is served from that vhost.

+ + + +

Name-based vhost

+ +

If the entry corresponds to a name-based vhost the name list + contains one or more vhost structures. This list contains the + vhosts in the same order as the VirtualHost + directives appear in the config file.

+ +

The first vhost on this list (the first vhost in the config + file with the specified IP address) has the highest priority + and catches any request to an unknown server name or a request + without a Host: header field.

+ +

If the client provided a Host: header field the + list is searched for a matching vhost and the first hit on a + ServerName or ServerAlias is taken + and the request is served from that vhost. A Host: + header field can contain a port number, but Apache always + matches against the real port to which the client sent the + request.

+ +

If the client submitted a HTTP/1.0 request without + Host: header field we don't know to what server + the client tried to connect and any existing + ServerPath is matched against the URI from the + request. The first matching path on the list is used and the + request is served from that vhost.

+ +

If no matching vhost could be found the request is served + from the first vhost with a matching port number that is on the + list for the IP to which the client connected (as already + mentioned before).

+ + + +

Persistent connections

+ +

The IP lookup described above is only done once for a + particular TCP/IP session while the name lookup is done on + every request during a KeepAlive/persistent + connection. In other words a client may request pages from + different name-based vhosts during a single persistent + connection.

+ + + +

Absolute URI

+ +

If the URI from the request is an absolute URI, and its + hostname and port match the main server or one of the + configured virtual hosts and match the address and + port to which the client sent the request, then the + scheme/hostname/port prefix is stripped off and the remaining + relative URI is served by the corresponding main server or + virtual host. If it does not match, then the URI remains + untouched and the request is taken to be a proxy request.

+ + +

Observations

+ +
    +
  • A name-based vhost can never interfere with an IP-base + vhost and vice versa. IP-based vhosts can only be reached + through an IP address of its own address set and never + through any other address. The same applies to name-based + vhosts, they can only be reached through an IP address of the + corresponding address set which must be defined with a + NameVirtualHost directive.
  • + +
  • ServerAlias and ServerPath + checks are never performed for an IP-based vhost.
  • + +
  • The order of name-/IP-based, the _default_ + vhost and the NameVirtualHost directive within + the config file is not important. Only the ordering of + name-based vhosts for a specific address set is significant. + The one name-based vhosts that comes first in the + configuration file has the highest priority for its + corresponding address set.
  • + +
  • For security reasons the port number given in a + Host: header field is never used during the + matching process. Apache always uses the real port to which + the client sent the request.
  • + +
  • If a ServerPath directive exists which is a + prefix of another ServerPath directive that + appears later in the configuration file, then the former will + always be matched and the latter will never be matched. (That + is assuming that no Host: header field was + available to disambiguate the two.)
  • + +
  • If two IP-based vhosts have an address in common, the + vhost appearing first in the config file is always matched. + Such a thing might happen inadvertently. The server will give + a warning in the error logfile when it detects this.
  • + +
  • A _default_ vhost catches a request only if + there is no other vhost with a matching IP address + and a matching port number for the request. The + request is only caught if the port number to which the client + sent the request matches the port number of your + _default_ vhost which is your standard + Listen by default. A wildcard port can be + specified (i.e., _default_:*) to catch + requests to any available port. This also applies to + NameVirtualHost * vhosts.
  • + +
  • The main_server is only used to serve a request if the IP + address and port number to which the client connected is + unspecified and does not match any other vhost (including a + _default_ vhost). In other words the main_server + only catches a request for an unspecified address/port + combination (unless there is a _default_ vhost + which matches that port).
  • + +
  • A _default_ vhost or the main_server is + never matched for a request with an unknown or + missing Host: header field if the client + connected to an address (and port) which is used for + name-based vhosts, e.g., in a + NameVirtualHost directive.
  • + +
  • You should never specify DNS names in + VirtualHost directives because it will force + your server to rely on DNS to boot. Furthermore it poses a + security threat if you do not control the DNS for all the + domains listed. There's more + information available on this and the next two + topics.
  • + +
  • ServerName should always be set for each + vhost. Otherwise A DNS lookup is required for each + vhost.
  • +
+ + +
top
+
+

Tips

+ +

In addition to the tips on the DNS Issues page, here are + some further tips:

+ +
    +
  • Place all main_server definitions before any + VirtualHost definitions. (This is to aid the + readability of the configuration -- the post-config merging + process makes it non-obvious that definitions mixed in around + virtual hosts might affect all virtual hosts.)
  • + +
  • Group corresponding NameVirtualHost and + VirtualHost definitions in your configuration to + ensure better readability.
  • + +
  • Avoid ServerPaths which are prefixes of + other ServerPaths. If you cannot avoid this then + you have to ensure that the longer (more specific) prefix + vhost appears earlier in the configuration file than the + shorter (less specific) prefix (i.e., "ServerPath + /abc" should appear after "ServerPath /abc/def").
  • +
+ +
+
+

Available Languages:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/details.html.ko.euc-kr b/rubbos/app/apache2/manual/vhosts/details.html.ko.euc-kr new file mode 100644 index 00000000..1ba167ee --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/details.html.ko.euc-kr @@ -0,0 +1,384 @@ + + + +ȣƮ ã⿡ ڼ - Apache HTTP Server + + + + + +
<-
+

ȣƮ ã⿡ ڼ

+
+

:  en  | + ko  | + tr 

+
+
ֽ ƴմϴ. + ֱٿ ϼ.
+ + +

ȣƮ ڵ ġ 1.3 ٽ + ۼǾ. ġ û  ȣƮ + ϴ Ѵ. ο NameVirtualHost þ Ͽ + ȣƮ 1.3 .

+ +

 ϴ ʰ ϰԸ + ϰ ʹٸ, ϶.

+ +
+
+
top
+
+

б

+ +

<VirtualHost> + ּ . <VirtualHost> + κ ȣƮ θ.

+ +

Listen, + ServerName, + ServerPath, + ServerAlias þ + ִ. ׷ þ + ( ) þ ȿϴ.

+ +

ּ Listen ⺻ 80̴. ּ + ServerPath ServerAlias + ⺻ . ServerName ⺻ + IP ̴ּ.

+ +

ּ Listen þ ΰ Ѵ. ù° + ġ ⺻ Ʈ Ʈ ϴ ̴. ° + ̷ URI Ʈ ȣ ϴ ̴.

+ +

ּ ޸ ȣƮ Ʈ ġ ٸ + Ʈ ʴ´.

+ +

VirtualHost þ Ʈ ִ. + Ʈ ּ ֱ Listen + Ѵ. Ư Ʈ *  Ʈ + Īϴ ϵī̴. (DNS ˻ A + ڵ带 Ͽ) ȣƮ ּҸ ĪϿ ȣƮ + ּ(address set)̶ θ.

+ +

Ư IP ּҿ NameVirtualHost þ ٸ + ּҸ ϴ ù° ȣƮ IP ȣƮ Ѵ. + IP ּҿ ϵī * ִ.

+ +

̸ ȣƮ Ѵٸ ̸ ȣƮ + IP ּҸ NameVirtualHost þ + ؾ Ѵ. , NameVirtualHost + þ ̸ ȣƮ ȣƮ(CNAME) شϴ + IP ּҸ ؾ Ѵ.

+ +

Ư IP:Ʈ ֿ NameVirtualHost + þ Ѵٸ, NameVirtualHost þ + VirtualHost þ  ִ.

+ +

NameVirtualHost VirtualHost + þ ߿ ʱ⶧ ( + ּտ VirtualHost + ߿ϴ. Ʒ ):

+ + + + +

+ NameVirtualHost 111.22.33.44
+ <VirtualHost 111.22.33.44>
+ # A
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.44>
+ # B
+ ...
+ </VirtualHost>
+
+ NameVirtualHost 111.22.33.55
+ <VirtualHost 111.22.33.55>
+ # C
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # D
+ ...
+ </VirtualHost> +

+ <VirtualHost 111.22.33.44>
+ # A
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # C
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.44>
+ # B
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # D
+ ...
+ </VirtualHost>
+
+ NameVirtualHost 111.22.33.44
+ NameVirtualHost 111.22.33.55
+
+

+ + +

( б ϴ.)

+ +

VirtualHost þ , ȣƮ + VirtualHost þ Ʈ ⺻ + Listen Ѵ.

+ +

VirtualHost þ ̸ + ּտ Ѵٸ ServerAlias Ѵ + (׷ ٸ ServerAlias ʴ´). + ȣƮ ߰ Listen ּ + Ʈ ϶.

+ +

Ҷ IP ּ ؽ̺ ߰Ѵ. + NameVirtualHost þ IP ּҸ ϸ + IP ּҿ ̸ ȣƮ Ѵ. + ּҿ ȣƮ ٸ NameVirtualHost + þ ϰ α׿ Ѵ. IP ȣƮ + ؽ̺ ߰ ʴ´.

+ +

ؽԼ ϱ⶧ û IP ּҸ ؽϴ + δ . ؽ̺ IP ּ κ + ̿ ȭִ.

+ +

ȣƮ ⺻ ȴ. Ư:

+ +
    +
  1. ȣƮ ServerAdmin, + ResourceConfig, + AccessConfig, + Timeout, + KeepAliveTimeout, + KeepAlive, + MaxKeepAliveRequests, + SendBufferSize + þ ٸ ּ ش ´. (, + ּ Ѵ.)
  2. + +
  3. ȣƮ 丮 ⺻ ϴ " + ⺻(lookup defaults)" ּ . + 丮 (per-directory configuration) + ⿡ شȴ.
  4. + +
  5. (per-server config) ּ + ȣƮ ģ.
  6. +
+ +

⺻ ּ ȣƮ "⺻" Ȥ "" + ȴ. ׷ Ͽ ּ ϴ ġ . + ġ ּ оδ. + ׷ ּ ǰ ȣƮ ڿ ͵ ȣƮ + ǿ ش.

+ +

ּ ServerName ٸ ϴ + ǻ ȣƮ Ѵ. ּ + ServerName DNS ̻Ͽ IP ּҵ + ּ ̶ּ θ.

+ +

̸ ȣƮ ServerName + ȣƮ ϴ VirtualHost + ó ּҸ ⺻ Ѵ.

+ +

Ư _default_ Ʈī带 ϴ + ȣƮ ּ ServerName .

+ +
top
+
+

ȣƮ ã

+ +

Ʒ  ȣƮ û + ó Ѵ:

+ +

ؽ̺ ã

+ +

Ŭ̾Ʈ ó ϸ IP ּҸ IP + ؽ̺ ã´.

+ +

IP ּҸ ã Ŭ̾Ʈ û Ʈ + شϴ ȣƮ ִٸ, _default_ ȣƮ + û Ѵ. _default_ ȣƮ + ٸ ּ û Ѵ.

+ +

ؽ̺ IP ּҰ Ʈ ȣ + NameVirtualHost * ش ִ. + ̸ ȣƮó óѴ.

+ +

ãҴٸ (Ͽ IP ּҿ شϴ ׸ ã), + IP ȣƮ ̸ ȣƮ Ѵ.

+ + + +

IP ȣƮ

+ +

ã ׸ ̸ ٸ IP ȣƮ̴. + ̻ ۾ ʿ, ȣƮ û óѴ.

+ + + +

̸ ȣƮ

+ +

̸ Ͽ Ѱ ̻ ȣƮ ԵǸ + ̸ ȣƮ̴. Ͽ ȣƮ + VirtualHost ġѴ.

+ +

Ͽ ù° ȣƮ(Ͽ ش IP ּҸ + ϴ ù° ȣƮ) 켱 , + ų Host: û + óѴ.

+ +

Ŭ̾Ʈ Host: ָ, Ͽ + ù° ServerName̳ + ServerAlias ϴ ȣƮ û + Ѵ. Host: Ʈ ȣ + , ġ ׻ Ŭ̾Ʈ û Ʈ + ã´.

+ +

Ŭ̾Ʈ Host: HTTP/1.0 û + ϸ Ŭ̾Ʈ  Ϸ ⶧ + û URI شϴ ServerPath ִ ã´. + Ͽ ã θ ϰ, ȣƮ + û Ѵ.

+ +

ϴ ȣƮ ã ٸ, (̹ տ ߵ) + Ŭ̾Ʈ IP Ͽ ġϴ Ʈ ȣ + ϴ ù° ȣƮ û Ѵ.

+ + + +

+ +

IP ѵ Ư TCP/IP Ǵ ѹ + ã, ̸ KeepAlive/ ᵿ û + ã´. , Ŭ̾Ʈ ᵿ ̸ + ȣƮ û ִ.

+ + + +

URI

+ +

û URI URḬ Ŭ̾Ʈ û + ȣƮ Ʈ ּ Ư ȣƮ شϸ, + ּ Ȥ ȣƮ URI Ŵ/ȣƮ/Ʈ + κ URI Ѵ. شϴ + ּ ȣƮ ٸ URI ״ ΰ û + Ͻ û óѴ.

+ + +

+ +
    +
  • ̸ ȣƮ IP ȣƮ ο + ʴ´. IP ȣƮ ڽ ̸ + IP ּҿܿ  ּҷε . ̸ + ȣƮ . ̸ ȣƮ + NameVirtualHost þ ּ + IP ּҸ ؼ ִ.
  • + +
  • IP ȣƮ ServerAlias + ServerPath ˻ ʴ´.
  • + +
  • Ͽ ̸ ȣƮ, IP ȣƮ, + _default_ ȣƮ, NameVirtualHost + þ ߿ ʴ. Ư ּտ + ̸ ȣƮ ߿ϴ. Ͽ + տ ̸ ȣƮ ڽ ּտ + 켱 .
  • + +
  • Host: Ե Ʈ + ȣ ʴ´. ġ ׻ Ŭ̾Ʈ + û Ʈ Ѵ.
  • + +
  • ( ̸ Host: ٰ + ϸ,) ServerPath þ Ͽ + ڿ ٸ ServerPath þ պκ + Īϴ ׻ տ þ Ѵ.
  • + +
  • IP ȣƮ ּҸ , ׻ + Ͽ տ ȣƮ Ѵ. ̷ + ƹ 𸣰 Ͼ ִ. ̷ Ȳ ߰ϸ + αϿ Ѵ.
  • + +
  • _default_ ȣƮ û IP ּ + Ʈ ȣ شϴ ȣƮ û óѴ. + Ŭ̾Ʈ û Ʈ ȣ _default_ + ȣƮ Ʈ ȣ(⺻ Listen) + û óѴ.  Ʈ û̶ + ( , _default_:*) ϵī + Ʈ ִ. NameVirtualHost * + ȣƮ .
  • + +
  • ּ Ŭ̾Ʈ IP ּҿ Ʈ ȣ + شϴ (_default_ ȣƮ Ͽ) + ȣƮ û Ѵ. , ּ + ( Ʈ شϴ _default_ ȣƮ + ٸ) ּ/Ʈ ֿ û óѴ.
  • + +
  • Ŭ̾Ʈ ( , NameVirtualHost + þ) ̸ ȣƮ ּ( Ʈ) + Host: ų + û û _default_ + ȣƮ ּ ó ʴ´.
  • + +
  • Ҷ DNS + VirtualHost þ DNS ̸ . + Դٰ DNS ʴ´ٸ + Ȼ 赵 ִ. ̿ ִ.
  • + +
  • ȣƮ ServerName ׻ + ؾ Ѵ. ȱ׷ ȣƮ DNS ã ȴ.
  • +
+ + +
top
+
+

+ +

DNS + ߰ Ʒ ִ:

+ +
    +
  • ּ Ǹ VirtualHost տ + ξ. (׷ б ϴ. ȱ׷ ߿ + ȣƮ ̿ ǰ ȣƮ + ֱ⶧ ȥ.)
  • + +
  • б ϵ شϴ NameVirtualHost + VirtualHost ǵ .
  • + +
  • ServerPath ٸ ServerPath + պκ Īϴ 츦 ϶. ٸ Ͽ + պκ ( ڼ) ȣƮ ª ( ڼ) + ȣƮ տ ξ. ( , + "ServerPath /abc" "ServerPath /abc/def" ξ + Ѵ.
  • +
+ +
+
+

:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/details.html.tr.utf8 b/rubbos/app/apache2/manual/vhosts/details.html.tr.utf8 new file mode 100644 index 00000000..0049164b --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/details.html.tr.utf8 @@ -0,0 +1,401 @@ + + + +Sanal Konak Eşlemenin Derinliğine İncelenmesi - Apache HTTP Sunucusu + + + + + +
<-
+

Sanal Konak Eşlemenin Derinliğine İncelenmesi

+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ + +

Sanal konak kodu Apache 1.3 sürümünde baştan yeniden + yazıldı. Bu belgede, bir istek aldığında Apache’nin hangi sanal konak + ile hizmet sunacağına nasıl karar verdiği açıklanmaya çalışılmıştır. + NameVirtualHost yönergesi sayesinde + sanal konak yapılandırması 1.3 sürümünün öncesine göre daha kolay ve + daha güvenilir hale gelmiştir.

+ +

Sanal konakların nasıl çalıştığını öğrenmeden sadece çalıştırmak + isterseniz doğrudan örneklerin bulunduğu + sayfaya bakabilirsiniz.

+ +
+ +
top
+
+

Yapılandırma Dosyasının Çözümlenmesi

+ +

Bu belgede <VirtualHost> bölümleri dışında kalan + tanımlardan bahsederken ana_sunucu, <VirtualHost> bölümlerindeki tanımlamalardan + bahsederken sankonlar diyeceğiz.

+ +

Listen, + ServerName, + ServerPath ve + ServerAlias yönergeleri bir sunucu + yapılandırmasının her yerinde karşımıza çıkabilir. Bununla birlikte, + sunucu dahilinde son göründükleri yerlerde önceki eşdeğerlerini geçersiz + kılarlar.

+ +

Listen yönergesinin ana_sunucu için öntanımlı değeri + 80’dir. ServerPath ve ServerAlias + yönergelerinin ana_sunucu için öntanımlı değerleri yoktur. Öntanımlı + ServerName değeri ise sunucunun IP adresinden elde + edilir.

+ +

Ana_sunucu Listen yönergesinin iki işlevi vardır. Biri + Apache’nin dinleyeceği öntanımlı ağ portunu belirlemek, diğeri ise + yönlendirmeler sırasında mutlak URI’lerde kullanılan port numarasını + belirlemektir.

+ +

Ana_sunucunun aksine sankonların portları Apache‘nin dinleyeceği + portlar üzerinde etkili değildir.

+ +

VirtualHost yönergesinde görünen her adresin seçimlik bir + portu olabilir. Eğer bir port belirtilmemişse öntanımlı olarak + ana_sunucunun son Listen yönergesinin değeri kullanılır. + Port olarak * belirtildiği takdirde bütün portlar dinlenir. + Adreslerin tamamını (DNS sorgularındaki çoklu A kayıtları dahil) içeren + kümeye sankonların adres kümesi denir.

+ +

NameVirtualHost yönergesi ilk + sankonun IP adresi için kullanılmadığı takdirde bu IP adresine sahip ilk + sankon IP’ye dayalı sankon olarak ele alınır. IP adresi olarak + * belirtmek de mümkündür.

+ +

Eğer isme dayalı sankonlar kullanılacaksa NameVirtualHost + yönergesinin bu isme dayalı sankonların IP adresi kümesini içermesi + gerekir. Başka bir deyişle, yapılandırma dosyanızın + NameVirtualHost yönergesine sankonların sunucu isimlerinin + karşı düştüğü IP adresini yazmalısınız.

+ +

Çok sayıda NameVirtualHost yönergesi belirtebilirse de her + IP:port çifti için birden fazla NameVirtualHost yönergesi + belirtilmemelidir.

+ +

Aşağıdaki iki örneğin eşdeğer olması için NameVirtualHost + ve VirtualHost yönergelerinin sıralamasının bir önemi + yoktur. (Sadece tek adreslik küme içindeki + VirtualHost yönergelerinin sırası önemlidir; aşağıya + bakınız:)

+ + + + +

+ NameVirtualHost 111.22.33.44
+ <VirtualHost 111.22.33.44>
+ # sunucu A
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.44>
+ # sunucu B
+ ...
+ </VirtualHost>
+
+ NameVirtualHost 111.22.33.55
+ <VirtualHost 111.22.33.55>
+ # sunucu C
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # sunucu D
+ ...
+ </VirtualHost> +

+ <VirtualHost 111.22.33.44>
+ # sunucu A
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # sunucu C
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.44>
+ # sunucu B
+ ...
+ </VirtualHost>
+ <VirtualHost 111.22.33.55>
+ # sunucu D
+ ...
+ </VirtualHost>
+
+ NameVirtualHost 111.22.33.44
+ NameVirtualHost 111.22.33.55
+
+

+ + +

(Okuma kolaylığı bakımından soldaki sürümü tercih etmenizi öneririz.) +

+ +

VirtualHost yönergesi çözümlendikten sonra sankon + sunucusuna yönergedeki ilk isme atanmış portun öntanımlı olduğu bir + Listen verilir.

+ +

Eğer tüm VirtualHost isimlerinin listesi aynı adres + kümesine çözümleniyorsa bu isimler birer ServerAlias gibi + ele alınırlar (bir ServerAlias yönergesi ile geçersiz + kılınmadıkça). Bir sankon tanımından sonra gelen Listen + satırlarının o sankonun adres kümesine atanmış portlara bir etkisinin + olmayacağına dikkat ediniz.

+ +

İsim listeleri IP adreslerine göre gruplanır ve bir çiftler tablosuna + kaydedilir. Eğer IP adresi bir NameVirtualHost yönergesinde + kullanılmışsa, liste bu IP adresi için tanımlanmış tüm sankonları + içerir. Eğer bu IP adresinin tanımlandığı bir sankon yoksa o + NameVirtualHost yönergesi yoksayılır ve günlüğe bir hata + kaydı düşülür. IP’ye dayalı sankonlar için çiftler listesinde isim + alanları boştur.

+ +

Çiftler listesini işleyen işlevin hızı nedeniyle bir istek sırasında IP + adresine göre gruplama yaparken kaynak harcaması en düşük düzeyde olur + hatta neredeyse hiç olmaz. Ek olarak, tablo, IP adresinin son + sekizlisindeki değişikliklere göre de en iyilenir.

+ +

Her sankon için bazı değerler öntanımlı olarak atanır. Bunların + başlıcaları:

+ +
    +
  1. Sankon bir ServerAdmin + yönergesi içermiyorsa, + Timeout, + KeepAliveTimeout, + KeepAlive, + MaxKeepAliveRequests, + ReceiveBufferSize ve + SendBufferSize yönergeleri için + öntanımlı değerler ana_sunucudaki eşdeğerlerinden miras alınır. (Yani, + bu yönergeler için ana_sunucudaki son değerler miras alınır.)
  2. + +
  3. Sankon için öntanımlı dizin erişim izinlerinin tanımlandığı "arama + öntanımlıları" ana_sunucununkilere katılır. Buna her modülün dizinlere + özgü yapılandırma bilgileri dahildir.
  4. + +
  5. Her modülün ana_sunucudaki sunuculara özgü yapılandırmaları sankon + sunucusununkilerle katıştırılır.
  6. +
+ +

Esasen, ana_sunucu, sankon sunucularını oluştururken bir öntanımlılar + listesi veya öntanımlı değerlere dayanak noktası olarak ele alınır. + Fakat bu ana_sunucu tanımlarının yapılandırma dosyasındaki yerlerinin + saptanmasının konumuzla ilgisi yoktur; ana_sunucu yapılandırmasının + tamamı son katıştırma yapılacağı zaman çözümlenir. Bu bakımdan, + ana_sunucu tanımlarından bir kısmı sankon tanımlarından sonra yer alsa + bile sankon tanımlarında etkili olabilir.

+ +

Eğer, bu noktada ana_sunucu hiçbir ServerName satırı + içermiyorsa httpd programının çalıştığı makinenin + konak ismi öntanımlıdır. Ana_sunucunun ServerName için + yaptığı DNS sorgusundan dönen IP adreslerine ana_sunucu adres + kümesi diyoruz.

+ +

Tanımsız ServerName alanları için bir isme dayalı sankon, sankonu tanımlayan VirtualHost yönergesinde belirtilen ilk adresi öntanımlı değer kabul eder.

+ +

Sihirli _default_ sankonları için ana_sunucunun ServerName değeri kullanılır.

+ +
top
+
+

Sanal Konağın Belirlenmesi

+ +

Sunucu bir istek durumunda hangi sankonun kullanılacağını şöyle + belirler:

+ +

Değer çiftleri tablosu aranır

+ +

Bir istemci tarafından bağlantı ilk yapıldığında önce IP-isim çiftleri + tablosunda istemcinin bağlandığı IP adresi için bir arama yapılır.

+ +

Arama başarısız olursa (IP adresi yoksa) hizmet, istekte belirtilen + port için bir _default_ sankon varsa, o sankondan, yoksa + ana_sunucudan sunulur.

+ +

Eğer çiftler tablosunda IP adresi yoksa port numarası ile eşleştirme + çabası ayrıca, diğer isme dayalı sanal konaklardaki gibi ard arda ele + alınmayı gerektiren NameVirtualHost * durumundaki bir + girdiyle sonuçlanabilir.

+ +

Arama sonucunda tabloda IP adresi bulunursa sonraki adım hizmetin bir + IP’ye dayalı sankondan mı yoksa isme dayalı bir sankondan mı + sunulacağına karar vermektir.

+ + + +

IP’ye dayalı sankon

+ +

Eğer tabloda bulduğumuz girdinin isim alanları boşsa bir IP’ye dayalı + sanal konak bulmuşuz demektir. Artık karar vermek için başka bir şey + yapmaya gerek yoktur ve istek bu sankondan sunulur.

+ + + +

İsme dayalı sankon

+ +

Tabloda bulduğumuz girdi için bir isim listesi varsa bir isme dayalı + sankon sözkonusudur. Bu isim listesi, sankonları, ilgili + VirtualHost bölümlerinin yapılandırma dosyasında yer alış + sırasına göre içerir.

+ +

Bu listedeki ilk sankon (yapılandırma dosyasında belirtilen IP adresine + sahip ilk sankon) en yüksek önceliğe sahiptir ve sunucu ismi + belirtilmeyen veya Host: başlık alanı olmayan istekleri bu + sankon karşılar.

+ +

Eğer istemci bir Host: başlık alanı ile istek yapmışsa + liste bu sankon için aranır ve hizmet ServerName veya + ServerAlias ile ilk eşleşmenin sağlandığı sankondan + sunulur. Host: alanında bir port belirtilebilirse de Apache + daima istemcinin isteği gönderdiği portu gerçek port kabul eder.

+ +

Eğer istemci Host: başlık alanı bulunmayan bir HTTP/1.0 + isteği yapmışsa istemcinin hangi sankona bağlanmayı denediğini bilemeyiz + ve istekteki URI ile mevcut ServerPath değerini + eşleştirmeye çalışırız. Listedekilerden ilk eşleşen yola sahip sankondan + hizmeti sunarız.

+ +

İstekle eşleşen bir sankon bulunamazsa IP listesinde istemcinin + bağlandığı portla eşleşen ilk sankondan hizmeti sunarız.

+ + + +

Kalıcı bağlantılar

+ +

Yukarıda açıklanan IP araması belli bir TCP/IP oturumunda bir defaya + mahsus yapıldığı halde bir kalıcı/KeepAlive bağlantı sırasında her istek + için ayrı bir arama yapılır. Başka bir deyişle, bir istemci tek bir + kalıcı bağlantı üzerinde farklı isme dayalı sankonlardan sayfa talebinde + bulunabilir.

+ + + +

Mutlak URI

+ +

Eğer istekte belirtilen URI bir mutlak URI ise ve istek yapılan konak + ismi ve port ana sunucuyla veya sankonlardan biriyle eşleşiyorsa, + şema/konakadı/port öneki ayrılır ve elde edilen göreli URI ilgili + sankondan veya ana sunucudan sunulur. Eğer bir eşleşme sağlanamazsa + URI’ye dokunulmaz ve istek bir vekil isteği olarak ele alınır.

+ + +

İzlenimler

+ +
    +
  • Bir isme dayalı sankon asla bir IP’ye dayalı sankon ile (veya tersi) + etkileşime girmez. IP’ye dayalı sankonlara sadece kendi adres + kümesindeki bir IP adresi üzerinden erişilebilir, asla başka bir + adresten erişilemez. Aynısı isme dayalı sankonlara da uygulanır; + onlara sadece bir NameVirtualHost yönergesi ile + tanımlanmış adres kümesindeki bir IP adresi üzerinden + erişilebilir.
  • + +
  • Bir IP’ye dayalı sankon için asla ServerAlias ve + ServerPath değerine bakılmaz.
  • + +
  • Yapılandırma dosyası içinde isme/IP’ye dayalı ve + _default_ sankonlar ile NameVirtualHost + yönergelerinin yer alış sırasının birbirlerine göre bir önemi yoktur. + Sıralama sadece aynı IP adresine sahip isme dayalı sankonlar arasında + önemlidir. Aynı adres kümesine mensup isme dayalı sankonlardan + yapılandırma dosyasında ilk sırada yer alanı en yüksek önceliğe + sahiptir.
  • + +
  • Güvenlik saikiyle, eşleştirme işlemi sırasında Host: + başlık alanında belirtilen port asla kullanılmaz. Apache daima + istemcinin bağlantı kurduğu gerçek portu kullanır.
  • + +
  • Değeri başka bir ServerPath yönergesinin değeri için + önek olan bir ServerPath yönergesi yapılandırma + dosyasında daha önce yer alıyorsa sonrakiyle eşleşme asla + gerçekleşmez. (Bu belirsizliği giderecek bir Host: başlık + alanının mümkün olmadığı varsayılır.)
  • + +
  • Eğer tek bir IP adresine sahip IP’ye dayalı iki sankon varsa eşleşme + daima yapılandırma dosyasında ilk yer alanla gerçekleşir. Böyle bir + şey kasten yapılmaz. Sunucu böyle bir durumu saptadığında hata + günlüğünde bir uyarı verecektir.
  • + +
  • Bir _default_ sankon sadece istekle eşleşen bir IP + adresi bulunamadığında port numarası eşleştiği takdirde isteğe hizmet + sunabilir. Port düzeyinde eşleşmenin olabilmesi için isteğin geldiği + port ile sankon için belirtilen port eşleşmelidir. Olası tüm portlarla + eşleşmeyi sağlamak üzere yıldız imi (_default_:* + şeklinde) kullanılabilir. Aynı şey NameVirtualHost * + sankonlarına da uygulanır.
  • + +
  • Ana_sunucunun bir isteğe hizmet sunabilmesi için istemcinin + bağlandığı IP adresi ve port hiçbir yerde belirtilmemiş ve + _default_ dahil hiçbir sankon ile eşleşme sağlanamamış + olmalıdır. Başka bir deyişle, istemcinin bağlandığı port ile eşleşen + bir _default_ sankon olmadıkça adres ve port belirtmeyen + bir isteğe ana_sunucu yanıt verecektir.
  • + +
  • Host: başlık alanı içermeyen veya hedefi bilinmeyen bir + istek geldiği takdirde, eğer bu istemcinin bağlandığı adres ve port + için (örneğin, NameVirtualHost ile) tanımlanmış bir isme + dayalı sankon varsa bu isteğe ne ana_sunucu ne de bir + _default_ sankon hizmet sunabilir.
  • + +
  • VirtualHost yönergelerinde asla DNS isimleri + belirtmemelisiniz. Aksi takdirde sunucuyu başlatma sırasında DNS + sorgusu yapmaya zorlamış olursunuz. Listelenen tüm alanlar için DNS + üzerinde tam denetime sahip değilseniz bu ayrıca bir güvenlik + tehdidine yol açar. Bu konuda daha ayrıntılı bilgi edinmek için DNS ile ilgili konular ve Apache + belgesine bakınız.
  • + +
  • ServerName her sankon için ayrı ayrı belirlenmiş + olmalıdır. Aksi takdirde her sankon için bir DNS sorgusu gerekir.
  • +
+ + +
top
+
+

İpuçları

+ +

DNS konuları sayfasındaki + ipuçlarına ilaveten burada da bazı ipuçları bulacaksınız:

+ +
    +
  • Ana_sunucu tanımlarının hepsini VirtualHost + tanımlarının öncesinde bitirin. Bu ayrıca yapılandırmanızın + okunabilirliğini de arttırır; VirtualHost tanımlarının + sonrasına sarkan yapılandırmaların katıştırılması işlemi tüm sanal + konakları etkileyebilen tanımlar bakımından bir + karışıklığa/belirsizliğe sebep olabilir.)
  • + +
  • Birbirleriyle ilgili NameVirtualHost ve + VirtualHost tanımlarını okunabilirliği arttırmak için + gruplayın.
  • + +
  • Değeri başka bir ServerPath için önek olan tanımlamalar + yapmaktan kaçının. Bundan kaçınamıyorsanız, yolu uzun olanı yolu kısa + olanın öncesine yerleştirin. Örneğin, "ServerPath /abc/def" önce + "ServerPath /abc" sonra yer alsın.
  • +
+ +
+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/examples.html b/rubbos/app/apache2/manual/vhosts/examples.html new file mode 100644 index 00000000..ae55ad07 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/examples.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: examples.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: examples.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: examples.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/rubbos/app/apache2/manual/vhosts/examples.html.en b/rubbos/app/apache2/manual/vhosts/examples.html.en new file mode 100644 index 00000000..317294dc --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/examples.html.en @@ -0,0 +1,654 @@ + + + +VirtualHost Examples - Apache HTTP Server + + + + + +
<-
+

VirtualHost Examples

+
+

Available Languages:  en  | + ko  | + tr 

+
+ + +

This document attempts to answer the commonly-asked questions about + setting up virtual hosts. These scenarios are those involving multiple + web sites running on a single server, via name-based or IP-based virtual hosts. +

+ +
+ +
top
+
+

Running several name-based web + sites on a single IP address.

+ +

Your server has a single IP address, and multiple aliases (CNAMES) + point to this machine in DNS. You want to run a web server for + www.example1.com and www.example2.org on this + machine.

+ +

Note

Creating virtual + host configurations on your Apache server does not magically + cause DNS entries to be created for those host names. You + must have the names in DNS, resolving to your IP + address, or nobody else will be able to see your web site. You + can put entries in your hosts file for local + testing, but that will work only from the machine with those + hosts entries.

+
+ +

Server configuration

+ + + # Ensure that Apache listens on port 80
+ Listen 80
+
+ # Listen for virtual host requests on all IP addresses
+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ + DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ # Other directives here
+
+
+ </VirtualHost>
+
+ <VirtualHost *:80>
+ + DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ # Other directives here
+
+
+ </VirtualHost> +

+ +

The asterisks match all addresses, so the main server serves no + requests. Due to the fact that www.example1.com is first + in the configuration file, it has the highest priority and can be seen + as the default or primary server. That means + that if a request is received that does not match one of the specified + ServerName directives, it will be served by this first + VirtualHost.

+ +
+

Note

+ +

You can, if you wish, replace * with the actual + IP address of the system. In that case, the argument to + VirtualHost must match the argument to + NameVirtualHost:

+ +

+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+ # etc ... +

+ +

However, it is additionally useful to use * + on systems where the IP address is not predictable - for + example if you have a dynamic IP address with your ISP, and + you are using some variety of dynamic DNS solution. Since + * matches any IP address, this configuration + would work without changes whenever your IP address + changes.

+
+ +

The above configuration is what you will want to use in almost + all name-based virtual hosting situations. The only thing that this + configuration will not work for, in fact, is when you are serving + different content based on differing IP addresses or ports.

+ +
top
+
+

Name-based hosts on more than one + IP address.

+ +
+

Note

Any of the + techniques discussed here can be extended to any number of IP + addresses.

+
+ +

The server has two IP addresses. On one (172.20.30.40), we + will serve the "main" server, server.domain.com and on the + other (172.20.30.50), we will serve two or more virtual hosts.

+ +

Server configuration

+ + + Listen 80
+
+ # This is the "main" server running on 172.20.30.40
+ ServerName server.domain.com
+ DocumentRoot /www/mainserver
+
+ # This is the other address
+ NameVirtualHost 172.20.30.50
+
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ # Other directives here ...
+
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ # Other directives here ...
+
+
+ </VirtualHost> +

+ +

Any request to an address other than 172.20.30.50 will be + served from the main server. A request to 172.20.30.50 with an + unknown hostname, or no Host: header, will be served from + www.example1.com.

+ +
top
+
+

Serving the same content on + different IP addresses (such as an internal and external + address).

+ +

The server machine has two IP addresses (192.168.1.1 + and 172.20.30.40). The machine is sitting between an + internal (intranet) network and an external (internet) network. Outside + of the network, the name server.example.com resolves to + the external address (172.20.30.40), but inside the + network, that same name resolves to the internal address + (192.168.1.1).

+ +

The server can be made to respond to internal and external requests + with the same content, with just one VirtualHost + section.

+ +

Server configuration

+ + + NameVirtualHost 192.168.1.1
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 192.168.1.1 172.20.30.40>
+ + DocumentRoot /www/server1
+ ServerName server.example.com
+ ServerAlias server
+
+ </VirtualHost> +

+ +

Now requests from both networks will be served from the same + VirtualHost.

+ +
+

Note:

On the internal + network, one can just use the name server rather + than the fully qualified host name + server.example.com.

+ +

Note also that, in the above example, you can replace the list + of IP addresses with *, which will cause the server to + respond the same on all addresses.

+
+ +
top
+
+

Running different sites on different + ports.

+ +

You have multiple domains going to the same IP and also want to + serve multiple ports. By defining the ports in the "NameVirtualHost" + tag, you can allow this to work. If you try using <VirtualHost + name:port> without the NameVirtualHost name:port or you try to use + the Listen directive, your configuration will not work.

+ +

Server configuration

+ + + Listen 80
+ Listen 8080
+
+ NameVirtualHost 172.20.30.40:80
+ NameVirtualHost 172.20.30.40:8080
+
+ <VirtualHost 172.20.30.40:80>
+ + ServerName www.example1.com
+ DocumentRoot /www/domain-80
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + ServerName www.example1.com
+ DocumentRoot /www/domain-8080
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:80>
+ + ServerName www.example2.org
+ DocumentRoot /www/otherdomain-80
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + ServerName www.example2.org
+ DocumentRoot /www/otherdomain-8080
+
+ </VirtualHost> +

+ +
top
+
+

IP-based virtual hosting

+ +

The server has two IP addresses (172.20.30.40 and + 172.20.30.50) which resolve to the names + www.example1.com and www.example2.org + respectively.

+ +

Server configuration

+ + + Listen 80
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ </VirtualHost> +

+ +

Requests for any address not specified in one of the + <VirtualHost> directives (such as + localhost, for example) will go to the main server, if + there is one.

+ +
top
+
+

Mixed port-based and ip-based virtual + hosts

+ +

The server machine has two IP addresses (172.20.30.40 and + 172.20.30.50) which resolve to the names + www.example1.com and www.example2.org + respectively. In each case, we want to run hosts on ports 80 and + 8080.

+ +

Server configuration

+ + + Listen 172.20.30.40:80
+ Listen 172.20.30.40:8080
+ Listen 172.20.30.50:80
+ Listen 172.20.30.50:8080
+
+ <VirtualHost 172.20.30.40:80>
+ + DocumentRoot /www/example1-80
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + DocumentRoot /www/example1-8080
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50:80>
+ + DocumentRoot /www/example2-80
+ ServerName www.example1.org
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50:8080>
+ + DocumentRoot /www/example2-8080
+ ServerName www.example2.org
+
+ </VirtualHost> +

+ +
top
+
+

Mixed name-based and IP-based + vhosts

+ +

On some of my addresses, I want to do name-based virtual hosts, and + on others, IP-based hosts.

+ +

Server configuration

+ + + Listen 80
+
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/example3
+ ServerName www.example3.net
+
+ </VirtualHost>
+
+ # IP-based
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /www/example4
+ ServerName www.example4.edu
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.60>
+ + DocumentRoot /www/example5
+ ServerName www.example5.gov
+
+ </VirtualHost> +

+ +
top
+
+

Using Virtual_host and + mod_proxy together

+ +

The following example allows a front-end machine to proxy a + virtual host through to a server running on another machine. In the + example, a virtual host of the same name is configured on a machine + at 192.168.111.2. The ProxyPreserveHost On directive is + used so that the desired hostname is passed through, in case we are + proxying multiple hostnames to a single machine.

+ +

+ <VirtualHost *:*>
+ ProxyPreserveHost On
+ ProxyPass / http://192.168.111.2/
+ ProxyPassReverse / http://192.168.111.2/
+ ServerName hostname.example.com
+ </VirtualHost> +

+ +
top
+
+

Using _default_ + vhosts

+ +

_default_ vhosts + for all ports

+ +

Catching every request to any unspecified IP address and + port, i.e., an address/port combination that is not used for + any other virtual host.

+ +

Server configuration

+ + + <VirtualHost _default_:*>
+ + DocumentRoot /www/default
+
+ </VirtualHost> +

+ +

Using such a default vhost with a wildcard port effectively prevents + any request going to the main server.

+ +

A default vhost never serves a request that was sent to an + address/port that is used for name-based vhosts. If the request + contained an unknown or no Host: header it is always + served from the primary name-based vhost (the vhost for that + address/port appearing first in the configuration file).

+ +

You can use AliasMatch or + RewriteRule to rewrite any + request to a single information page (or script).

+ + +

_default_ vhosts + for different ports

+ +

Same as setup 1, but the server listens on several ports and we want + to use a second _default_ vhost for port 80.

+ +

Server configuration

+ + + <VirtualHost _default_:80>
+ + DocumentRoot /www/default80
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost _default_:*>
+ + DocumentRoot /www/default
+ # ...
+
+ </VirtualHost> +

+ +

The default vhost for port 80 (which must appear before any + default vhost with a wildcard port) catches all requests that were sent + to an unspecified IP address. The main server is never used to serve a + request.

+ + +

_default_ vhosts + for one port

+ +

We want to have a default vhost for port 80, but no other default + vhosts.

+ +

Server configuration

+ + + <VirtualHost _default_:80>
+ DocumentRoot /www/default
+ ...
+ </VirtualHost> +

+ +

A request to an unspecified address on port 80 is served from the + default vhost any other request to an unspecified address and port is + served from the main server.

+ + +
top
+
+

Migrating a name-based vhost to an + IP-based vhost

+ +

The name-based vhost with the hostname + www.example2.org (from our name-based example, setup 2) should get its own IP + address. To avoid problems with name servers or proxies who cached the + old IP address for the name-based vhost we want to provide both + variants during a migration phase.
+ The solution is easy, because we can simply add the new IP address + (172.20.30.50) to the VirtualHost + directive.

+ +

Server configuration

+ + + Listen 80
+ ServerName www.example1.com
+ DocumentRoot /www/example1
+
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40 172.20.30.50>
+ + DocumentRoot /www/example2
+ ServerName www.example2.org
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/example3
+ ServerName www.example3.net
+ ServerAlias *.example3.net
+ # ...
+
+ </VirtualHost> +

+ +

The vhost can now be accessed through the new address (as an + IP-based vhost) and through the old address (as a name-based + vhost).

+ +
top
+
+

Using the ServerPath + directive

+ +

We have a server with two name-based vhosts. In order to match the + correct virtual host a client must send the correct Host: + header. Old HTTP/1.0 clients do not send such a header and Apache has + no clue what vhost the client tried to reach (and serves the request + from the primary vhost). To provide as much backward compatibility as + possible we create a primary vhost which returns a single page + containing links with an URL prefix to the name-based virtual + hosts.

+ +

Server configuration

+ + + NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+ + # primary vhost
+ DocumentRoot /www/subdomain
+ RewriteEngine On
+ RewriteRule ^/.* /www/subdomain/index.html
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ DocumentRoot /www/subdomain/sub1
+ + ServerName www.sub1.domain.tld
+ ServerPath /sub1/
+ RewriteEngine On
+ RewriteRule ^(/sub1/.*) /www/subdomain$1
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/subdomain/sub2
+ ServerName www.sub2.domain.tld
+ ServerPath /sub2/
+ RewriteEngine On
+ RewriteRule ^(/sub2/.*) /www/subdomain$1
+ # ...
+
+ </VirtualHost> +

+ +

Due to the ServerPath + directive a request to the URL + http://www.sub1.domain.tld/sub1/ is always served + from the sub1-vhost.
A request to the URL + http://www.sub1.domain.tld/ is only + served from the sub1-vhost if the client sent a correct + Host: header. If no Host: header is sent the + client gets the information page from the primary host.
+ Please note that there is one oddity: A request to + http://www.sub2.domain.tld/sub1/ is also served from the + sub1-vhost if the client sent no Host: header.
+ The RewriteRule directives + are used to make sure that a client which sent a correct + Host: header can use both URL variants, i.e., + with or without URL prefix.

+ +
+
+

Available Languages:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/examples.html.ko.euc-kr b/rubbos/app/apache2/manual/vhosts/examples.html.ko.euc-kr new file mode 100644 index 00000000..553a9d4a --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/examples.html.ko.euc-kr @@ -0,0 +1,622 @@ + + + +ȣƮ - Apache HTTP Server + + + + + +
<-
+

ȣƮ

+
+

:  en  | + ko  | + tr 

+
+
ֽ ƴմϴ. + ֱٿ ϼ.
+ + +

ǵǴ ȣƮ + Ϸ . Ȳ ̸̳ IP ȣƮ + Ʈ Ϸ ̴. Ͻ ڿ + Ͽ Ʈ ϴ 츦 ٷ + ̴.

+ +
+ +
top
+
+

IP ּ Ѱ ̸ + Ʈ ϱ.

+ +

IP ּҰ Ѱ ְ, DNS ּ(CNAMES) + ǻ͸ Ų. ǻͿ www.example1.com + www.example2.org ϰ ʹ.

+ +

Note

ġ ȣƮ + Ѵٰ ȣƮ DNS ׸ ڵ̷ + ʴ´. ݵ DNS IP ּҸ Ű + ̸ ־ Ѵ. ȱ׷ ƹ Ʈ + . ˻غ hosts Ͽ ׸ + ߰ , ̴ hosts ׸ ǻͿ + ݿȴ.

+
+ +

+ + + # ġ Ʈ 80 ٸ
+ Listen 80
+
+ # IP ּҿ ȣƮ û ٸ
+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ + DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ # ٸ þ鵵 ִ
+
+
+ </VirtualHost>
+
+ <VirtualHost *:80>
+ + DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ # ٸ þ鵵 ִ
+
+
+ </VirtualHost> +

+ +

ǥ ּҸ ŰǷ, ּ  û + ʴ´. www.example1.com + Ͽ ó Ƿ 켱 , + Ȥ ʱ ȴ. +  ServerName þ شʴ û + ù° VirtualHost Ѵ.

+ +
+

+ +

Ѵٸ * ý IP + ּҸ ִ. + VirtualHost ƱԸƮ + NameVirtualHost ƱԸƮ ġؾ + Ѵ:

+ +

+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+ # ... +

+ +

׷ ISP IP ּҸ + IP ּҸ 𸣴 쿡 * ϴ + ϴ. * IP ּҿ + شϹǷ, IP ּҰ Ǿ + ʿ䰡 .

+
+ +

κ ̸ ȣƮ . + ܴ ٸ IP ּҳ Ʈ ٸ Ϸ + ̴.

+ +
top
+
+

IP ּҿ ̸ + ȣƮ.

+ +
+

⼭ IP ּҰ +  밡ϴ.

+
+ +

IP ּҰ ΰִ. ϳ + (172.20.30.40) "" + server.domain.com ϰ, ٸ ϳ + (172.20.30.50) ȣƮ + ̴.

+ +

+ + + Listen 80
+
+ # 172.20.30.40 ϴ ""̴
+ ServerName server.domain.com
+ DocumentRoot /www/mainserver
+
+ # ٸ ּҴ
+ NameVirtualHost 172.20.30.50
+
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ # ٸ þ鵵 ִ ...
+
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ # ٸ þ鵵 ִ ...
+
+
+ </VirtualHost> +

+ +

172.20.30.50 ƴ ּҿ û + ּ Ѵ. ȣƮ , Host: + 172.20.30.50 ûϸ + www.example1.com Ѵ.

+ +
top
+
+

(ο ܺ ּҿ ) + ٸ IP ּҷ ϱ.

+ +

ǻͿ IP ּҰ ΰ (192.168.1.1 + 172.20.30.40) ִ. ǻʹ (Ʈ) + Ʈ ܺ (ͳ) Ʈ ̿ ġѴ. Ʈ ۿ + server.example.com ܺ ּҸ + (172.20.30.40) ǹϰ, Ʈ ο + ̸ ּҷ (192.168.1.1) Ѵ.

+ +

VirtualHost Ѱ ο ܺ + 信 ִ.

+ +

+ + + NameVirtualHost 192.168.1.1
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 192.168.1.1 172.20.30.40>
+ + DocumentRoot /www/server1
+ ServerName server.example.com
+ ServerAlias server
+
+ </VirtualHost> +

+ +

Ʈ û + VirtualHost Ѵ.

+ +
+

:

Ʈ ȣƮ + server.example.com ̸ + server ϴ.

+ +

IP ּ * + Ͽ ּҿ ϰ + ִ.

+
+ +
top
+
+

Ʈ ٸ Ʈ + ϱ.

+ +

IP Ʈ ٸ Ѵٰ + . ̴ "NameVirtualHost" ±׿ Ʈ ϸ + ϴ. NameVirtualHost name:port <VirtualHost + name:port> Ȥ Listen þ ϸ ȵȴ.

+ +

+ + + Listen 80
+ Listen 8080
+
+ NameVirtualHost 172.20.30.40:80
+ NameVirtualHost 172.20.30.40:8080
+
+ <VirtualHost 172.20.30.40:80>
+ + ServerName www.example1.com
+ DocumentRoot /www/domain-80
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + ServerName www.example1.com
+ DocumentRoot /www/domain-8080
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:80>
+ + ServerName www.example2.org
+ DocumentRoot /www/otherdomain-80
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + ServerName www.example2.org
+ DocumentRoot /www/otherdomain-8080
+
+ </VirtualHost> +

+ +
top
+
+

IP ȣƮ

+ +

www.example1.com + www.example2.org شϴ IP ּҸ + (172.20.30.40 172.20.30.50) + .

+ +

+ + + Listen 80
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ </VirtualHost> +

+ +

<VirtualHost> þ ּҿ + شʴ ּҷ ( , localhost) + û ּ ִ ּ Ѵ.

+ +
top
+
+

Ʈݰ ip ȥյ + ȣƮ

+ +

www.example1.com + www.example2.org شϴ IP ּҸ + (172.20.30.40 172.20.30.50) + . IP 80 8080 Ʈ ȣƮ .

+ +

+ + + Listen 172.20.30.40:80
+ Listen 172.20.30.40:8080
+ Listen 172.20.30.50:80
+ Listen 172.20.30.50:8080
+
+ <VirtualHost 172.20.30.40:80>
+ + DocumentRoot /www/example1-80
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + DocumentRoot /www/example1-8080
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50:80>
+ + DocumentRoot /www/example2-80
+ ServerName www.example1.org
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50:8080>
+ + DocumentRoot /www/example2-8080
+ ServerName www.example2.org
+
+ </VirtualHost> +

+ +
top
+
+

̸ݰ IP ȥյ + ȣƮ

+ +

ּ ̸ ȣƮ, ٸ IP + ȣƮ ϰ ʹ.

+ +

+ + + Listen 80
+
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/example3
+ ServerName www.example3.net
+
+ </VirtualHost>
+
+ # IP-
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /www/example4
+ ServerName www.example4.edu
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.60>
+ + DocumentRoot /www/example5
+ ServerName www.example5.gov
+
+ </VirtualHost> +

+ +
top
+
+

_default_ ȣƮ + ϱ

+ +

Ʈ + _default_ ȣƮ

+ +

 ȣƮ ش IP ּҿ Ʈ + û óϱ.

+ +

+ + + <VirtualHost _default_:*>
+ + DocumentRoot /www/default
+
+ </VirtualHost> +

+ +

default(⺻) ȣƮ Ʈ ϵī带 Ͽ  û + ּ .

+ +

default ȣƮ ̸ ȣƮ ϴ + ּ/Ʈ û ʴ´. ų + Host: û ׻ ̸ + ȣƮ(Ͽ + ּ/Ʈ ó ȣƮ) Ѵ.

+ +

AliasMatch + RewriteRule + Ͽ  û Ư (Ȥ ũƮ) + ۼ(rewrite) ִ.

+ + +

Ʈ + _default_ ȣƮ

+ +

, Ʈ ٸ 80 + Ʈ ؼ ߰ _default_ ȣƮ + ϰ ʹ.

+ +

+ + + <VirtualHost _default_:80>
+ + DocumentRoot /www/default80
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost _default_:*>
+ + DocumentRoot /www/default
+ # ...
+
+ </VirtualHost> +

+ +

80 Ʈ default ȣƮ (ݵ + ϵī Ʈ ⺻ ȣƮ ; Ѵ) + IP ּҷ û Ѵ. + ּ û Ѵ.

+ + +

Ʈ + _default_ ȣƮ

+ +

80 Ʈ ؼ default ȣƮ ʹ.

+ +

+ + + <VirtualHost _default_:80>
+ DocumentRoot /www/default
+ ...
+ </VirtualHost> +

+ +

Ʈ 80 ּҿ û ⺻ + ȣƮ ϰ, ٸ ּҿ Ʈ + û Ѵ.

+ + +
top
+
+

̸ ȣƮ IP + ȣƮ ű

+ +

(̸ ù° ) ȣƮ + www.example2.org ̸ ȣƮ + ڽ IP ּҸ Ѵ. ̸ ȣƮ + IP ּҸ ijϴ Ӽ Ͻÿ ϱ + ű θ ϰ ʹ.
+ VirtualHost þ IP ּҸ + (172.20.30.50) ߰ϸǹǷ .

+ +

+ + + Listen 80
+ ServerName www.example1.com
+ DocumentRoot /www/example1
+
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40 172.20.30.50>
+ + DocumentRoot /www/example2
+ ServerName www.example2.org
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/example3
+ ServerName www.example3.net
+ ServerAlias *.example3.net
+ # ...
+
+ </VirtualHost> +

+ +

(IP ȣƮ ) ο ּҿ (̸ + ȣƮ ) ּ ȣƮ + ִ.

+ +
top
+
+

ServerPath + þ ϱ

+ +

̸ ȣƮ ִ. ùٸ + ȣƮ ϱ Ŭ̾Ʈ ùٸ + Host: Ѵ. HTTP/1.0 + Ŭ̾Ʈ ϸ ġ Ŭ̾Ʈ +  ȣƮ ϴ (׷ + ȣƮ û Ѵ). ȣȯ + ϱ ȣƮ , ⿡ ̸ + ȣƮ URL λ縦 ϴ ũ + д.

+ +

+ + + NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+ + # primary vhost
+ DocumentRoot /www/subdomain
+ RewriteEngine On
+ RewriteRule ^/.* /www/subdomain/index.html
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ DocumentRoot /www/subdomain/sub1
+ + ServerName www.sub1.domain.tld
+ ServerPath /sub1/
+ RewriteEngine On
+ RewriteRule ^(/sub1/.*) /www/subdomain$1
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /www/subdomain/sub2
+ ServerName www.sub2.domain.tld
+ ServerPath /sub2/
+ RewriteEngine On
+ RewriteRule ^(/sub2/.*) /www/subdomain$1
+ # ...
+
+ </VirtualHost> +

+ +

ServerPath þ + URL http://www.sub1.domain.tld/sub1/ + û ׻ subl-ȣƮ Ѵ.
+ Ŭ̾Ʈ ùٸ Host: ٸ, + URL http://www.sub1.domain.tld/ û + subl-ȣƮ Ѵ. Host: + Ŭ̾Ʈ ȣƮ ִ + Եȴ.
⿡ ϶: Ŭ̾Ʈ + Host: + http://www.sub2.domain.tld/sub1/ û + subl-ȣƮ Ѵ.
+ RewriteRule + þ Ͽ ùٸ Host: + Ŭ̾Ʈ ( , URL ġ簡 ְų ) + URL ִ.

+ +
+
+

:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/examples.html.tr.utf8 b/rubbos/app/apache2/manual/vhosts/examples.html.tr.utf8 new file mode 100644 index 00000000..044bf8e6 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/examples.html.tr.utf8 @@ -0,0 +1,641 @@ + + + +Sanal Konak Örnekleri - Apache HTTP Sunucusu + + + + + +
<-
+

Sanal Konak Örnekleri

+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ + +

Bu belgede sanal konaklarla ile ilgili olarak karşılaşılması olası tüm + senaryolara yer verilmeye çalışılmıştır. Buradaki senaryolar, tek bir + sunucu üzerinde isme dayalı veya IP’ye dayalı sanal konaklar aracılığıyla çok + sayıda sitenin sunumu ile ilgilidir. +

+ +
+ +
top
+
+

Tek bir IP ile çok sayıda isme dayalı site

+ + +

Bu örnekte, makinenizin tek bir IP adresine sahip olduğunu ve bu + makineye mesela.dom ve faraza.dom şeklinde + (DNS A kayıtları sayesinde) farklı isimlerle erişilebildiğini + varsayalım.

+ +

Bilginize

Apache sunucusu üzerinde sanal konakları + yapılandırmakla bu konak isimleri için sihirli bir şekilde DNS + kayıtlarının da oluşturulmasını sağlamış olmazsınız. Bu isimler için + ilgili DNS kayıtlarında sizin IP adresinize çözümlenen A kayıtlarının + olması gerekir, yoksa sitenize kimse erişemez. Sitelere erişimi yerel + olarak denemek isterseniz, bu girdileri hosts dosyanıza + yazabilirsiniz. Fakat bu sadece sizin makinenizde çalışır. Yerel + ağınızdaki her makinenin hosts dosyasına bu girdileri + yazarak yerel ağdan erişimi bu yolla sağlayabilirsiniz ama dış ağdan + gelecek ziyaretçileriniz için DNS kayıtlarınızın olması şarttır.

+
+ +

Sunucu yapılandırması

+ + # Apache’nin 80. portu dinlediğinden emin olalım
+ Listen 80
+
+ # Sanal konak istekleri için bütün IP adresleri dinlensin.
+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ + DocumentRoot /siteler/mesela
+ ServerName mesela.dom
+
+ # Diğer yönergeler, burada ...
+
+
+ </VirtualHost>
+
+ <VirtualHost *:80>
+ + DocumentRoot /siteler/faraza
+ ServerName faraza.dom
+
+ # Diğer yönergeler, burada ...
+
+
+ </VirtualHost> +

+ +

Yıldız imleri tüm adreslerle eşleşmeyi sağladığından ana sunucu + (yapılandırma dosyası genelindeki yapılandırma - sunucu geneli) + erişilebilir olmayacaktır. mesela.dom yapılandırma + dosyasındaki ilk sanal konak olduğundan en yüksek önceliğe sahiptir ve + öntanımlı veya baskın site olarak davranır. + Yani, hiçbir ServerName yönergesi ile eşleşmeyen bir istek + alındığında bu istek ilk VirtualHost yapılandırması ile + karşılanır.

+ +

Bilginize

+

İsterseniz, * yerine kendi IP adresinizi yazabilirsiniz. + Ancak bu durumda bunu hem VirtualHost hem de + NameVirtualHost için yapmalısınız:

+ +

+ NameVirtualHost 192.168.1.22
+
+ <VirtualHost 192.168.1.22>
+ # vs. ... +

+ +

Bununla birlikte, IP adresinin önceden kestirilebilir olmadığı + sistemlerde, örneğin, hizmet sağlayıcınıza çevirmeli ağ ile bağlanıyor + ve onun rasgele atadığı bir IP adresi için bir devingen DNS çözümü + kullanıyorsanız, IP adresi değil de * kullanmak daha çok + işinize yarayacaktır. Yıldız imi her IP adresi ile eşleşeceğinden IP + adresiniz değişse bile bu yapılandırmayı değiştirmeden + kullanabilirsiniz.

+
+ +

Yukarıdaki yapılandırmayı hemen hemen tüm isme dayalı sanal konaklar + için kullanabilirsiniz. Bu yapılandırmanın çalışmayacağı tek durum, + farklı içerikleri farklı IP adreslerinden sunma gereğiyle + karşılaşmaktır.

+ +
top
+
+

IP adresleri farklı çok sayıda isme dayalı site

+ + +

Bilginize

+

Burada açıklanan teknikler istendiği kadar çok IP adresine + genişletilebilir.

+
+ +

Sunucunun iki IP adresi olsun. Birinden "ana sunucu" + (192.168.1.2) diğerinden mesela.dom + 192.168.2.2 hizmet versin. Bu arada başka sanal konakları + da sunabilelim istiyoruz.

+ +

Sunucu yapılandırması

+ + Listen 80
+
+ # Bu, 192.168.1.2 adresindeki "ana sunucu" olsun
+ ServerName sunucu.faraza.dom
+ DocumentRoot /siteler/anasunucu
+
+ # Burası da diğer adres için
+ NameVirtualHost 192.168.2.2
+
+ <VirtualHost 192.168.2.2>
+ + DocumentRoot /siteler/mesela
+ ServerName mesela.dom
+
+ # Diğer yönergeler, burada ...
+
+
+ </VirtualHost>
+
+ <VirtualHost 192.168.2.2>
+ + DocumentRoot /siteler/falanca
+ ServerName falanca.dom
+
+ # Diğer yönergeler, burada ...
+
+
+ </VirtualHost> +

+ +

192.168.2.2 adresinden gelmeyen tüm isteklere ana sunucu + (sunucu.faraza.dom), 192.168.2.2 adresinden + gelen sunucu ismi belirtmeyenler ile Host: başlığı + belirtmeyenlere ise mesela.dom hizmet verecektir.

+ +
top
+
+

Aynı içeriği farklı IP adresleriyle sunmak + (örn., dahili ve harici ağlara)

+ +

Sunucu makine iki IP adresine sahip olsun. Biri iç ağa + (192.168.1.1) diğeri dış ağa (172.20.30.40) + bakıyor olsun. sunucu.mesela.dom ismi dış ağda dış ağa + bakan IP’ye, iç ağda ise iç ağa bakan IP’ye çözümleniyor olsun.

+ +

Bu durumda, sunucu hem iç hem de dış ağdan gelen isteklere aynı içerik, + dolayısıyla aynı VirtualHost bölümü ile hizmet + verebilir.

+ +

Sunucu yapılandırması

+ + NameVirtualHost 192.168.1.1
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 192.168.1.1 172.20.30.40>
+ + DocumentRoot /siteler/sunucu
+ ServerName sunucu.mesela.dom
+ ServerAlias sunucu
+
+ </VirtualHost> +

+ +

Artık, hem iç hem de dış ağdan gelen isteklere aynı + VirtualHost bölümünden hizmet sunulacaktır.

+ +

Bilginize:

+

İç ağdan istek yapan biri, tam nitelenmiş konak ismi + sunucu.mesela.dom yerine makine ismini + (sunucu) kullanabilir (ServerAlias sunucu + satırına dikkat).

+ +

Ayrıca, yukarıdaki gibi iki ayrı IP adresi belirtmek yerine sadece + * belirtmekle sunucunun tüm IP adreslerine yine aynı + içerikle yanıt vereceğine dikkat ediniz.

+
+ +
top
+
+

Farklı portlarla farklı siteler

+ +

Aynı IP adresine sahip çok sayıda konak ismine sahip olduğunuzu ve + bunların bazılarının farklı portları kullanmasını istediğinizi + varsayalım. NameVirtualHost + yönergesi ile port tanımlamak suretiyle bunu mümkün kılabilirsiniz. + NameVirtualHost isim:port tanımı yapmadan + veya bunun yerine Listen + kullanarak VirtualHost isim:port kullanmaya + kalkışırsanız, yapılandırmanız çalışmayacaktır.

+ +

Sunucu yapılandırması

+ + Listen 80
+ Listen 8080
+
+ NameVirtualHost 172.20.30.40:80
+ NameVirtualHost 172.20.30.40:8080
+
+ <VirtualHost 172.20.30.40:80>
+ + ServerName mesela.dom
+ DocumentRoot /siteler/mesela-80
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + ServerName mesela.dom
+ DocumentRoot /siteler/mesela-8080
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:80>
+ + ServerName faraza.dom
+ DocumentRoot /siteler/faraza-80
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + ServerName faraza.dom
+ DocumentRoot /siteler/faraza-8080
+
+ </VirtualHost> +

+ +
top
+
+

IP’ye dayalı sanal konaklar

+ +

Sunucu makinenin, biri mesela.dom adından çözümlenen + 172.20.30.40, diğeri faraza.dom adından + çözümlenen 172.20.30.50 diye iki IP adresi olsun.

+ +

Sunucu yapılandırması

+ + Listen 80
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /siteler/mesela
+ ServerName mesela.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /siteler/faraza
+ ServerName faraza.dom
+
+ </VirtualHost> +

+ +

<VirtualHost> yönergelerinde belirtilmeyen + adreslerle yapılan isteklere (örneğin, localhost) sunucu + genelindeki yapılandırma ile ana sunucu yanıt verecektir.

+
top
+
+

Hem IP’ye hem de porta dayalı sanal konaklar

+ + +

Sunucu makinenin, biri mesela.dom adından çözümlenen + 172.20.30.40, diğeri faraza.dom adından + çözümlenen 172.20.30.50 diye iki IP adresi olsun ve iki + konak da hem 80 hem de 8080 portlarında çalışsınlar istiyoruz.

+ +

Sunucu yapılandırması

+ + Listen 172.20.30.40:80
+ Listen 172.20.30.40:8080
+ Listen 172.20.30.50:80
+ Listen 172.20.30.50:8080
+
+ <VirtualHost 172.20.30.40:80>
+ + DocumentRoot /siteler/mesela-80
+ ServerName mesela.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+ + DocumentRoot /siteler/mesela-8080
+ ServerName mesela.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50:80>
+ + DocumentRoot /siteler/faraza-80
+ ServerName faraza.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50:8080>
+ + DocumentRoot /siteler/faraza-8080
+ ServerName faraza.dom
+
+ </VirtualHost> +

+ +
top
+
+

Hem isme hem de IP‘ye dayalı sanal konaklar

+ + +

Bazı adreslerde isme dayalı, bazılarında da IP’ye dayalı sanal konaklar + çalışsın istersek...

+ +

Sunucu yapılandırması

+ + Listen 80
+
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /siteler/mesela
+ ServerName mesela.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /siteler/faraza
+ ServerName faraza.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /siteler/falanca
+ ServerName falanca.dom
+
+ </VirtualHost>
+
+ # IP-based
+ <VirtualHost 172.20.30.50>
+ + DocumentRoot /siteler/filanca
+ ServerName filanca.dom
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.60>
+ + DocumentRoot /siteler/fesmekan
+ ServerName fesmekan.dom
+
+ </VirtualHost> +

+ +
top
+
+

Virtualhost ve + mod_proxy’nin birlikte kullanımı

+ +

Bu örnekte bir arabirimi dışarıya bakan bir makinede, başka bir + makinede çalışan bir sunucuya sanal konak olarak, bir vekil sunucu + çalıştırmak istediğimizi varsayıyoruz. 192.168.111.2 IP + adresli bir makinede aynı isimde bir sanal konak yapılandırılmış olsun. + Çok sayıda konak ismi için vekil olarak tek bir makine kullandığımızdan + ve konak isminin de aktarılmasını arzuladığımızdan ProxyPreserveHost On yönergesini + kullandık.

+ +

+ <VirtualHost *:*>
+ + ProxyPreserveHost On
+ ProxyPass / http://192.168.111.2/
+ ProxyPassReverse / http://192.168.111.2/
+ ServerName konak.mesela.dom
+
+ </VirtualHost> +

+ +
top
+
+

_default_ sanal konakları

+ +

Tüm portlar için _default_

+ + +

Bir IP adresi ve port belirtilmeyen veya hiçbir sanal konağın hiçbir + adresi/portu ile eşleşmeyen istekleri yakalamak istersek...

+ +

Sunucu yapılandırması

+ + + <VirtualHost _default_:*>
+ + DocumentRoot /siteler/default
+
+ </VirtualHost> +

+ +

Bütün portlarla eşleşen böyle bir öntanımlı sanal konağın kullanımı + hiçbir isteğin ana sunucuya gitmemesi sonucunu doğurur.

+ +

Bir öntanımlı sanal konak, asla, isme dayalı sanal konaklar için + kullanılmış bir adrese/porta gönderilmiş bir isteğe hizmet sunmaz. Eğer + istek bilinmeyen bir Host: başlığına sahipse veya hiç + Host: başlığı içermiyorsa isteğe daima ilk (yapılandırma + dosyasındaki ilk) isme dayalı sanal konak hizmet sunar.

+ +

Her isteği tek bir bilgilendirme sayfasına (veya betiğe) yönlendirmek + isterseniz AliasMatch veya + RewriteRule yönergesini + kullanabilirsiniz.

+ + +

Farklı portlardan _default_

+ + +

Önceki yapılandırmaya ek olarak 80. portta ayrı bir + _default_ sanal konağı kullanmak istersek...

+ +

Sunucu yapılandırması

+ + + <VirtualHost _default_:80>
+ + DocumentRoot /siteler/default80
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost _default_:*>
+ + DocumentRoot /siteler/default
+ # ...
+
+ </VirtualHost> +

+ +

80. porttan hizmet sunan _default_ sanal konağı IP adresi + belirtilmeyen tüm istekleri yakalar, bunu yapabilmesi için yapılandırma + dosyasında tüm portlara hizmet sunan benzerinden önce yer almalıdır. Bu + durumda ana sunucu hiçbir isteğe yanıt vermeyecektir.

+ + +

Tek portluk _default_

+ + +

_default_ sanal konağının sadece 80. porttan hizmet + sunmasını istersek...

+ +

Sunucu yapılandırması

+ + + <VirtualHost _default_:80>
+ DocumentRoot /siteler/default
+ ...
+ </VirtualHost> +

+ +

80. porttan gelen IP adresi belirtilmemiş isteklere + _default_ sanal konağı, diğer portlardan gelen adres + belirtilmemiş isteklere ise ana sunucu hizmet verecektir.

+ + +
top
+
+

Bir isme dayalı sanal konağı bir IP’ye dayalı + sanal konakla yansılamak

+ +

İsme dayalı sanal konak örneklerinin 2. sinde adı + geçen falanca.dom bu örnekte kendi IP adresinden hizmet + veriyor olsun. İsme dayalı sanal konağı eski IP adresiyle kaydetmiş + vekiller ve isim sunucularından kaynaklanacak olası sorunlardan kaçınmak + için yansılama sırasında sanal konağı hem eski hem de yeni IP adresiyle + sunmamız lazım.

+ +

Çözüm kolay, çünkü yapacağımız sadece VirtualHost + yönergesine yeni IP adresini (192.168.2.2) eklemek olacak.

+ +

Sunucu yapılandırması

+ + + Listen 80
+ ServerName mesela.dom
+ DocumentRoot /siteler/mesela
+
+ <VirtualHost 192.168.1.2>
+
+ <VirtualHost 192.168.1.2 192.168.2.2>
+ + DocumentRoot /siteler/falanca
+ ServerName falanca.dom
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 192.168.1.2>
+ + DocumentRoot /siteler/faraza
+ ServerName faraza.dom
+ ServerAlias *.faraza.dom
+ # ...
+
+ </VirtualHost> +

+ +

Böylece sanal konağa hem yeni (bir IP’ye dayalı sanal konak olarak) + hem de eski adresinden (bir isme dayalı sanal konak olarak) + erişilebilecektir.

+ +
top
+
+

ServerPath yönergesinin kullanımı

+ + +

İsme dayalı iki sanal konağı olan bir sunucumuz olsun. Doğru sanal + konağa erişebilmek için istemcinin doğru Host: başlığı + göndermesi gerekir. Eski HTTP/1.0 istemcileri böyle bir başlık + göndermedikleri için Apache istemcinin hangi sanal konağa erişmek + istediğini bilemez (ve isteğe ilk sanal konaktan hizmet sunar). Daha iyi + bir geriye uyumluluk sağlamak için isme dayalı sanal konağa bir önek + bağlantısı içeren bir bilgilendirme sayfası sunmak üzere yeni bir sanal + konak oluşturabiliriz.

+ +

Sunucu yapılandırması

+ + + NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+ + # ilk sanal konak
+ DocumentRoot /siteler/baska
+ RewriteEngine On
+ RewriteRule ^/.* /siteler/baska/index.html
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ DocumentRoot /siteler/baska/bir
+ + ServerName bir.baska.tld
+ ServerPath /bir/
+ RewriteEngine On
+ RewriteRule ^(/bir/.*) /siteler/baska$1
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ + DocumentRoot /siteler/baska/iki
+ ServerName iki.baska.tld
+ ServerPath /iki/
+ RewriteEngine On
+ RewriteRule ^(/iki/.*) /siteler/baska$1
+ # ...
+
+ </VirtualHost> +

+ +

ServerPath yönergesinden dolayı + http://bir.baska.tld/bir/ şeklinde yapılan isteklere + daima “bir” sanal konağı hizmet sunacaktır.

+ +

http://bir.baska.tld/ şeklinde yapılan isteklere ise + istemcinin doğru Host: başlığı göndermesi şartıyla + “bir” sanal konağı hizmet sunacaktır. İstemci, bir + Host: başlığı göndermediği takdirde ilk konaktan bir + bilgilendirme sayfası alacaktır.

+ +

Yalnız buradaki bir tuhaflığa dikkat edin: Eğer istemci bir + Host: başlığı göndermeden + http://iki.baska.tld/bir/ şeklinde bir istek yaparsa bu + isteğe de “bir” sanal konağı hizmet sunacaktır.

+ +

RewriteRule yönergesi, bir + istemcinin, bir URL öneki belirtsin ya da belirtmesin doğru + Host: başlığı gönderdiğinden emin olmak için + kullanılmıştır.

+ +
+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/fd-limits.html b/rubbos/app/apache2/manual/vhosts/fd-limits.html new file mode 100644 index 00000000..9dc971e1 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/fd-limits.html @@ -0,0 +1,17 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: fd-limits.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: fd-limits.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: fd-limits.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: fd-limits.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/rubbos/app/apache2/manual/vhosts/fd-limits.html.en b/rubbos/app/apache2/manual/vhosts/fd-limits.html.en new file mode 100644 index 00000000..4649f65f --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/fd-limits.html.en @@ -0,0 +1,133 @@ + + + +File Descriptor Limits - Apache HTTP Server + + + + + +
<-
+

File Descriptor Limits

+
+

Available Languages:  en  | + ja  | + ko  | + tr 

+
+ + +

When using a large number of Virtual Hosts, Apache may run + out of available file descriptors (sometimes called file + handles) if each Virtual Host specifies different log + files. The total number of file descriptors used by Apache is + one for each distinct error log file, one for every other log + file directive, plus 10-20 for internal use. Unix operating + systems limit the number of file descriptors that may be used + by a process; the limit is typically 64, and may usually be + increased up to a large hard-limit.

+ +

Although Apache attempts to increase the limit as required, + this may not work if:

+ +
    +
  1. Your system does not provide the setrlimit() + system call.
  2. + +
  3. The setrlimit(RLIMIT_NOFILE) call does not + function on your system (such as Solaris 2.3)
  4. + +
  5. The number of file descriptors required exceeds the hard + limit.
  6. + +
  7. Your system imposes other limits on file descriptors, + such as a limit on stdio streams only using file descriptors + below 256. (Solaris 2)
  8. +
+ +

In the event of problems you can:

+ +
    +
  • Reduce the number of log files; don't specify log files + in the <VirtualHost> + sections, but only log to the main log files. (See Splitting up your log files, below, for more + information on doing this.)
  • + +
  • + If you system falls into 1 or 2 (above), then increase the + file descriptor limit before starting Apache, using a + script like + +

    + #!/bin/sh
    + ulimit -S -n 100
    + exec httpd
    +

    +
  • +
+ +

Please see the Descriptors and Apache + document containing further details about file descriptor + problems and how they can be solved on your operating + system.

+ +
+
top
+
+

Splitting up your log files

+ +

If you want to log multiple virtual hosts to the same log file, you +may want to split up the log files afterwards in order to run +statistical analysis of the various virtual hosts. This can be +accomplished in the following manner.

+ +

First, you will need to add the virtual host information to the log +entries. This can be done using the +LogFormat +directive, and the %v variable. Add this to the beginning +of your log format string:

+ +

+LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
+CustomLog logs/multiple_vhost_log vhost +

+ +

This will create a log file in the common log format, but with the +canonical virtual host (whatever appears in the +ServerName directive) prepended to +each line. (See Custom Log Formats for +more about customizing your log files.)

+ +

When you wish to split your log file into its component parts (one +file per virtual host) you can use the program split-logfile to accomplish +this. You'll find this program in the support directory +of the Apache distribution.

+ +

Run this program with the command:

+ +

+split-logfile < /logs/multiple_vhost_log +

+ +

This program, when run with the name of your vhost log file, will +generate one file for each virtual host that appears in your log file. +Each file will be called hostname.log.

+ +
+
+

Available Languages:  en  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/fd-limits.html.ja.utf8 b/rubbos/app/apache2/manual/vhosts/fd-limits.html.ja.utf8 new file mode 100644 index 00000000..91682507 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/fd-limits.html.ja.utf8 @@ -0,0 +1,131 @@ + + + +ファイル記述子の限界 - Apache HTTP サーバ + + + + + +
<-
+

ファイル記述子の限界

+
+

Available Languages:  en  | + ja  | + ko  | + tr 

+
+ + +

たくさんのバーチャルホストを運用する場合、もし、 + 各バーチャルホストごとに異なるログファイルが指定してあると、 + Apache がファイル記述子 (ファイルハンドルとも呼ばれます) + を使い切ってしまうことがあります。Apache が使用するファイル + 記述子の数は、各エラーログファイルにつき 1 つ、他のログファイルの + ディレクティブにつき 1 つ、さらに内部で使用する 10 から 20、 + の合計になります。Unix オペレーティングシステムではプロセスごとに + 使用可能なファイル記述子の数を制限しています。たいていの場合は 64 で、 + 普通は大きな値のハードリミットまで増やすことができます。

+ +

Apache は必要に応じて上限を拡大しようと試みますが、 + 以下のような場合にはうまくいかないかもしれません。

+ +
    +
  1. 利用しているシステムで setrlimit() + システムコールが提供されていない。
  2. + +
  3. システム上で setrlimit(RLIMIT_NOFILE) が動作しない + (たとえば Solaris 2.3 のように)。
  4. + +
  5. 要求されるファイル記述子の数が + ハードリミットを超えてしまう。
  6. + +
  7. システムにファイル記述子に関して別の制限が存在してしまっている。 + たとえば、stdio ストリームではファイル記述子を 256 以上使えない + (Solaris 2)、など。
  8. +
+ +

問題が発生した時に取り得る対処方法は次のとおり:

+ +
    +
  • ログファイルの数を減らす。<VirtualHost> + セクションでログファイルを指定せず、メインのログファイルにのみ記録する。 + (これに関する詳しい情報は以下のログファイルの分割を読んでください。)
  • + +
  • + もし、前述の 1 または 2 の場合であれば、 + Apache を起動する前にファイル記述子を増やします。 + たとえば次のようなスクリプトを使います。 + +

    + #!/bin/sh
    + ulimit -S -n 100
    + exec httpd
    +

    +
  • +
+ +

ファイル記述子の問題についての詳細や、 + オペレーティングシステムごとの解決方法については「ファイル記述子と + Apache」の文書を参照してください。 +

+ +
+
top
+
+

ログファイルの分割

+ +

複数のバーチャルホストのログを同じログファイルに収集しようとしているときには、 +各バーチャルホストについて統計的な解析を実行するために後でログファイルを +分割したくなるかもしれません。これは以下のようにして実現できます。

+ +

まず、バーチャルホストの情報をログのエントリに追加する必要があります。 +これは LogFormat +ディレクティブの %v 変数を使うことでできます。 +これをログのフォーマット文字列の先頭に追加します:

+ +

+LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
+CustomLog logs/multiple_vhost_log vhost +

+ +

これは common log format のログを作成しますが、それぞれの行の先頭に +正規化されたバーチャルホストの名前 +(ServerName +ディレクティブに書かれているもの) が付加されます。 +(ログファイルのカスタマイズの詳細については Custom Log Formats を +読んでください。)

+ +

ログファイルを各部分 (バーチャルホスト毎に 1 ファイル) に分けたいときは、 +split-logfile +を使って行なうことができます。プログラムは Apache 配布の +support ディレクトリにあります。

+ +

以下のようなコマンドでこのプログラムを実行します:

+ +

+split-logfile < /logs/multiple_vhost_log +

+ +

このプログラムはバーチャルホストのログファイルの名前とともに実行され、 +ログファイルに現れるそれぞれのバーチャルホスト毎に一つのファイルを作成します。 +それぞれのファイルは ホスト名.log という名前になります。

+ +
+
+

Available Languages:  en  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/fd-limits.html.ko.euc-kr b/rubbos/app/apache2/manual/vhosts/fd-limits.html.ko.euc-kr new file mode 100644 index 00000000..fc23ee20 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/fd-limits.html.ko.euc-kr @@ -0,0 +1,126 @@ + + + +ϱ(file descriptor) Ѱ - Apache HTTP Server + + + + + +
<-
+

ϱ(file descriptor) Ѱ

+
+

:  en  | + ja  | + ko  | + tr 

+
+ + +

ȣƮ ϰ ȣƮ ٸ + α ϸ, ġ 밡 ϱ(file + descriptor, ڵ(file handle)̶ + θ) ִ. ġ ϴ ϱ + αϴ Ѱ, ٸ α þ + Ѱ, ߰ ο뵵 10-20 . н ü + μ ִ ϱ Ѵ. Ѱ + 64, ̺ ū hard-limit ø ִ.

+ +

ġ Ѱ踦 ʿѸŭ ø , ϴ + 찡 ִ:

+ +
    +
  1. ý setrlimit() ýȣ + ʴ´.
  2. + +
  3. (Solaris 2.3 ) ýۿ + setrlimit(RLIMIT_NOFILE) Լ + ʴ´.
  4. + +
  5. ʿ ϱ hard limit .
  6. + +
  7. (Solaris 2) ý stdio Ʈ 256 + ϱڸ ϵ ϴ ϱڿ + Ѵ.
  8. +
+ +

ذå:

+ +
    +
  • α δ. <VirtualHost> ǿ α + ʰ α Ѵ. ( ڼ + Ʒ α ϶.)
  • + +
  • + ϴ ý () 1° 2° 쿡 شѴٸ, + ũƮ ġ ϱ ϱ + Ѱ踦 ø. + +

    + #!/bin/sh
    + ulimit -S -n 100
    + exec httpd
    +

    +
  • +
+ +

ϱ ü ذ + ڼ ϱڿ + ġ ϶.

+ +
+
top
+
+

α

+ +

ȣƮ α Ѵٸ ߿ +ȣƮ м α ̴. + ۾ ִ.

+ +

α ׸ ȣƮ ߰Ѵ. ̸ +LogFormat%v Ѵ. α +Ĺڿ տ ߰Ѵ:

+ +

+LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
+CustomLog logs/multiple_vhost_log vhost +

+ +

׷ common α տ (ServerName þ ) +ȣƮ Ͽ α Ѵ. (α +ǿ α +϶.)

+ +

α (ȣƮ Ͼ) ʹٸ split-logfile α׷ +Ѵ. α׷ ġ support +丮 ִ.

+ +

α׷ Ѵ:

+ +

+split-logfile < /logs/multiple_vhost_log +

+ +

ȣƮ α α׷ ϸ αϿ + ȣƮ ϳ . ϸ +hostname.log̴.

+ +
+
+

:  en  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/fd-limits.html.tr.utf8 b/rubbos/app/apache2/manual/vhosts/fd-limits.html.tr.utf8 new file mode 100644 index 00000000..d6024726 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/fd-limits.html.tr.utf8 @@ -0,0 +1,128 @@ + + + +Dosya Tanıtıcı Sınırları - Apache HTTP Sunucusu + + + + + +
<-
+

Dosya Tanıtıcı Sınırları

+
+

Mevcut Diller:  en  | + ja  | + ko  | + tr 

+
+ + +

Çok büyük sayıda sanal konak kullanıyorsanız ve bunların her biri için + ayrı günlük kayıtları tutuyorsanız, Apache dosya tanıtıcılarını + tüketebilir. Apache tarafından, dahili olarak 10-20 dosya tanıtıcıya ek + olarak her hata günlüğü için bir ve her diğer günlük kaydı için bir dosya + tanıcı kullanılır. Unix işletim sisteminde dosya tanıtıcıların sayısı + süreç başına 64 taneyle sınırlıdır ve gerekirse donanıma bağlı olarak + arttırılabilir.

+ +

Apache gerektiğinde bu sınırı kendisi arttırmaya çalışırsa da bu her + zaman mümkün olmaz. Şöyle ki:

+ +
    +
  1. Sisteminiz setrlimit() sistem çağrısını + sağlamıyordur.
  2. + +
  3. Sisteminizde setrlimit(RLIMIT_NOFILE) çağrısı hiçbir işe + yaramıyordur (örneğin, Solaris 2.3).
  4. + +
  5. Dosya tanıtıcılarının sayısı donanıma bağlı olarak daha fazla + arttırılamıyordur.
  6. + +
  7. Sisteminiz dosya tanıtıcı sayısını başka sınırlara bağlı kılmıştır: + örneğin stdio akımları ile ilgili sınır, dosya tanıtıcı sayısının + 256’nın altında ollmasını gerektiriyordur (Solaris 2).
  8. +
+ +

Böyle sorunlar karşısında yapabilecekleriniz:

+ +
  • Ana günlük dosyaları hariç, <VirtualHost> bölümlerinde günlük dosyası + belirtmeyerek günlük dosyası sayısını düşürürsünüz. (Bunun nasıl + yapılacağını öğrenmek için Günlük kayıtlarının + ayrıştırılması bölümüne bakınız.)
  • + +
  • Sisteminizde serbest dosya tanıtıcı sayısı 1-2 civarına düşerse + Apache’yi aşağıdaki gibi bir betikle yeniden çalıştırarak dosya + tanıtıcı sayısını arttırabilirsiniz: + +

    + #!/bin/sh
    + ulimit -S -n 100
    + exec httpd
    +

    +
  • +
+ +

Dosya tanıtıcılarla ilgili sorunlar ve bunların işletim sisteminizde + nasıl çözülebileceğiyle ilgili bilgi edinmek için Dosya Tanıtıcılar ve Apache + belgesine bakınız.

+ +
+
top
+
+

Günlük kayıtlarının ayrıştırılması

+ +

Günlük dosyalarını çok sayıda sanal konak için ortak olarak + kullanıyorsanız, sanal konaklar için istatistiksel çözümlemeler yapmak + amacıyla sırası geldiğinde bunları ayrıştırabilirsiniz. Bu işlem aşağıda + anlatıldığı gibi yapılabilir.

+ +

İlk iş olarak, sanal konak bilgilerini günlük girdilerine eklemeniz + gerekir. Bu işlem, LogFormat yönergesi ve + %v biçem değişkeni ile yapılabilir. Günlük girdisi biçem + dizgesinin başına bunu ekleyiniz:

+ +

+ LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
+ CustomLog logs/multiple_vhost_log vhost +

+ +

Bu yapılandırma ile her günlük kaydının başında sanal konağın + ServerName yönergesine belirtilen + ismi eklenir. (Günlük dosyalarınızın kişiselleştirilmesi ile ilgili daha + fazla bilgi için Günlük + Girdilerinin Kişiselleştirilmesi konusuna bakınız.)

+ +

Günlük dosyanızdaki kayıtları bileşenlere göre gruplamak isterseniz + split-logfile + programını kullanabilirsiniz. Bu programı Apache dağıtımının + support dizininde bulabilirsiniz.

+ +

Programı aşağıdaki gibi çalıştırın:

+ +

+ split-logfile < /logs/multiple_vhost_log +

+ +

Bu programı sanal konaklar için tuttuğunuz günlük dosyasının ismini + argüman olarak belirterek çalıştırdığınızda o dosyadaki kayıtlardan her + sanal konak için ayrı bir günlük dosyası + (konakadı.log) üretilir.

+ +
+
+

Mevcut Diller:  en  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/index.html b/rubbos/app/apache2/manual/vhosts/index.html new file mode 100644 index 00000000..b2002505 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/index.html @@ -0,0 +1,29 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: index.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: index.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: index.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: index.html.ru.koi8-r +Content-Language: ru +Content-type: text/html; charset=KOI8-R + +URI: index.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/rubbos/app/apache2/manual/vhosts/index.html.de b/rubbos/app/apache2/manual/vhosts/index.html.de new file mode 100644 index 00000000..fcceffa5 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/index.html.de @@ -0,0 +1,112 @@ + + + +Apache-Dokumentation zu virtuellen Hosts - Apache HTTP Server + + + + + +
<-
+

Apache-Dokumentation zu virtuellen Hosts

+
+

Verfgbare Sprachen:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ +

Der Begriff virtueller Host (Anm.d..: engl. 'virtual + host') bezieht sich auf die Praxis, mehr als ein Webangebot + (z.B. www.company1.com und www.company2.com) + auf einer einzigen Maschine zu betreiben. Virtuelle Hosts knnen + "IP-basiert" sein, was bedeutet, dass jedes + Webangebot eine andere IP besitzt, oder "Namens-basiert", was bedeutet, dass + unter jeder IP-Adresse mehrere Namen laufen. Die Tatsache, dass sie + auf dem gleichen physischen Server laufen, ist fr den Endbenutzer + nicht offensichtlich.

+ +

Der Apache war einer der ersten Server, der IP-basierte + virtuelle Hosts von Haus aus direkt untersttzt hat. Seit Version 1.1 + untersttzt der Apache sowohl IP-basierte als auch namensbasierte + virtuelle Hosts (vhosts). Letzteres wird zuweilen auch + Host-basiert oder non-IP-Virtual-Host genannt.

+ +

Nachfolgend finden Sie eine Liste von Dokumenten, die alle Details + der Untersttzung von virtuellen Hosts ab Apache Version 1.3 + beschreiben.

+ +
+ +
top
+
top
+
+

Konfigurationsdirektiven

+ + + +

Bei der Suche von Fehlern in Ihrer Virtual-Host-Konfiguration ist + die Apache-Befehlszeilenoption -S mglicherweise + hilfreich. Geben Sie dazu den folgenden Befehl ein:

+ +

+ /usr/local/apache2/bin/httpd -S +

+ +

Diese Anweisung gibt eine Beschreibung aus, wie der Apache die + Konfigurationsdatei analysiert hat. Eine sorgfltige + berprfung der IP-Adressen und Servernamen kann helfen, + Konfigurationsfehler aufzudecken. (Lesen Sie die Dokumentation zum + httpd-Programm fr weitere + Befehlszeilenoptionen.)

+
+
+

Verfgbare Sprachen:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/index.html.en b/rubbos/app/apache2/manual/vhosts/index.html.en new file mode 100644 index 00000000..31b11b4c --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/index.html.en @@ -0,0 +1,112 @@ + + + +Apache Virtual Host documentation - Apache HTTP Server + + + + + +
<-
+

Apache Virtual Host documentation

+
+

Available Languages:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ + +

The term Virtual Host refers to the practice of + running more than one web site (such as + www.company1.com and www.company2.com) + on a single machine. Virtual hosts can be "IP-based", meaning that you have a + different IP address for every web site, or "name-based", meaning that you have + multiple names running on each IP address. The fact that they + are running on the same physical server is not apparent to the + end user.

+ +

Apache was one of the first servers to support IP-based + virtual hosts right out of the box. Versions 1.1 and later of + Apache support both IP-based and name-based virtual hosts + (vhosts). The latter variant of virtual hosts is sometimes also + called host-based or non-IP virtual hosts.

+ +

Below is a list of documentation pages which explain all + details of virtual host support in Apache version 1.3 and + later.

+ +
+ +
top
+
top
+
+

Configuration directives

+ + + +

If you are trying to debug your virtual host configuration, you + may find the Apache -S command line switch + useful. That is, type the following command:

+ +

+ /usr/local/apache2/bin/httpd -S +

+ +

This command will dump out a description of how Apache parsed + the configuration file. Careful examination of the IP addresses and + server names may help uncover configuration mistakes. (See + the docs for the httpd program for + other command line options)

+ +
+
+

Available Languages:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/index.html.es b/rubbos/app/apache2/manual/vhosts/index.html.es new file mode 100644 index 00000000..449b8005 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/index.html.es @@ -0,0 +1,119 @@ + + + +Documentacin sobre Hosting Virtual en Apache - Servidor HTTP Apache + + + + + +
<-
+

Documentacin sobre Hosting Virtual en Apache

+
+

Idiomas disponibles:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ + +

El trmino Hosting Virtual se refiere a hacer + funcionar ms de un sitio web (tales como + www.company1.com y www.company2.com) en + una sola mquina. Los sitios web virtuales pueden estar "basados en direcciones IP", lo que + significa que cada sitio web tiene una direccin IP diferente, o + "basados en nombres diferentes", lo + que significa que con una sola direccin IP estn funcionando + sitios web con diferentes nombres (de dominio). El hecho de que estn + funcionando en la misma mquina fsica pasa completamente + desapercibido para el usuario que visita esos sitios web.

+ +

Apache fue uno de los primeros servidores web en soportar + hosting virtual basado en direcciones IP. Las versiones 1.1 y + posteriores de Apache soportan hosting virtual (vhost) basado tanto + en direcciones IP como basado en nombres. sta ltima variante de + hosting virtual se llama algunas veces basada en host o + hosting virtual no basado en IP.

+ +

Ms abajo se muestra un listado de documentos que explican en + detalle cmo funciona el hosting virtual en las versiones de + Apache 1.3 y posteriores.

+ +
+ +
top
+
top
+
+

Directivas de configuracin

+ + + +

Si est tratando de solucionar problemas de + configuracin de su hosting virtual, puede que le sea de + utilidad usar la opcin de lnea de comandos de Apache + -S. Es decir, el siguiente comando:

+ +

+ /usr/local/apache2/bin/httpd -S +

+ +

Este comando le devolver una descripcin de + cmo Apache analiza e interpreta el fichero de + configuracin. Para saber si contiene errores de + configuracin, es conveniente que examine con atencin + las direcciones IP y los nombres de servidor que est + usando. (Consulte la documentacin sobre el programa + httpd para obtener informacin sobre otras + opciones de lnea de comandos)

+ +
+
+

Idiomas disponibles:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/index.html.ja.utf8 b/rubbos/app/apache2/manual/vhosts/index.html.ja.utf8 new file mode 100644 index 00000000..dd975d2e --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/index.html.ja.utf8 @@ -0,0 +1,108 @@ + + + +Apache バーチャルホスト説明書 - Apache HTTP サーバ + + + + + +
<-
+

Apache バーチャルホスト説明書

+
+

Available Languages:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+
This translation may be out of date. Check the + English version for recent changes.
+ + +

バーチャルホストという用語は、1 台のマシン上で + (www.company1.com and www.company2.com のような) + 二つ以上のウェブサイトを扱う運用方法のことを指します。 + バーチャルホストには、各ウェブサイトに違う IP アドレスがある + 「IP ベース」と、それぞれの IP アドレスに + 複数の名前がある「名前ベース」とがあります。 + 複数のサイトが物理的に同じサーバで扱われている、ということはエンドユーザには + 明らかではありません。

+ +

Apache は、特に手を入れない状態で IP ベースのバーチャルホスト + をサポートした最初のサーバの一つです。バージョン 1.1 以降の Apache + では、IP ベースとネームベースのバーチャルホストの両方をサポート + しています。ネームベースのバーチャルホストは、ホストベースあるいは + 非 IP ベースのバーチャルホストと呼ばれることもあります。

+ +

以下のページでは、Apache バージョン 1.3 + 以降でのバーチャルホストのサポートについての詳細を説明します。

+ +
+ +
top
+
top
+
+

設定ディレクティブ

+ + + +

バーチャルホストの設定のデバッグをするには + Apache のコマンドラインスイッチ -S が便利です。 + つまり、以下のコマンドを入力します:

+ +

+ /usr/local/apache2/bin/httpd -S +

+ +

このコマンドは Apache が設定ファイルをどう解析したかについて出力します。 + IP アドレスとサーバ名を注意深く調べれば、 + 設定の間違いを見つける助けになるでしょう。 + (他のコマンドラインのオプションは httpd プログラムの説明文書を見てください)

+ +
+
+

Available Languages:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/index.html.ko.euc-kr b/rubbos/app/apache2/manual/vhosts/index.html.ko.euc-kr new file mode 100644 index 00000000..fe4fb775 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/index.html.ko.euc-kr @@ -0,0 +1,110 @@ + + + +ġ ȣƮ - Apache HTTP Server + + + + + +
<-
+

ġ ȣƮ

+
+

:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+
ֽ ƴմϴ. + ֱٿ ϼ.
+ + +

ȣƮ (Virtual Host) ǻͿ + Ʈ ( , www.company1.com + www.company2.com) Ѵ. + ȣƮ Ʈ ٸ IP ּҸ ϴ + "IP (IP-based)" İ + IP ּҴ ̸ "̸ (name-based)" + ִ. Ʈ ִٴ ڴ + ġä Ѵ.

+ +

ġ ⺻ IP ȣƮ â + ϳ. ġ 1.1 ̻ IPݰ ̸ + ȣƮ Ѵ. ̸ ȣƮ + ȣƮ (host-based) Ǵ IP ȣƮ + (non-IP virtual hosts) θ.

+ +

ġ 1.3 ̻ ȣƮ ڼ + ̴.

+ +
+ +
top
+
+

ȣƮ

+ + + +
top
+
+

þ

+ + + +

ȣƮ ׽ƮҶ ġ -S + ɼ ϴ. , Ѵ:

+ +

+ /usr/local/apache2/bin/httpd -S +

+ +

ɾ ġ Ͽ + Ѵ. IP ּҿ ڼ 캸 + Ǽ ߰ϴµ ̴. (ٸ ɼǵ + httpd α׷ + ϶.)

+ +
+
+

:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/index.html.ru.koi8-r b/rubbos/app/apache2/manual/vhosts/index.html.ru.koi8-r new file mode 100644 index 00000000..da6f38a5 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/index.html.ru.koi8-r @@ -0,0 +1,107 @@ + + + + Apache - HTTP Apache + + + + + +
<-
+

Apache

+
+

:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ + +

+ - (, + www.company1.com www.company2.com) + . « IP-», + IP , « », + ͣ IP-. , + , + .

+ +

Apache , IP- + . Apache 1.1 + IP-, , . + + - -IP .

+ +

, + Apache 1.3 .

+ +
+ +
top
+
+

+ +
    +
  • , + ( - IP ).
  • +
  • IP- ( + IP -).
  • +
  • .
  • +
  • (, + Too many log files)
  • +
  • +
  • +
+ +
top
+
+

+ + + +

, + Apache -S . + , :

+ +

+ /usr/local/apache2/bin/httpd -S +

+ +

, Apache + . IP ͣ + . ( + httpd + .)

+ +
+
+

:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/index.html.tr.utf8 b/rubbos/app/apache2/manual/vhosts/index.html.tr.utf8 new file mode 100644 index 00000000..c9c54a51 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/index.html.tr.utf8 @@ -0,0 +1,107 @@ + + + +Apache Sanal Konak Belgeleri - Apache HTTP Sunucusu + + + + + +
<-
+

Apache Sanal Konak Belgeleri

+
+

Mevcut Diller:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ + +

Sanal Konak (Virtual Host) terimi tek bir makine üzerinde + birden fazla sitenin (www.sirket1.dom, www.sirket2.dom gibi) barındırılma + uygulamasını betimler. Sanal konaklar, "IP’ye dayalı" veya "isme dayalı" olabilir; birincisinde, her site + ayrı bir IP adresinden sunulurken, ikincisinde her IP adresinde birden + fazla site sunulur. Olayda aynı fiziksel sunucu kullanıldığı halde bu + sunucu son kullanıcıya görünür değildir.

+ +

Apache yazılımsal olarak IP’ye dayalı sanal konakları destekleyen ilk + sunuculardan biridir. 1.1 sürümünden itibaren Apache hem IP’ye dayalı hem + de isme dayalı sanal konakları desteklemektedir. İsme dayalı sanal + konaklara bazen konağa dayalı sanal konaklar veya IP’ye + dayanmayan sanal konaklar da denmektedir.

+ +

Aşağıda, Apache’nin 1.3 sürümü ve sonrası için sanal konak desteğini bütün + ayrıntıları ile açıklayan belgeler listelenmiştir.

+ +
+ +
top
+
top
+
+

Yapılandırma Yönergeleri

+ + + +

Sanal konak yapılandırmanız üzerinde hata ayıklamaya çalışıyorsanız + Apache’nin -S komut satırı seçeneği şu şekilde çok işinize + yarayabilir:

+ +

+ /usr/local/apache2/bin/httpd -S +

+ +

Bu komut, yapılandırma dosyasının Apache yorumunu dökümler. IP + adreslerinin ve sunucu isimlerinin dikkatli bir incelemesi, yapılandırma + yanlışlarınızı keşfetmenize yardımcı olabilir. (Diğer komut satırı + seçenekleri için httpd programının belgelerine + bakınız.)

+ +
+
+

Mevcut Diller:  de  | + en  | + es  | + ja  | + ko  | + ru  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/ip-based.html b/rubbos/app/apache2/manual/vhosts/ip-based.html new file mode 100644 index 00000000..f2417b60 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/ip-based.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: ip-based.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: ip-based.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: ip-based.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/rubbos/app/apache2/manual/vhosts/ip-based.html.en b/rubbos/app/apache2/manual/vhosts/ip-based.html.en new file mode 100644 index 00000000..51fa0b07 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/ip-based.html.en @@ -0,0 +1,160 @@ + + + +Apache IP-based Virtual Host Support - Apache HTTP Server + + + + + +
<-
+

Apache IP-based Virtual Host Support

+
+

Available Languages:  en  | + ko  | + tr 

+
+
+ +
top
+
+

System requirements

+ +

As the term IP-based indicates, the server + must have a different IP address for each IP-based + virtual host. This can be achieved by the machine + having several physical network connections, or by use of + virtual interfaces which are supported by most modern operating + systems (see system documentation for details, these are + frequently called "ip aliases", and the "ifconfig" command is + most commonly used to set them up).

+ +
top
+
+

How to set up Apache

+ +

There are two ways of configuring apache to support multiple + hosts. Either by running a separate httpd daemon for + each hostname, or by running a single daemon which supports all the + virtual hosts.

+ +

Use multiple daemons when:

+ +
    +
  • There are security partitioning issues, such as company1 + does not want anyone at company2 to be able to read their + data except via the web. In this case you would need two + daemons, each running with different User, Group, Listen, and ServerRoot settings.
  • + +
  • You can afford the memory and file descriptor + requirements of listening to every IP alias on the + machine. It's only possible to Listen to the "wildcard" + address, or to specific addresses. So if you have a need to + listen to a specific address for whatever reason, then you + will need to listen to all specific addresses. (Although one + httpd could listen to N-1 of the addresses, and another could + listen to the remaining address.)
  • +
+ +

Use a single daemon when:

+ +
    +
  • Sharing of the httpd configuration between virtual hosts + is acceptable.
  • + +
  • The machine services a large number of requests, and so + the performance loss in running separate daemons may be + significant.
  • +
+ +
top
+
+

Setting up multiple daemons

+ +

Create a separate httpd installation for each + virtual host. For each installation, use the Listen directive in the + configuration file to select which IP address (or virtual host) + that daemon services. e.g.

+ +

+ Listen www.smallco.com:80 +

+ +

It is recommended that you use an IP address instead of a + hostname (see DNS caveats).

+ +
top
+
+

Setting up a single daemon + with virtual hosts

+ +

For this case, a single httpd will service requests for the + main server and all the virtual hosts. The VirtualHost directive + in the configuration file is used to set the values of ServerAdmin, ServerName, DocumentRoot, ErrorLog and TransferLog + or CustomLog + configuration directives to different values for each virtual + host. e.g.

+ +

+ <VirtualHost www.smallco.com>
+ ServerAdmin webmaster@mail.smallco.com
+ DocumentRoot /groups/smallco/www
+ ServerName www.smallco.com
+ ErrorLog /groups/smallco/logs/error_log
+ TransferLog /groups/smallco/logs/access_log
+ </VirtualHost>
+
+ <VirtualHost www.baygroup.org>
+ ServerAdmin webmaster@mail.baygroup.org
+ DocumentRoot /groups/baygroup/www
+ ServerName www.baygroup.org
+ ErrorLog /groups/baygroup/logs/error_log
+ TransferLog /groups/baygroup/logs/access_log
+ </VirtualHost> +

+ +

It is recommended that you use an IP address instead of a + hostname (see DNS caveats).

+ +

Almost any configuration directive can be + put in the VirtualHost directive, with the exception of + directives that control process creation and a few other + directives. To find out if a directive can be used in the + VirtualHost directive, check the Context using the + directive index.

+ +

SuexecUserGroup + may be used inside a + VirtualHost directive if the suEXEC + wrapper is used.

+ +

SECURITY: When specifying where to write log files, + be aware of some security risks which are present if anyone + other than the user that starts Apache has write access to the + directory where they are written. See the security tips document + for details.

+ +
+
+

Available Languages:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/ip-based.html.ko.euc-kr b/rubbos/app/apache2/manual/vhosts/ip-based.html.ko.euc-kr new file mode 100644 index 00000000..96fd784b --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/ip-based.html.ko.euc-kr @@ -0,0 +1,150 @@ + + + +ġ IP ȣƮ - Apache HTTP Server + + + + + +
<-
+

ġ IP ȣƮ

+
+

:  en  | + ko  | + tr 

+
+
ֽ ƴմϴ. + ֱٿ ϼ.
+
+ +
top
+
+

ý 䱸

+ +

IP̶ ǹϵ + IP ȣƮ ٸ IP ּҸ + Ѵ. ̴ ǻ͸ Ʈ + ϰų, ֱ ü ϴ ̽ + (ڼ ý ϶. "ip aliases" + ϸ, "ifconfig" ɾ ) Ͽ ϴ.

+ +
top
+
+

ġ

+ +

ȣƮ ϵ ġ ϴ ΰ. + ϳ ȣƮ ϴ + ̰, ٸ ϳ ȣƮ ϴ Ѱ + ϴ ̴.

+ +

ϳ:

+ + + +

Ѱ ϳ:

+ +
    +
  • ȣƮ ִ .
  • + +
  • ǻͰ ſ û Ѵٸ + ϱ⿡ ӵ ս Ŭ ִ.
  • +
+ +
top
+
+

ϱ

+ +

ȣƮ ġѴ. + Listen þ + IP ּ(Ȥ ȣƮ) ش. + ,

+ +

+ Listen www.smallco.com:80 +

+ +

ȣƮ ٴ IP ּҸ ϱ ٶ. + (DNS )

+ +
top
+
+

ϳ ȣƮ ϱ

+ +

Ѱ ּ ȣƮ + û Ѵ. VirtualHost þ ȣƮ + ٸ ServerAdmin, + ServerName, DocumentRoot, ErrorLog, TransferLog, + CustomLog + þ Ѵ. ,

+ +

+ <VirtualHost www.smallco.com>
+ ServerAdmin webmaster@mail.smallco.com
+ DocumentRoot /groups/smallco/www
+ ServerName www.smallco.com
+ ErrorLog /groups/smallco/logs/error_log
+ TransferLog /groups/smallco/logs/access_log
+ </VirtualHost>
+
+ <VirtualHost www.baygroup.org>
+ ServerAdmin webmaster@mail.baygroup.org
+ DocumentRoot /groups/baygroup/www
+ ServerName www.baygroup.org
+ ErrorLog /groups/baygroup/logs/error_log
+ TransferLog /groups/baygroup/logs/access_log
+ </VirtualHost> +

+ +

ȣƮ ٴ IP ּҸ ϱ ٶ. + (DNS )

+ +

VirtualHost þ ȿ μ Ÿ þ + ϰ þ + ִ. VirtualHost þ ȿ þ ִ + ˷ þ + + Ȯ϶.

+ +

suEXEC α׷ + Ѵٸ VirtualHost þ ȿ User Group ִ.

+ +

: ϴ ڿܿ ٸ + α ִ 丮 ִٸ + ϶. ڼ ϶.

+ +
+
+

:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/ip-based.html.tr.utf8 b/rubbos/app/apache2/manual/vhosts/ip-based.html.tr.utf8 new file mode 100644 index 00000000..78bf8a49 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/ip-based.html.tr.utf8 @@ -0,0 +1,165 @@ + + + +Apache’de IP’ye Dayalı Sanal Konak Desteği - Apache HTTP Sunucusu + + + + + +
<-
+

Apache’de IP’ye Dayalı Sanal Konak Desteği

+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+
+ +
top
+
+

Sistem gereksinimleri

+ +

IP’ye dayalı deyince, sunucunun her IP’ye dayalı + sanal konak için ayrı bir IP adresine sahip olduğunu anlıyoruz. + Bunun olması için, makine ya çok sayıda ağ bağlantısına sahiptir ya da + makinede, günümüzde çoğu işletim sistemi tarafından desteklenen sanal + arabirimler kullanılıyordur. (Sanal arabirimlerle ilgili ayrıntılar için + sistem belgelerinize bakınız; bu konu genellikle IP rumuzları (ip aliases) + olarak geçer ve ayarlamak için genellikle "ifconfig" komutu + kullanılır.)

+ +
top
+
+

Apache nasıl ayarlanır?

+ +

Çok sayıda konağı desteklemek üzere Apache iki şekilde + yapılandırılabilir. Ya her konak için ayrı bir httpd + süreci çalıştırırsınız ya da tüm sanal konakları destekleyen tek bir + süreciniz olur.

+ +

Çok sayıda süreç kullanıyorsanız:

+ +
    +
  • Güvenli bölgeler oluşturmanız gerekiyordur. Örneğin, şirket2’deki hiç + kimse dosya sistemi üzerinden şirket1’e ait verileri okuyamasın, sadece + herkes gibi tarayıcı kullanarak okuyabilsin istenebilir. Bu durumda, + User, + Group, + Listen ve + ServerRoot yönergeleri farklı + değerlerle yapılandırılmış iki ayrı süreç çalıştırmanız gerekir.
  • + +
  • Makine üzerindeki her IP adresini dinlemek için gereken + dosya tanıtıcı + ve bellek miktarını makul bir seviyede tutabilirsiniz. Bu sadece belli + adresleri dinleyerek veya çok sayıda adresle eşleşen adres kalıpları + kullanarak mümükün olabilir. Zaten, bir sebeple belli bir adresi dinleme + ihtiyacı duyarsanız, diğer tüm adresleri de ayrı ayrı dinlemeniz + gerekir. (Bir httpd programı N-1 adresi dinlerken + diğerleri kalan adresleri dinleyebilir.)
  • +
+ +

Tek bir süreç kullanıyorsanız:

+ +
    +
  • httpd yapılandırmasının sanal konaklar arasında + paylaşılmasına izin veriliyor demektir.
  • + +
  • Makine çok büyük miktarda isteği karşılayabilir ve ayrı ayrı + süreçlerin çalışmasından kaynaklanan önemli başarım kayıpları + yaşanmaz.
  • +
+ +
top
+
+

Çok sayıda sürecin yapılandırılması

+ +

Her sanal konak için ayrı bir httpd yapılandırması + oluşturulur. Her yapılandırmada, o süreç tarafından sunulacak IP adresi + (veya sanal konak) için Listen + yönergesi kullanılır. Örnek:

+ +

+ Listen www.birkobi.dom:80 +

+ +

Burada konak ismi yerine IP adresi kullanmanız önerilir (ayrıntılar için + DNS ile ilgili konular belgesine + bakınız).

+ +
top
+
+

Sanal konaklar tek bir sürecin yapılandırılması

+ +

Bu durum için, ana sunucu ve sanal konakların tümüne gelen istekler tek + bir httpd süreci tarafından karşılanır. Yapılandırma + dosyasında, her sanal konak için, farklı değerlere sahip ServerAdmin, ServerName, DocumentRoot, ErrorLogveTransferLog + veya CustomLog yönergeleri + içeren ayrı birer VirtualHost bölümü + oluşturulur. Örnek:

+ +

+ <VirtualHost www.birkobi.dom> + + ServerAdmin bilgi@posta.birkobi.dom
+ DocumentRoot /gruplar/birkobi/belgeler
+ ServerName www.birkobi.dom
+ ErrorLog /gruplar/birkobi/günlükler/hatalar.log
+ TransferLog /gruplar/birkobi/günlükler/erisim.log +
+ </VirtualHost>
+
+ <VirtualHost www.digerkobi.dom> + + ServerAdmin bilgi@posta.digerkobi.dom
+ DocumentRoot /gruplar/digerkobi/belgeler
+ ServerName www.digerkobi.dom
+ ErrorLog /gruplar/digerkobi/günlükler/hatalar.log
+ TransferLog /gruplar/digerkobi/günlükler/erisim.log +
+ </VirtualHost> +

+ +

Burada konak isimlerinin yerlerine IP adreslerini kullanmanız önerilir + (ayrıntılar için DNS ile ilgili konular + belgesine bakınız).

+ +

Süreç oluşturmayı denetleyen yönergeler ve bir kaç başka yönerge dışında + hemen hemen tüm yapılandırma yönergeleri VirtualHost bölümleri içinde kullanılabilir. Bir + yönergenin VirtualHost bölümlerinde + kullanılıp kullanılmayacağını öğrenmek için yönerge dizinini kullanarak yönergenin Bağlam’ına bakınız.

+ +

suEXEC sarmalayıcısı kullanıldığı takdirde + SuexecUserGroup yönergesi de + bir VirtualHost bölümü içinde + kullanılabilir.

+ +

GÜVENLİK:Günlük dosyalarının yazılacağı yeri belirlerken, + Apache’yi başlatan kullanıcıdan başka kimsenin yazamayacağı bir yerin + seçilmesi bazı güvenlik risklerini ortadan kaldırmak bakımından önemlidir. + Ayrıntılar için güvenlik ipuçları + belgesine bakınız.

+
+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/mass.html b/rubbos/app/apache2/manual/vhosts/mass.html new file mode 100644 index 00000000..408420d1 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/mass.html @@ -0,0 +1,13 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: mass.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: mass.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: mass.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/rubbos/app/apache2/manual/vhosts/mass.html.en b/rubbos/app/apache2/manual/vhosts/mass.html.en new file mode 100644 index 00000000..ee0f0f1d --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/mass.html.en @@ -0,0 +1,419 @@ + + + +Dynamically Configured Mass Virtual Hosting - Apache HTTP Server + + + + + +
<-
+

Dynamically Configured Mass Virtual Hosting

+
+

Available Languages:  en  | + ko  | + tr 

+
+ + +

This document describes how to efficiently serve an + arbitrary number of virtual hosts with the Apache httpd webserver. +

+ +
+ +
top
+
+

Motivation

+ +

The techniques described here are of interest if your + httpd.conf contains many + <VirtualHost> sections that are + substantially the same, for example:

+ +

+NameVirtualHost 111.22.33.44
+<VirtualHost 111.22.33.44>
+ + ServerName www.customer-1.com
+ DocumentRoot /www/hosts/www.customer-1.com/docs
+ ScriptAlias /cgi-bin/ /www/hosts/www.customer-1.com/cgi-bin
+
+</VirtualHost>
+<VirtualHost 111.22.33.44>
+ + ServerName www.customer-2.com
+ DocumentRoot /www/hosts/www.customer-2.com/docs
+ ScriptAlias /cgi-bin/ /www/hosts/www.customer-2.com/cgi-bin
+
+</VirtualHost>
+# blah blah blah
+<VirtualHost 111.22.33.44>
+ + ServerName www.customer-N.com
+ DocumentRoot /www/hosts/www.customer-N.com/docs
+ ScriptAlias /cgi-bin/ /www/hosts/www.customer-N.com/cgi-bin
+
+</VirtualHost> +

+ +

The basic idea is to replace all of the static + <VirtualHost> configurations with a mechanism + that works them out dynamically. This has a number of + advantages:

+ +
    +
  1. Your configuration file is smaller, so Apache starts + more quickly and uses less memory.
  2. + +
  3. Adding virtual hosts is simply a matter of creating the + appropriate directories in the filesystem and entries in the + DNS - you don't need to reconfigure or restart Apache.
  4. +
+ +

The main disadvantage is that you cannot have a different log file for + each virtual host; however, if you have many virtual hosts, doing + this can be a bad idea anyway, because of the number of file + descriptors needed. It is better to log to a pipe or a fifo, and arrange for + the process at the other end to distribute the logs to the customers. + (This can also be used to accumulate statistics, etc.).

+ +
top
+
+

Overview

+ +

A virtual host is defined by two pieces of information: its + IP address, and the contents of the Host: header + in the HTTP request. The dynamic mass virtual hosting technique + used here is based on automatically inserting this information into the + pathname of the file that is used to satisfy the request. This + can be most easily done by using mod_vhost_alias + with Apache 2.0. Alternatively, mod_rewrite can be used. + Both of these modules are disabled by default; you must enable + one of them when configuring and building Apache if you want to + use this technique.

+ +

A couple of things need to be `faked' to make the dynamic + virtual host look like a normal one. The most important is the + server name, which is used by Apache to generate + self-referential URLs etc. It is configured with the + ServerName directive, and it is available to CGIs + via the SERVER_NAME environment variable. The + actual value used at run time is controlled by the UseCanonicalName + setting. With UseCanonicalName Off, the server name + is taken from the contents of the Host: header in the + request. With UseCanonicalName DNS, it is taken from a + reverse DNS lookup of the virtual host's IP address. The former + setting is used for name-based dynamic virtual hosting, and the + latter is used for IP-based hosting. If Apache cannot work out + the server name because there is no Host: header, + or the DNS lookup fails, then the value configured with + ServerName is used instead.

+ +

The other thing to `fake' is the document root (configured + with DocumentRoot and available to CGIs via the + DOCUMENT_ROOT environment variable). In a normal + configuration, this is used by the core module when + mapping URIs to filenames, but when the server is configured to + do dynamic virtual hosting, that job must be taken over by another + module (either mod_vhost_alias or + mod_rewrite), which has a different way of doing + the mapping. Neither of these modules is responsible for + setting the DOCUMENT_ROOT environment variable so + if any CGIs or SSI documents make use of it, they will get a + misleading value.

+ +
top
+
+

Simple Dynamic Virtual Hosts

+ +

This extract from httpd.conf implements the + virtual host arrangement outlined in the Motivation section above, but in a + generic fashion using mod_vhost_alias.

+ +

+# get the server name from the Host: header
+UseCanonicalName Off
+
+# this log format can be split per-virtual-host based on the first field
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+# include the server name in the filenames used to satisfy requests
+VirtualDocumentRoot /www/hosts/%0/docs
+VirtualScriptAlias /www/hosts/%0/cgi-bin +

+ +

This configuration can be changed into an IP-based virtual + hosting solution by just turning UseCanonicalName + Off into UseCanonicalName DNS. The server + name that is inserted into the filename is then derived from + the IP address of the virtual host.

+ +
top
+
+

A Virtually Hosted Homepages System

+ +

This is an adjustment of the above system, tailored for an + ISP's homepages server. Using a slightly more complicated + configuration, we can select substrings of the server name to + use in the filename so that, for example, the documents for + www.user.isp.com are found in + /home/user/. It uses a single cgi-bin + directory instead of one per virtual host.

+ +

+# all the preliminary stuff is the same as above, then
+
+# include part of the server name in the filenames
+VirtualDocumentRoot /www/hosts/%2/docs
+
+# single cgi-bin directory
+ScriptAlias /cgi-bin/ /www/std-cgi/
+

+ +

There are examples of more complicated + VirtualDocumentRoot settings in the + mod_vhost_alias documentation.

+ +
top
+
+

Using Multiple Virtual + Hosting Systems on the Same Server

+ +

With more complicated setups, you can use Apache's normal + <VirtualHost> directives to control the + scope of the various virtual hosting configurations. For + example, you could have one IP address for general customers' homepages, + and another for commercial customers, with the following setup. + This can, of course, be combined with conventional + <VirtualHost> configuration sections.

+ +

+UseCanonicalName Off
+
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+
+<Directory /www/commercial>
+ + Options FollowSymLinks
+ AllowOverride All
+
+</Directory>
+
+<Directory /www/homepages>
+ + Options FollowSymLinks
+ AllowOverride None
+
+</Directory>
+
+<VirtualHost 111.22.33.44>
+ + ServerName www.commercial.isp.com
+
+ CustomLog logs/access_log.commercial vcommon
+
+ VirtualDocumentRoot /www/commercial/%0/docs
+ VirtualScriptAlias /www/commercial/%0/cgi-bin
+
+</VirtualHost>
+
+<VirtualHost 111.22.33.45>
+ + ServerName www.homepages.isp.com
+
+ CustomLog logs/access_log.homepages vcommon
+
+ VirtualDocumentRoot /www/homepages/%0/docs
+ ScriptAlias /cgi-bin/ /www/std-cgi/
+
+</VirtualHost> +

+ +
top
+
+

More Efficient IP-Based Virtual Hosting

+ +

The configuration changes suggested to turn the first + example into an IP-based virtual hosting setup result in + a rather inefficient setup. A new DNS lookup is required for every + request. To avoid this overhead, the filesystem can be arranged to + correspond to the IP addresses, instead of to the host names, thereby + negating the need for a DNS lookup. Logging will also have to be adjusted + to fit this system.

+ +

+# get the server name from the reverse DNS of the IP address
+UseCanonicalName DNS
+
+# include the IP address in the logs so they may be split
+LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+# include the IP address in the filenames
+VirtualDocumentRootIP /www/hosts/%0/docs
+VirtualScriptAliasIP /www/hosts/%0/cgi-bin
+

+ +
top
+
+

Simple Dynamic + Virtual Hosts Using mod_rewrite

+ +

This extract from httpd.conf does the same + thing as the first example. The first + half is very similar to the corresponding part above, except for + some changes, required for backward compatibility and to make the + mod_rewrite part work properly; the second half + configures mod_rewrite to do the actual work.

+ +

There are a couple of especially tricky bits: by default, + mod_rewrite runs before other URI translation + modules (mod_alias etc.) - so if you wish to use these modules, mod_rewrite must be configured to accommodate + them. Also, some magic is required to do a + per-dynamic-virtual-host equivalent of + ScriptAlias.

+ +

+# get the server name from the Host: header
+UseCanonicalName Off
+
+# splittable logs
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+<Directory /www/hosts>
+ + # ExecCGI is needed here because we can't force
+ # CGI execution in the way that ScriptAlias does
+ Options FollowSymLinks ExecCGI
+
+</Directory>
+
+# now for the hard bit
+
+RewriteEngine On
+
+# a ServerName derived from a Host: header may be any case at all
+RewriteMap lowercase int:tolower
+
+## deal with normal documents first:
+# allow Alias /icons/ to work - repeat for other aliases
+RewriteCond %{REQUEST_URI} !^/icons/
+# allow CGIs to work
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+# do the magic
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
+
+## and now deal with CGIs - we have to force a MIME type
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [T=application/x-httpd-cgi]
+
+# that's it! +

+ +
top
+
+

A + Homepages System Using mod_rewrite

+ +

This does the same thing as the second + example.

+ +

+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+# allow CGIs to work
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+
+# check the hostname is right so that the RewriteRule works
+RewriteCond ${lowercase:%{SERVER_NAME}} ^www\.[a-z-]+\.isp\.com$
+
+# concatenate the virtual host name onto the start of the URI
+# the [C] means do the next rewrite on the result of this one
+RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]
+
+# now create the real file name
+RewriteRule ^www\.([a-z-]+)\.isp\.com/(.*) /home/$1/$2
+
+# define the global CGI directory
+ScriptAlias /cgi-bin/ /www/std-cgi/ +

+ +
top
+
+

Using a Separate Virtual + Host Configuration File

+ +

This arrangement uses more advanced mod_rewrite + features to work out the translation from virtual host to document + root, from a separate configuration file. This provides more + flexibility, but requires more complicated configuration.

+ +

The vhost.map file should look something like + this:

+ +

+www.customer-1.com /www/customers/1
+www.customer-2.com /www/customers/2
+# ...
+www.customer-N.com /www/customers/N
+

+ +

The httpd.conf should contain the following:

+ +

+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+# define the map file
+RewriteMap vhost txt:/www/conf/vhost.map
+
+# deal with aliases as above
+RewriteCond %{REQUEST_URI} !^/icons/
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+# this does the file-based remap
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/docs/$1
+
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/cgi-bin/$1 [T=application/x-httpd-cgi] +

+ +
+
+

Available Languages:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/mass.html.ko.euc-kr b/rubbos/app/apache2/manual/vhosts/mass.html.ko.euc-kr new file mode 100644 index 00000000..060c69b1 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/mass.html.ko.euc-kr @@ -0,0 +1,425 @@ + + + +뷮 ȣƮ ϱ - Apache HTTP Server + + + + + +
<-
+

뷮 ȣƮ ϱ

+
+

:  en  | + ko  | + tr 

+
+
ֽ ƴմϴ. + ֱٿ ϼ.
+ + +

ġ 1.3 뷮 ȣƮ ȿ + ϴ Ѵ. +

+ +
+ +
top
+
+

+ +

httpd.conf + <VirtualHost> ǵ ִٸ ⼭ + ϴ ̴:

+ +

+NameVirtualHost 111.22.33.44
+<VirtualHost 111.22.33.44>
+ + ServerName www.customer-1.com
+ DocumentRoot /www/hosts/www.customer-1.com/docs
+ ScriptAlias /cgi-bin/ /www/hosts/www.customer-1.com/cgi-bin
+
+</VirtualHost>
+<VirtualHost 111.22.33.44>
+ + ServerName www.customer-2.com
+ DocumentRoot /www/hosts/www.customer-2.com/docs
+ ScriptAlias /cgi-bin/ /www/hosts/www.customer-2.com/cgi-bin
+
+</VirtualHost>
+# ٺ ٺ ٺ
+<VirtualHost 111.22.33.44>
+ + ServerName www.customer-N.com
+ DocumentRoot /www/hosts/www.customer-N.com/docs
+ ScriptAlias /cgi-bin/ /www/hosts/www.customer-N.com/cgi-bin
+
+</VirtualHost> +

+ +

<VirtualHost> + θ óϵ üϴ ̴. + ׷ ִ:

+ +
    +
  1. ۾ ġ ϰ ޸𸮸 + Ѵ.
  2. + +
  3. ȣƮ ߰ϱ Ͻýۿ + 丮 DNS ׸ ߰ϱ⸸ ϸȴ. , + ġ 缳ϰ ʿ䰡 .
  4. +
+ +

ȣƮ ٸ α ٴ + ̴. ׷ ſ ȣƮ Ѵٸ ϱڸ + ⶧ ٸ α . + fifo α׸ , ޴ α׸ óϿ + ( ִ) .

+ +
top
+
+

+ +

ȣƮ IP ּҿ HTTP û Host: + Ѵ. ⺻ 뷮 + ȣƮ ڵ ȣƮ û + ϰο Ѵ. ̴ κ mod_vhost_alias + Ͽ ذ , ġ 1.3.6 ϸ Ѵٸ + mod_rewrite ؾ Ѵ. + ⺻ Ե ʴ´. Ϸ + ġ ϰ Ҷ ؾ Ѵ.

+ +

ȣƮ Ϲ ȣƮó ̰Ϸ + `ӿ' Ѵ. ߿ ġ ڱ + URL 鶧 ̴. + ServerName þ ϸ, CGI + SERVER_NAME ȯ溯 ־. + UseCanonicalName ޷ȴ. + UseCanonicalName Off̸ û Host: + ȴ. UseCanonicalName DNS̸ + ȣƮ IP ּҸ DNS ˻Ͽ ˾Ƴ. + ڴ ̸ ȣƮ ϰ, ڴ IP + ȣƮ Ѵ. Host: ų + DNS ˻ Ͽ ġ ˾Ƴ ϸ + ServerName Ѵ.

+ +

ٸ `' (DocumentRoot ϸ, + CGI DOCUMENT_ROOT ȯ溯 ־) + Ʈ̴. Ϲ core Ͽ + URI شϴ ϸ ã, ȣ Ҷ ٸ + (mod_vhost_alias mod_rewrite) + ٸ ̷ ۾ Ѵ. + DOCUMENT_ROOT ȯ溯 Ƿ + CGI SSI Ѵٸ ߸ + ִ.

+ +
top
+
+

ȣƮ

+ +

ȣƮ + mod_vhost_alias Ͽ Ϲ + ߴ.

+ +

+# Host: ˾Ƴ
+UseCanonicalName Off
+
+# ù° ʵ带 Ͽ α׸ ȣƮ ִ
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+# û óϱ ϸ Ѵ
+VirtualDocumentRoot /www/hosts/%0/docs
+VirtualScriptAlias /www/hosts/%0/cgi-bin +

+ +

UseCanonicalName Off + UseCanonicalName DNS ϱ⸸ ϸ IP + ȣƮ ȴ. ȣƮ IP ּҸ + ϸ ߰ ִ.

+ +
top
+
+

ȣƮϴ Ȩ ý

+ +

ISP Ȩ ߴ. + ϸ www.user.isp.com + /home/user/ δ Ϻθ + ϸ ִ. + cgi-bin ȣƮ ʰ + ȣƮ Ѵ.

+ +

+# ⺻ . ׸
+
+# ϸ Ϻθ Ѵ
+VirtualDocumentRoot /www/hosts/%2/docs
+
+# ϳ cgi-bin 丮
+ScriptAlias /cgi-bin/ /www/std-cgi/
+

+ +

mod_vhost_alias + VirtualDocumentRoot ִ.

+ +
top
+
+

ȣƮ + ý ϱ

+ +

ġ Ϲ + <VirtualHost> þ Ͽ + ȣƮ ִ. , + Ȩ IP ּ Ѱ, + ٸ IP ּ Ѱ οѴ. ó + <VirtualHost> ǿ + ִ.

+ +

+UseCanonicalName Off
+
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+
+<Directory /www/commercial>
+ + Options FollowSymLinks
+ AllowOverride All
+
+</Directory>
+
+<Directory /www/homepages>
+ + Options FollowSymLinks
+ AllowOverride None
+
+</Directory>
+
+<VirtualHost 111.22.33.44>
+ + ServerName www.commercial.isp.com
+
+ CustomLog logs/access_log.commercial vcommon
+
+ VirtualDocumentRoot /www/commercial/%0/docs
+ VirtualScriptAlias /www/commercial/%0/cgi-bin
+
+</VirtualHost>
+
+<VirtualHost 111.22.33.45>
+ + ServerName www.homepages.isp.com
+
+ CustomLog logs/access_log.homepages vcommon
+
+ VirtualDocumentRoot /www/homepages/%0/docs
+ ScriptAlias /cgi-bin/ /www/std-cgi/
+
+</VirtualHost> +

+ +
top
+
+

ȿ IP ȣƮ

+ +

ù° + IP ȣƮ ٲ ִٰ ߴ. + ׷ û DNS ãƾϹǷ ſ ȿ̴. + ̸ IP ּҷ Ͻý ϰ + α׸ ϸ ذ ִ. ġ + ٷ ʿ䰡 , DNS ˻ ʰ ȴ.

+ +

+# IP ּҸ DNS ˻Ͽ ˾Ƴ
+UseCanonicalName DNS
+
+# α׸ ֵ IP ּҸ Ѵ
+LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+# ϸ IP ּҸ Ѵ
+VirtualDocumentRootIP /www/hosts/%0/docs
+VirtualScriptAliasIP /www/hosts/%0/cgi-bin
+

+ +
top
+
+

ġ ϱ

+ +

ġ 1.3.6 Ŀ Ե + mod_vhost_alias Ѵ. + mod_vhost_alias ġ Ѵٸ + ̹ ߵ mod_rewrite Ͽ, + Host:- ȣƮ, ִ.

+ +

α׿ Ͽ ִ. ġ 1.3.6 + α þ %V ԵǾ, 1.3.0 + - 1.3.3 %v ɼ ߴ. ׷ + 1.3.4 ̷ .  ġ + .htaccess Ͽ UseCanonicalName + þ Ƿ α׿ ̻ ϵ ִ. + ׷Ƿ %{Host}i þ + Ͽ Host: α׿ ̴. + , %V ʴ :port + ڿ ߰ ִ.

+ +
top
+
+

mod_rewrite + ȣƮ

+ +

ù° ϴ + httpd.conf ̴. ó ù° + , ȣȯ mod_rewrite + Ǿ. ۾ + ϴ mod_rewrite Ѵ.

+ +

Ư ؾ ִ. ⺻ + mod_rewrite (mod_alias ) ٸ + URI ȴ. ׷ ٸ URI + Ͽ mod_rewrite ؾ Ѵ. + , ȣƮ ScriptAlias + ؼ Ư ۾ ʿϴ.

+ +

+# Host: ´
+UseCanonicalName Off
+
+# splittable logs
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+<Directory /www/hosts>
+ + # ScriptAlias CGI ⶧
+ # ⿡ ExecCGI Ѵ
+ Options FollowSymLinks ExecCGI
+
+</Directory>
+
+# κ̴
+
+RewriteEngine On
+
+# Host: ҹڰ ڼ ִ
+RewriteMap lowercase int:tolower
+
+## Ϲ óѴ:
+# Alias /icons/ ϵ - ٸ alias ؼ ݺ
+RewriteCond %{REQUEST_URI} !^/icons/
+# CGI ϵ
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+# Ư ۾
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
+
+## CGI óѴ - MIME type ؾ Ѵ
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [T=application/x-httpd-cgi]
+
+# ! +

+ +
top
+
+

mod_rewrite + Ȩ ý

+ +

ι° + Ѵ.

+ +

+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+# CGI ϵ
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+
+# RewriteRule ϵ ȣƮ ùٸ ˻Ѵ
+RewriteCond ${lowercase:%{SERVER_NAME}} ^www\.[a-z-]+\.isp\.com$
+
+# ȣƮ URI տ δ
+# [C] ۼ Ѵ
+RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]
+
+# ϸ
+RewriteRule ^www\.([a-z-]+)\.isp\.com/(.*) /home/$1/$2
+
+# ü CGI 丮 Ѵ
+ScriptAlias /cgi-bin/ /www/std-cgi/ +

+ +
top
+
+

ȣƮ + ϱ

+ +

mod_rewrite Ͽ + ȣƮ Ʈ ˾Ƴ. + ʿϴ.

+ +

vhost.map :

+ +

+www.customer-1.com /www/customers/1
+www.customer-2.com /www/customers/2
+# ...
+www.customer-N.com /www/customers/N
+

+ +

http.conf :

+ +

+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+# Ѵ
+RewriteMap vhost txt:/www/conf/vhost.map
+
+# alias óѴ
+RewriteCond %{REQUEST_URI} !^/icons/
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+# ã´
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/docs/$1
+
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/cgi-bin/$1 +

+ +
+
+

:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/mass.html.tr.utf8 b/rubbos/app/apache2/manual/vhosts/mass.html.tr.utf8 new file mode 100644 index 00000000..ff3f9990 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/mass.html.tr.utf8 @@ -0,0 +1,406 @@ + + + +Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma - Apache HTTP Sunucusu + + + + + +
<-
+

Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma

+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ + +

Bu belgede sanal konakların sonu belirsiz bir şekilde artışı karşısında + Apache httpd sunucusunun nasıl daha verimli kullanılacağı açıklanmıştır. +

+ +
+ +
top
+
+

Amaç

+ +

Burada açıklanan teknikler, httpd.conf dosyanızın + örnekteki gibi, aslında hemen hemen birbirinin aynı çok sayıda + <VirtualHost> bölümü içereceği zaman yapılacaklar ile + ilgilidir.

+ +

+NameVirtualHost 111.22.33.44
+<VirtualHost 111.22.33.44>
+ + ServerName musteri-1.dom
+ DocumentRoot /siteler/musteri-1.dom/belgeler
+ ScriptAlias /cgi-bin/ /siteler/musteri-1.dom/cgi-bin
+
+</VirtualHost>
+<VirtualHost 111.22.33.44>
+ + ServerName musteri-2.dom
+ DocumentRoot /siteler/musteri-2.dom/belgeler
+ ScriptAlias /cgi-bin/ /siteler/musteri-2.dom/cgi-bin
+
+</VirtualHost>
+# blah blah blah
+<VirtualHost 111.22.33.44>
+ + ServerName musteri-N.dom
+ DocumentRoot /siteler/musteri-N.dom/belgeler
+ ScriptAlias /cgi-bin/ /siteler/musteri-N.dom/cgi-bin
+
+</VirtualHost> +

+ +

Ana fikir, tüm durağan <VirtualHost> + yapılandırmalarını devingen olarak çalışan tek bir + <VirtualHost> bölümüyle değiştirmektir. Bunun elbette + bazı getirileri olacaktır:

+ +
    +
  1. Yapılandırma dosyanız küçüleceği için Apache daha çabuk + başlatılabilecek ve daha az bellek harcayacaktır.
  2. + +
  3. Yeni sanal konakların eklenmesi, DNS’de yeni girdiler oluşturmak ve + dosya sisteminde bununla ilgili dizinleri açmak dışında biraz daha + basit olacaktır; en azından Apache’yi yeniden yapılandırmak ve yeniden + başlatmak zorunda kalmayacaksınız.
  4. +
+ +

Ana götürüsü ise her sanal konak için ayrı birer günlük dosyasına sahip + olamayacak olmanızdır. Öte yandan, dosya tanıtıcılarının sınırlı olması + nedeniyle bunu yapmayı zaten istemezsiniz. Günlük kayıtları için bir + fifo veya bir boru hattı oluşturmak ve diğer uçta çalışan bir süreç + vasıtasıyla günlükleri müşterilere paylaştırmak daha iyidir (ayrıca, bu, + istatistikleri toplamanızı da kolaylaştırır).

+ +
top
+
+

Genel Bakış

+ +

Bir sanal konak iki bilgiye bakarak belirlenir: IP adresi ve HTTP + isteğindeki Host: başlığının içeriği. Devingen sanal + barındırma tekniği, isteği yerine getirmek için kullanılacak dosya + yoluna bu bilgiyi kendiliğinden girmek esasına dayanır. Bu, Apache 2.0 + ile mod_vhost_alias kullanarak oldukça kolay + yapılabileceği gibi mod_rewrite da kullanılabilir. Bu + modüllerin her ikisi de öntanımlı olarak devre dışıdır. Bu tekniği + kullanmak isterseniz Apache’yi yeniden yapılandırıp derleyerek bu iki + modülü etkin duruma getirmeniz gerekir.

+ +

Devingen sanal konağı normal bir sanal konak gibi göstermek için bazı + şeyleri ’göstermelik’ olarak yapmak gerekir. Bunlardan en önemlisi, + Apache tarafından göreli URL’lerden normal URL’leri ve benzerlerini + üretmek için kullanılan sunucu ismidir. Sunucu ismi + ServerName yönergesi ile yapılandırılır ve CGI’ler + tarafından SERVER_NAME ortam değişkeni üzerinden + kullanılır. Çalışma anındaki asıl değer UseCanonicalName yönergesi tarafından denetlenir. + UseCanonicalName Off olduğunda sunucu ismi isteğin + Host: başlık alanından elde edilir. UseCanonicalName + DNS belirtilmişse, sunucu ismi, sanal konağın IP adresinden + tersine DNS sorgusu yapılarak elde edilir. Birincisi isme dayalı sanal + konaklar tarafından ikincisi ise IP’ye dayalı sanal konaklar tarafından + kullanılır. Eğer Apache, istekte Host: başlığının olmayışı + veya DNS sorgusunun başarısız olması sebebiyle sunucu ismini elde + edemezse son çare olarak ServerName yönergesinde yazılı + değeri kullanır.

+ +

‘Göstermelik’ yapılan şeylerden biri de DocumentRoot + yönergesi ile yapılandırılan belge kök dizini olup CGI’ler tarafından + DOCUMENT_ROOT ortam değişkeni üzerinden kullanılır. Normal + yapılandırmada core modülü tarafından dosya isimlerini + URI’lere eşlerken kullanılır. Fakat sunucu devingen sanal konakları + kullanmak üzere yapılandırıldığında, eşleştirmeyi farklı yollardan yapan + başka bir modül devreye girer (mod_vhost_alias veya + mod_rewrite). DOCUMENT_ROOT ortam değişkenine + değerini atamaktan sorumlu olan bu iki modülden biri kullanılmazsa CGI + veya SSI belgeleri yanlış değerlerle üretilirler.

+ +
top
+
+

Basit Devingen Sanal Konaklar

+ +

Yukarıda Amaç bölümünde özetlenen sanal konak + düzenlemesinin mod_vhost_alias kullanarak daha soysal bir + tarzda gerçekleştirilmiş halini içeren httpd.conf bölümü + aşağıdadır.

+ +

+# sunucu ismini Host: başlığından elde edelim
+UseCanonicalName Off
+
+# Bu günlükleme biçiminde ilk alana bakarak
+# sanal konak günlükleri ayrıştırılabilir
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+# istekleri yerine getirmek için kullanılacak
+# dosya isimlerine sunucu ismini ekleyelim
+VirtualDocumentRoot /siteler/%0/belgeler
+VirtualScriptAlias /siteler/%0/cgi-bin +

+ +

Bu yapılandırmayı IP’ye dayalı sanal konaklar için kullanmak isterseniz + UseCanonicalName Off yerine UseCanonicalName + DNS yazmanız yeterlidir. Böylece dosya ismine eklenecek konak + ismi sanal konağın IP adresinden türetilir.

+ +
top
+
+

Sanal Kişisel Sayfalar Sistemi

+ +

Bu sistem, yukarıdaki yapılandırmanın bir ISS’nin kişisel sayfalar + sunucusuna uyarlanmasından başka bir şey değildir. Biraz daha karmaşık + bir yapılandırma ile dosya isimlerine /home/kullanıcı/ + dizinlerini ekleyebiliriz. Farklı olarak her sanal konak için bir tane + değil hepsi için bir tane cgi-bin olacaktır.

+ +

+# Son bölüm hariç yukarıdaki yapılandırma, burada...
+
+# sunucu ismine eklenecek dosya isimlerini oluşturalım
+VirtualDocumentRoot /siteler/%2/belgeler
+
+# ortak cgi-bin dizini
+ScriptAlias /cgi-bin/ /siteler/std-cgi/
+

+ +

mod_vhost_alias belgesinde daha karmaşık + VirtualDocumentRoot örnekleri vardır.

+ +
top
+
+

Aynı Sunucuda Kişisel ve Kurumsal Sanal Konaklar

+ +

Daha karmaşık ayarlamalar yaparak Apache’inin normal + <VirtualHost> bölümlerini farklı kitlesel sanal konak + yapılandırmaları için kullanabilirsiniz. Örneğin, bireysel + müşterileriniz için bir IP adresiniz, kurumsal müşterileriniz için de + başka bir IP adresiniz olsun. Her biri için ayrı ayrı sanal konaklar + ayarlamak yerine aşağıdaki gibi bir yapılandırma kullanabilirsiniz:

+ +

+UseCanonicalName Off
+
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+
+<Directory /siteler/kurumsal>
+ + Options FollowSymLinks
+ AllowOverride All
+
+</Directory>
+
+<Directory /siteler/bireysel>
+ + Options FollowSymLinks
+ AllowOverride None
+
+</Directory>
+
+<VirtualHost 111.22.33.44>
+ + ServerName kurumsal.iss.dom
+
+ CustomLog logs/access_log.kurumsal vcommon
+
+ VirtualDocumentRoot /siteler/kurumsal/%0/belgeler
+ VirtualScriptAlias /siteler/kurumsal/%0/cgi-bin
+
+</VirtualHost>
+
+<VirtualHost 111.22.33.45>
+ + ServerName bireysel.iss.dom
+
+ CustomLog logs/access_log.bireysel vcommon
+
+ VirtualDocumentRoot /siteler/bireysel/%0/belgeler
+ ScriptAlias /cgi-bin/ /siteler/std-cgi/
+
+</VirtualHost> +

+
top
+
+

IP’ye dayalı sanal konakları daha verimli kılmak

+ +

İlk örnekte IP’ye dayalı sanal konaklar için + kullanılmak istenirse yapılandırmada neyin nasıl değiştirileceği + belirtilmişti. Her istek için ayrı bir DNS sorgusu gerekeceğinden bu + başarım düşmesine yol açar. DNS sorgusu ihtiyacını ortadan kaldırmak + için, bir çözüm olarak dosya sistemi, konak isimleri yerine IP + adreslerine göre düzenlenebilir. Günlük kayıtları da IP adreslerine göre + ayrıştırılacak şekilde ayarlanabilir.

+ +

+# Sunucu ismini IP adresinden ters DNS sorgusu ile elde edelim
+UseCanonicalName DNS
+
+# Günlük kayıtları IP adreslerine göre ayrıştırılabilsin
+LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+# dosya isimleri IP adreslerini içersin
+VirtualDocumentRootIP /siteler/%0/belgeler
+VirtualScriptAliasIP /siteler/%0/cgi-bin
+

+ +
top
+
+

mod_rewrite ile Kurumsal Müşteriler Sistemi

+ +

Buradaki httpd.conf bölümü de ilk + örnekteki gibi elde edilmiştir. İlk yarı, bazı değişiklikler dışında + yukarıdaki örneğe çok benzer. Bu değişiklikler yapılandırmanın + mod_rewrite bölümünün düzgün çalışması ve geriye doğru + uyumluluk için gereklidir. İkinci yarı, asıl işi yapan + mod_rewrite yapılandırmasını içerir.

+ +

Biraz uzmanlık gerektiren bazı kısımlar var: Öntanımlı olarak + mod_rewrite diğer (mod_alias, vs. gibi) URI + dönüşüm modüllerinden önce çalışır. Dolayısıyla bu modülleri kullanmak + isterseniz, mod_rewrite’ı bunlara izin verecek şekilde + yapılandırmalısınız. Ayrıca her devingen sanal konağa eşdeğer bir + ScriptAlias yapmak için de biraz büyü yapmak gerekir.

+ +

+# Sunucu ismini Host: başlığınıdan alalım.
+UseCanonicalName Off
+
+# Günlük dosyasından bilgileri ayıklayabilelim.
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+<Directory /siteler/hosts>
+ + # ScriptAlias için yaptıklarımızla CGI betiklerini
+ # çalışmaya zorlayamayacağımızdan ExecCGI burada gerekli.
+ Options FollowSymLinks ExecCGI
+
+</Directory>
+
+# İşin zor yanına geldik.
+
+RewriteEngine On
+
+# Host: başlığından elde edilen sunucu isminde harf
+# büyüklükleri çeşitli olabilir. Hepsini küçük harf yapalım.
+RewriteMap lowercase int:tolower
+
+## önce normal belgelerle anlaşalım:
+# Alias /icons/ çalışsın - diğer rumuzlar için yineleyelim
+RewriteCond %{REQUEST_URI} !^/icons/
+# CGI’ler de çalışsın.
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+# Biraz da büyü yapalım.
+RewriteRule ^/(.*)$ /siteler/${lowercase:%{SERVER_NAME}}/belgeler/$1
+
+## Artık CGI’lerle anlaşabiliriz. - Bir MIME türü isteyelim.
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteRule ^/(.*)$ /siteler/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [T=application/x-httpd-cgi]
+
+# Bu kadar! +

+ +
top
+
+

mod_rewrite ile Kişisel Sayfalar Sistemi

+ +

Burada da ikinci örnekte yaptıklarımızı + yapıyoruz.

+ +

+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+# CGI’ler çalışsın.
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+
+# konak ismi doğru mu bakalım yoksa RewriteRule çalışmaz.
+RewriteCond ${lowercase:%{SERVER_NAME}} ^www\.[a-z-]+\.isp\.dom$
+
+# URI’nin başına sanal konak ismini ekleyelim.
+# [C], bunu bitirdikten sonra, sonraki rewrite ile devam et demek.
+RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]
+
+# Artık asıl dosya ismini oluşturabiliriz.
+RewriteRule ^www\.([a-z-]+)\.isp\.dom/(.*) /home/$1/$2
+
+# Ortak CGI dizinini tanımlayalım.
+ScriptAlias /cgi-bin/ /siteler/std-cgi/ +

+ +
top
+
+

Sanal konaklar için ayrı bir yapılandırma dosyası kullanmak

+ +

Burada, sanal konak isimlerinden belge kök dizini elde ederken + mod_rewrite modülünün daha gelişkin özelliklerinden + yararlanarak isimleri ayrı bir dosyadan okutacağız. Bu, esnekliği + artırır ama daha karmaşık bir yapılandırma gerekir.

+ +

Aşağıdaki içeriğe sahip bir vhost.mapdosyamız olsun:

+ +

+musteri-1.dom /siteler/kurumsal/1
+musteri-2.dom /siteler/kurumsal/2
+# ...
+musteri-N.dom /siteler/kurumsal/N
+

+ +

httpd.conf dosyamız da şunları içerecektir:

+ +

+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+# Eşlem dosyasını tanımlayalım
+RewriteMap vhost txt:/siteler/conf/vhost.map
+
+# Rumuzları yukarıdaki gibi halledelim.
+RewriteCond %{REQUEST_URI} !^/icons/
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+# Eşlemeyi dosyalar için de yapalım.
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/belgeler/$1
+
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/cgi-bin/$1 +

+ +
+
+

Mevcut Diller:  en  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/name-based.html b/rubbos/app/apache2/manual/vhosts/name-based.html new file mode 100644 index 00000000..10fcbf0e --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/name-based.html @@ -0,0 +1,25 @@ +# GENERATED FROM XML -- DO NOT EDIT + +URI: name-based.html.de +Content-Language: de +Content-type: text/html; charset=ISO-8859-1 + +URI: name-based.html.en +Content-Language: en +Content-type: text/html; charset=ISO-8859-1 + +URI: name-based.html.es +Content-Language: es +Content-type: text/html; charset=ISO-8859-1 + +URI: name-based.html.ja.utf8 +Content-Language: ja +Content-type: text/html; charset=UTF-8 + +URI: name-based.html.ko.euc-kr +Content-Language: ko +Content-type: text/html; charset=EUC-KR + +URI: name-based.html.tr.utf8 +Content-Language: tr +Content-type: text/html; charset=UTF-8 diff --git a/rubbos/app/apache2/manual/vhosts/name-based.html.de b/rubbos/app/apache2/manual/vhosts/name-based.html.de new file mode 100644 index 00000000..2799aa23 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/name-based.html.de @@ -0,0 +1,270 @@ + + + +Untersttzung namensbasierter virtueller Hosts - Apache HTTP Server + + + + + +
<-
+

Untersttzung namensbasierter virtueller Hosts

+
+

Verfgbare Sprachen:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ +

Das Dokument beschreibt, wann und wie namensbasierte virtuelle Hosts zu + verwenden sind.

+
+ +
top
+
+

Namensbasierte gegenber IP-basierten + virtuellen Hosts

+ +

IP-basierte virtuelle Hosts verwenden die IP-Adresse der Verbindung, um den + korrekten virtuellen Host zur Bedienung einer Anfrage zu ermitteln. Folglich + bentigen Sie eine IP-Adresse fr jeden virtuellen Host. Bei der + Verwendung von namensbasierten virtuellen Hosts verlt sich der + Server darauf, dass der Client den Hostnamen als Bestandteil der HTTP-Header + angibt. Durch Anwendung dieser Technik knnen sich mehrere verschiedene + Hosts die gleiche IP-Adresse teilen.

+ +

Die Verwendung von namensbasierten virtuellen Hosts ist gewhnlich + einfacher. Sie mssen lediglich Ihren DNS-Server darauf einstellen, + jeden Hostnamen auf die richtige IP-Adresse abzubilden, und dann den Apache + HTTP Server so konfigurieren, dass er die verschiedenen Hostnamen erkennt. + Namensbasierte virtuelle Hosts entschrfen auch den Bedarf an + knappen IP-Adressen. Daher sollten Sie namensbasierte virtuelle Hosts + verwenden, sofern kein besonderer Grund dafr existiert, IP-basierte + virtuelle Hosts zu whlen. Mgliche Grnde fr die + Verwendung IP-basierter virtueller Hosts sind:

+ +
    +
  • Einige antike Clients sind nicht kompatibel zu namensbasierten + virtuellen Hosts. Damit namensbasierte virtuelle Hosts funktionieren, + muss der Client den HTTP-Host-Header senden. Dies ist bei HTTP/1.1 + vorgeschrieben und in allen modernen HTTP/1.0-Browsern als Erweiterung + implementiert. Wenn Sie Untersttzung fr veraltete Clients + bentigen und dennoch namensbasierte virtuelle Hosts verwenden, + dann finden Sie eine mgliche Lsung dafr am Ende des + Dokuments.
  • + +
  • Namensbasierte virtuelle Hosts knnen aufgrund der Natur des + SSL-Protokolls nicht mit SSL-gesicherten Servern verwendet werden.
  • + +
  • Einige Betriebssysteme und Netzwerkanlagen setzen Techniken zum + Bandbreiten-Management ein, die nicht zwischen Hosts unterscheiden + knnen, wenn diese nicht auf verschiedenen IP-Adressen liegen.
  • +
+ +
top
+
+

Die Verwendung von namensbasierten virtuellen Hosts

+ + + +

Um namensbasierte virtuelle Hosts zu verwenden, mssen Sie die + IP-Adresse (und mglicherweise den Port) des Servers benennen, an + der Anfragen fr die Hosts entgegengenommen werden. Dies wird mit + der Direktive NameVirtualHost + eingestellt. Im Normalfall, wenn alle IP-Adressen des Server verwendet + werden sollen, knnen Sie * als Argument fr + NameVirtualHost verwenden. Wenn Sie + vorhaben, mehrere Ports zu nutzen (etwa wenn SSL luft), sollten + Sie dem Argument einen Port hinzufgen, wie zum Beispiel + *:80. Beachten Sie, + dass die Angabe einer IP-Adresse in einer NameVirtualHost-Anweisung den Server nicht + automatisch an dieser Adresse lauschen lt. Lesen Sie bitte "Bestimmen der vom Apache verwendeten Adressen und + Ports" fr weitere Details. Zustzlich muss jede hier + angegebene IP-Adresse einer Netzwerkkarte des Servers zugeordnet sein.

+ +

Der nchste Schritt ist die Erstellung eines <VirtualHost>-Blocks fr jeden einzelnen + Host, den Sie bedienen wollen. Das Argument der Direktive <VirtualHost> sollte das gleiche + sein wie das Argument der NameVirtualHost-Anweisung (d.h. eine IP-Adresse + oder * fr alle Adressen). Innerhalb jedes <VirtualHost>-Blocks bentigen + Sie zumindestens eine ServerName-Anweisung, um zu bestimmen, welcher + Host bedient wird, und eine DocumentRoot-Anweisung, um anzugeben, wo im + Dateisystem der Inhalt des Hosts abgelegt ist.

+ +

Der Hauptserver verschwindet

+ Wenn Sie virtuelle Hosts zu einem bestehenden Webserver hinzufgen, + mssen Sie auch einen <VirtualHost>-Block fr den bestehenden Host + (Anm.d..: und bisherigen Hauptserver) erstellen. + Die ServerName- und + DocumentRoot-Anweisungen zu diesem + virtuellen Host sollten die gleichen sein wie die globalen ServerName- und DocumentRoot-Anweisungen. Fhren Sie diesen + virtuellen Host als erstes in der Konfigurationsdatei auf, so dass er als + Standard-Host fungiert. +
+ +

Vorausgesetzt, Sie bedienen z.B. die Domain + www.domain.tld und mchten den virtuellen Host + www.otherdomain.tld hinzufgen, welcher auf + die gleiche IP-Adresse zeigt. Dann fgen Sie einfach Folgendes der + httpd.conf hinzu:

+ +

+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ + ServerName www.domain.tld
+ ServerAlias domain.tld *.domain.tld
+ DocumentRoot /www/domain
+
+ </VirtualHost>
+
+ <VirtualHost *:80>
+ ServerName www.otherdomain.tld
+ DocumentRoot /www/otherdomain
+
+ </VirtualHost>
+

+ +

Sie knnen anstelle des * bei den beiden Anweisungen + NameVirtualHost und <VirtualHost> alternativ eine + eindeutige IP-Adresse angeben. Das kann man beispielsweise machen, um + einige namensbasierte virtuelle Hosts auf einer IP-Adresse zu betreiben und + entweder IP-basierte oder ein anderes Set von namensbasierten virtuellen + Hosts auf einer anderen Adresse.

+ +

Viele Server wollen unter mehr als einem Namen erreichbar sein. Die + Direktive ServerAlias, die innerhalb + des <VirtualHost>-Abschnittes angegeben wird, + ermglicht dies. Zum Beispiel zeigt die ServerAlias-Anweisung in dem ersten <VirtualHost>-Block oben an, dass die + aufgefhrten Namen alternative Namen sind, die man verwenden kann, um + das gleiche Webangebot zu erreichen:

+ +

+ ServerAlias domain.tld *.domain.tld +

+ +

Anfragen fr alle Hosts der Domain domain.tld werden + von dem virtuellen Host www.domain.tld bedient. Die + Platzhalter * und ? knnen anstelle + entsprechender Namen verwendet werden. Natrlich knnen Sie nicht + einfach Namen erfinden und diese bei ServerName oder ServerAlias + angeben, Sie mssen zunchst Ihren DNS Server entsprechend + konfigurieren, dass er diese Namen auf die mit Ihrem Server verknpfte + IP-Adresse abbildet.

+ +

Und schluendlich knnen Sie die Konfiguration der virtuellen + Hosts mittels Angabe weiterer Direktiven innherhalb der <VirtualHost>-Container + feineinstellen. Die meisten Direktiven knnen in diesen Containern + angegeben werden und verndern dann ausschlielich die + Konfiguration des entsprechenden virtuellen Hosts. Prfen Sie den Kontext einer Direktive, um + herauszufinden, ob eine bestimmte Direktive zulssig ist. + Im Hauptserver-Kontext (auerhalb der <VirtualHost>-Container) definierte + Konfigurationsanweisungen werden nur dann angewendet, wenn sie nicht durch + Einstellungen des virtuellen Hosts auer Kraft gesetzt wurden.

+ +

Wenn nun eine Anfrage eintrifft, prft der Server zuerst, ob sie eine + IP-Adresse verwendet, die der NameVirtualHost-Anweisung entspricht. Ist dies der + Fall, dann sieht er sich jeden <VirtualHost>-Abschnitt mit einer passenden + IP-Adresse an und versucht den einen zu finden, dessen ServerName- oder ServerAlias-Anweisung mit dem gewnschten + Hostnamen bereinstimmt. Findet er einen, dann verwendet er die + Konfiguration dieses Servers. Wird kein passender virtueller Host gefunden, + dann wird der erste angegeben virtuelle Host verwendet, + dessen IP-Adresse pat.

+ +

Die Folge davon ist, dass der erste aufgefhrte virtuelle Host der + Standard-Virtual-Host ist. Die DocumentRoot-Anweisung des Hauptservers + wird niemals verwendet, wenn eine IP-Adresse mit einer + NameVirtualHost-Anweisung + bereinstimmt. Wenn Sie eine spezielle Konfiguration fr Anfragen + angeben mchten, die keinem bestimmten virtuellen Host entsprechen, + packen Sie diese Konfiguration einfach in einen <VirtualHost>-Container und fhren diesen als + erstes in der Konfigurationsdatei auf.

+ +
top
+
+

Kompatibilitt mit lteren Browsern

+ +

Wie zuvor erwhnt gibt es einige Clients, die nicht die notwendigen + Daten senden, mit denen namensbasierte virtuelle Hosts korrekt + funktionieren. Diesen Clients werden stets die Seiten des ersten, fr + diese IP-Adresse aufgefhrten virtuellen Hosts gesendet werden (des + primren namensbasierten virtuellen Hosts).

+ +

Was bedeutet lter?

+

Beachten Sie bitte, wenn wir von lter sprechen, meinen wir auch + lter. Es ist sehr unwahrscheinlich, dass sie einen dieser Browser + heutzutage in Verwendung finden werden. Alle aktuellen Browser-Versionen + senden den Host-Header, so wie er fr namensbasierte + virtuelle Hosts bentigt wird.

+
+ +

Mit der Direktive ServerPath existiert + eine mgliche Behelfskonstruktion, obgleich sie etwas schwerfllig + ist:

+ +

Beispielkonfiguration:

+ +

+ NameVirtualHost 111.22.33.44
+
+ <VirtualHost 111.22.33.44>
+ + ServerName www.domain.tld
+ ServerPath /domain
+ DocumentRoot /web/domain
+
+ </VirtualHost>
+

+ +

Was bedeutet das? Es bedeutet, dass eine Anfrage fr eine mit + "/domain" beginnende URI von dem virtuellen Host + www.domain.tld bedient wird. Dies heit, dass die Seiten + fr alle Clients unter http://www.domain.tld/domain/ + abrufbar sind, wenngleich Clients, die den Header Host: + senden, auch ber http://www.domain.tld/ auf sie zugreifen + knnen.

+ +

Legen Sie einen Link auf der Seite Ihres primren virtuellen Hosts zu + http://www.domain.tld/domain/, um die Behelfslsung + verfgbar zu machen. Bei den Seiten der virtuellen Hosts mssen + Sie dann sicherstellen, entweder auschlielich relative Links + (z.B. "file.html" oder + "../icons/image.gif") zu verwenden oder Links, die das + einleitende /domain/ enthalten (z.B., + "http://www.domain.tld/domain/misc/file.html" oder + "/domain/misc/file.html").

+ +

Dies erfordert etwas Disziplin, die Befolgung dieser Richtlinien stellt + jedoch grtenteils sicher, dass Ihre Seiten mit allen Browsern + funktionieren, alten wie neuen.

+ +
+
+

Verfgbare Sprachen:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/name-based.html.en b/rubbos/app/apache2/manual/vhosts/name-based.html.en new file mode 100644 index 00000000..837739a0 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/name-based.html.en @@ -0,0 +1,248 @@ + + + +Name-based Virtual Host Support - Apache HTTP Server + + + + + +
<-
+

Name-based Virtual Host Support

+
+

Available Languages:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ +

This document describes when and how to use name-based virtual hosts.

+
+ +
top
+
+

Name-based vs. IP-based Virtual Hosts

+ +

IP-based virtual hosts use the IP address of the connection to + determine the correct virtual host to serve. Therefore you need to + have a separate IP address for each host. With name-based virtual + hosting, the server relies on the client to report the hostname as + part of the HTTP headers. Using this technique, many different hosts + can share the same IP address.

+ +

Name-based virtual hosting is usually simpler, since you need + only configure your DNS server to map each hostname to the correct + IP address and then configure the Apache HTTP Server to recognize + the different hostnames. Name-based virtual hosting also eases + the demand for scarce IP addresses. Therefore you should use + name-based virtual hosting unless there is a specific reason to + choose IP-based virtual hosting. Some reasons why you might consider + using IP-based virtual hosting:

+ +
    +
  • Some ancient clients are not compatible with name-based virtual + hosting. For name-based virtual hosting to work, the client must send + the HTTP Host header. This is required by HTTP/1.1, and is + implemented by all modern HTTP/1.0 browsers as an extension. If you + need to support obsolete clients and still use name-based virtual + hosting, a possible technique is discussed at the end of this + document.
  • + +
  • Name-based virtual hosting cannot be used with SSL secure servers + because of the nature of the SSL protocol.
  • + +
  • Some operating systems and network equipment implement bandwidth + management techniques that cannot differentiate between hosts unless + they are on separate IP addresses.
  • +
+ +
top
+
+

Using Name-based Virtual Hosts

+ + + +

To use name-based virtual hosting, you must designate the IP + address (and possibly port) on the server that will be accepting + requests for the hosts. This is configured using the NameVirtualHost directive. + In the normal case where any and all IP addresses on the server should + be used, you can use * as the argument to NameVirtualHost. If you're planning to use + multiple ports (e.g. running SSL) you should add a Port to the argument, + such as *:80. Note that mentioning an IP address in a + NameVirtualHost directive does not + automatically make the server listen to that IP address. See + Setting which addresses and ports Apache uses + for more details. In addition, any IP address specified here must be + associated with a network interface on the server.

+ +

The next step is to create a <VirtualHost> block for + each different host that you would like to serve. The argument to the + <VirtualHost> directive + should be the same as the argument to the NameVirtualHost directive (ie, an IP address, + or * for all addresses). Inside each <VirtualHost> block, you will need at minimum a + ServerName directive to designate + which host is served and a DocumentRoot + directive to show where in the filesystem the content for that host + lives.

+ +

Main host goes away

+

If you are adding virtual hosts to an existing web server, you + must also create a <VirtualHost> block for the existing host. The ServerName and DocumentRoot included in this virtual host should be the + same as the global ServerName and + DocumentRoot. List this virtual + host first in the configuration file so that it will act as the default + host.

+
+ +

For example, suppose that you are serving the domain + www.domain.tld and you wish to add the virtual host + www.otherdomain.tld, which points at the same IP address. + Then you simply add the following to httpd.conf:

+ +

+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ + ServerName www.domain.tld
+ ServerAlias domain.tld *.domain.tld
+ DocumentRoot /www/domain
+
+ </VirtualHost>
+
+ <VirtualHost *:80>
+ ServerName www.otherdomain.tld
+ DocumentRoot /www/otherdomain
+
+ </VirtualHost>
+

+ +

You can alternatively specify an explicit IP address in place of the + * in both the NameVirtualHost and <VirtualHost> directives. For example, you might want to do this + in order to run some name-based virtual hosts on one IP address, and either + IP-based, or another set of name-based virtual hosts on another address.

+ +

Many servers want to be accessible by more than one name. This is + possible with the ServerAlias + directive, placed inside the <VirtualHost> section. For example in the first <VirtualHost> block above, the + ServerAlias directive indicates that + the listed names are other names which people can use to see that same + web site:

+ +

+ ServerAlias domain.tld *.domain.tld +

+ +

then requests for all hosts in the domain.tld domain will + be served by the www.domain.tld virtual host. The wildcard + characters * and ? can be used to match names. + Of course, you can't just make up names and place them in ServerName or ServerAlias. You must + first have your DNS server properly configured to map those names to an IP + address associated with your server.

+ +

Finally, you can fine-tune the configuration of the virtual hosts + by placing other directives inside the <VirtualHost> containers. Most directives can be + placed in these containers and will then change the configuration only of + the relevant virtual host. To find out if a particular directive is allowed, + check the Context of the + directive. Configuration directives set in the main server context + (outside any <VirtualHost> + container) will be used only if they are not overridden by the virtual host + settings.

+ +

Now when a request arrives, the server will first check if it is using + an IP address that matches the NameVirtualHost. If it is, then it will look at each <VirtualHost> section with a matching + IP address and try to find one where the ServerName or ServerAlias matches the requested + hostname. If it finds one, then it uses the configuration for that server. + If no matching virtual host is found, then the first listed virtual + host that matches the IP address will be used.

+ +

As a consequence, the first listed virtual host is the default + virtual host. The DocumentRoot from + the main server will never be used when an IP + address matches the NameVirtualHost + directive. If you would like to have a special configuration for requests + that do not match any particular virtual host, simply put that configuration + in a <VirtualHost> + container and list it first in the configuration file.

+ +
top
+
+

Compatibility with Older Browsers

+ +

As mentioned earlier, there are some clients + who do not send the required data for the name-based virtual + hosts to work properly. These clients will always be sent the + pages from the first virtual host listed for that IP address + (the primary name-based virtual host).

+ +

How much older?

+

Please note that when we say older, we really do mean older. You are + very unlikely to encounter one of these browsers in use today. All + current versions of any browser send the Host header as + required for name-based virtual hosts.

+
+ +

There is a possible workaround with the ServerPath + directive, albeit a slightly cumbersome one:

+ +

Example configuration:

+ +

+ NameVirtualHost 111.22.33.44
+
+ <VirtualHost 111.22.33.44>
+ + ServerName www.domain.tld
+ ServerPath /domain
+ DocumentRoot /web/domain
+
+ </VirtualHost>
+

+ +

What does this mean? It means that a request for any URI + beginning with "/domain" will be served from the + virtual host www.domain.tld. This means that the + pages can be accessed as http://www.domain.tld/domain/ + for all clients, although clients sending a Host: header + can also access it as http://www.domain.tld/.

+ +

In order to make this work, put a link on your primary + virtual host's page to + http://www.domain.tld/domain/. Then, in the virtual + host's pages, be sure to use either purely relative links + (e.g., "file.html" or + "../icons/image.gif") or links containing the + prefacing /domain/ (e.g., + "http://www.domain.tld/domain/misc/file.html" or + "/domain/misc/file.html").

+ +

This requires a bit of discipline, but adherence to these + guidelines will, for the most part, ensure that your pages will + work with all browsers, new and old.

+ +
+
+

Available Languages:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/name-based.html.es b/rubbos/app/apache2/manual/vhosts/name-based.html.es new file mode 100644 index 00000000..a3b31d36 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/name-based.html.es @@ -0,0 +1,292 @@ + + + +Soporte de Hosting Virtual basado en nombres - Servidor HTTP Apache + + + + + +
<-
+

Soporte de Hosting Virtual basado en nombres

+
+

Idiomas disponibles:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ +

Este documento describe cmo y cundo debe usarse hosting virtual + basado en nombres.

+
+ +
top
+
+

Diferencias entre el hosting vitual +basado en nombres y el basado en IPs

+ +

El hosting virtual basado en IPs usa la direccin IP de la + conexin para determinar qu host virtual es el que tiene que + servir. Por lo tanto, necesitar tener diferentes direcciones IP + para cada host. Si usa hosting virtual basado en nombres, el + servidor atiende al nombre de host que especifica el cliente en + las cabeceras de HTTP. Usando esta tcnica, una sola direccin IP + puede ser compartida por muchos sitios web diferentes.

+ +

El hosting virtual basado en nombres es normalmente ms + sencillo, porque solo necesita configurar su servidor de DNS para + que localice la direccin IP correcta y entonces configurar Apache + para que reconozca los diferentes nombres de host. Usando hosting + virtual basado en nombres tambin se reduce la demanda de + direcciones IP, que empieza a ser un bien escaso. Por lo tanto, + debe usar hosting virtual basado en nombres a no ser que haya + alguna razn especial por la cual tenga que elegir usar hosting + vitual basado en direcciones IP. Algunas de stas razones pueden + ser:

+ +
    +
  • Algunos clientes antiguos no son compatibles con el + hosting virtual basado en nombres. Para que el hosting + virtual basado en nombres funcione, el cliente debe enviar la + cabecera de Host HTTP. Esto es necesario para HTTP/1.1, y est + implementado como extensin en casi todos los navegadores + actuales. Si necesita dar soporte a clientes obsoletos y usar + hosting virtual basado en nombres, al final de este documento + se describe una tcnica para que pueda hacerlo.
  • + +
  • El hosting virtual basado en nombres no se puede usar + junto con SSL por la naturaleza del protocolo SSL.
  • + +
  • Algunos sistemas operativos y algunos elementos de red + tienen implementadas tcnicas de gestin de ancho de banda que + no pueden diferenciar entre hosts a no ser que no estn en + diferentes direcciones IP.
  • +
+ +
top
+
+

Cmo usar hosting vitual basado en +nombres

+ + + +

Para usar hosting virtual basado en nombres, debe especificar + en el servidor qu direccin IP (y posiblemente qu puerto) se va + a usar para atender las peticiones a los diferentes hosts. Esto + se hace con la directiva NameVirtualHost. Normalmente, cualquiera + o todas las direcciones IP del servidor pueden usarse, tambin + puede usar * como argumento para la directiva + NameVirtualHost. Si va a usar + ms de un puerto (por ejemplo si va usar SSL) debe aadir un + puerto a cada argumento, por ejemplo *:80. Tenga en + cuenta que especificando una direccin IP en la directiva + NameVirtualHost no hace que + el servidor escuche automticamente en esa direccin IP. Consulte + la seccin Especificar las direcciones y + puertos que usa Apache para obtener ms informacin. Adems, + cualquier direccin IP especificada debe asociarse con un + dispositivo de red del servidor.

+ +

El siguiente paso es crear un bloque <VirtualHost> para cada host diferente que + quiera alojar en el servidor. El argumento de la directiva + <VirtualHost> + debe ser el mismo que el argumento de la directiva NameVirtualHost (por ejemplo, una + direccin IP, o un * para usar todas las direcciones + que tenga el servidor). Dentro de cada bloque <VirtualHost>, necesitar + como mnimo una directiva ServerName para designar qu host se + sirve y una directiva DocumentRoot para indicar dnde estn + los contenidos a servir dentro del sistema de ficheros.

+ +

Aadir hosts vituales a un servidor web ya existente

+

Si est aadiendo hosts virtuales a un servidor web ya + existente, debe crear tambin un bloque <VirtualHost> para el + host que ya tenga funcionando. Los valores de las directivas + ServerName y DocumentRoot desde este nuevo host + virtual deben tener los mismos valores que los de las + directivas ServerName + DocumentRoot + globales. Ponga este host virtual como el primero en el + archivo de configuracin para que sea el que acte como host + por defecto.

+
+ +

Por ejemplo, suponga que est sirviendo el dominio + www.domain.tld y quiere aadir el host virtual + www.otherdomain.tld, que apunta a la misma direccin + IP. Entonces, lo nico que tiene que hacer es aadir lo siguiente + al fichero httpd.conf:

+ +

+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ + ServerName www.domain.tld
+ ServerAlias domain.tld *.domain.tld
+ DocumentRoot /www/domain
+
+ </VirtualHost>
+
+ <VirtualHost *:80>
+ ServerName www.otherdomain.tld
+ DocumentRoot /www/otherdomain
+
+ </VirtualHost>
+

+ +

Tambin puede optar por especificar una direccin IP + explcitamente en lugar de usar un * en las + directivas NameVirtualHost y + <VirtualHost>. Por ejemplo, puede hacer esto + para hacer funcionar diferentes hosts virtuales basados en nombres + en una direccin IP, o basados en IPs, o un conjunto de hosts + virtuales basados en nombres en otra direccin.

+ +

Tambin puede que quiera que se acceda a un determinado sitio + web usando diferentes nombres. Esto es posible con la directiva + ServerAlias, puesta dentro de + la seccin <VirtualHost>. Por ejemplo, en el primer bloque + <VirtualHost> de + arriba, la directiva ServerAlias indica la lista de nombres + que pueden usarse para acceder a un mismo sitio web:

+ +

+ ServerAlias domain.tld *.domain.tld +

+ +

entonces las peticiones para todos los hosts en el dominio + domain.tld sern servidas por el host virtual + www.domain.tld. Los carcteres comodines + * y ? pueden usarse para encontrar + equivalencias con los nombres. Por supuesto, no puede inventarse + nombres y ponerlos en la directiva ServerName o + ServerAlias. Primero debe tener su servidor de DNS + debidamente configurado para que pueda hacer corresponder esos + nombres con una direccin IP de su servidor.

+ +

Para terminar, puede mejorar el rendimiento de la configuracin + de los hosts virtuales poniendo otras directivas dentro de las + secciones <VirtualHost>. La mayor parte de las + directivas pueden ponerse en esos containers y cambiarn solo la + configuracin del host virtual al que se refieran. Para ver si una + directiva en particualar puede usarse as, consulte el Contexto de la + directiva. Las directivas de configuracin especificadas en el + contexto del servidor principal (fuera de + cualquier seccin <VirtualHost>) se usan nica y + exclusivamente si sus valores no son sustituidos por alguno de los + parmetros de configuracin del host virtual.

+ +

Cuando llega una peticin, el servidor primero verifica si se + est usando una direccin IP que coincide con el valor de la + directiva NameVirtualHost. Si es el caso, mirar en cada + seccin <VirtualHost> cuya IP coincida e intentar + encontrar si el valor de la directiva ServerName o de la directiva ServerAlias + coincide con el nombre del sitio web de la peticin. Si encuentra + una coincidencia, usa la configuracin de ese servidor. Si no la + encuentra, usa el primer host virtual de la lista + cuya direccin IP coincida con el de la peticin.

+ +

Como consecuencia, el primer host virtual de la lista es el que + se usa por defecto. La directiva DocumentRoot del servidor + principal no se usar nunca cuando una + direccin IP coincida con el valor de la directiva NameVirtualHost. Si quiere usar una + configuracin especial para peticiones que no coinciden con ningn + host virtual en concreto, ponga esa configuracin en una seccin + <VirtualHost> y + pngala la primera en el fichero de configuracin.

+ +
top
+
+

Compatibilidad con navegadores +antiguos

+ +

Como se dijo antes, hay algunos clientes que no envan los + datos necesarios para que funcione correctamente el hosting + virtual basado en nombres. Estos clientes van a recibir siempre + como respuesta a sus peticiones, pginas del primer host virtual + que haya en la lista para esa direccin IP (el host virtual + primario basado en nombres).

+ +

Cmo de antiguo?

+

Tenga en cuenta que cuando decimos antiguo, queremos decir + realmente antiguo. Es muy poco probable que encuentre uno de esos + navegadores en uso todava. Todas las versiones actuales de + cualquier navegador envan la cabecera Host que se + necesita para que el hosting virtual basado en nombres + funcione.

+
+ +

Existe una manera de evitar este problema con la directiva + ServerPath, aunque es un poco + complicada:

+ +

Ejemplo de configuracin:

+ +

+ NameVirtualHost 111.22.33.44
+
+ <VirtualHost 111.22.33.44>
+ + ServerName www.domain.tld
+ ServerPath /domain
+ DocumentRoot /web/domain
+
+ </VirtualHost>
+

+ +

Qu significa esto? Esto significa que una peticin de + cualquier URI que empiece por "/domain" ser servida + por el host virtual www.domain.tld. Esto significa + que las pginas pueden accederse como + http://www.domain.tld/domain/ por todos los clientes, + aunque los clientes que enven una cabecera Host: + pueden tambin acceder con + http://www.domain.tld/.

+ +

Para hacer que esto funcione, ponga un enlace en la pgina de + su host virtual primario a + http://www.domain.tld/domain/. Entonces, en las + pginas del host virtual, asegrese de que usa o enlaces relativos + (por ejemplo, "file.html" o + "../icons/image.gif") o enlaces que contengan el + /domain/ anterior (por ejemplo, + "http://www.domain.tld/domain/misc/file.html" o + "/domain/misc/file.html").

+ +

Esto requiere un poco de disciplina, pero siguiendo estas + reglas, puede asegurarse, casi en todos los casos, de que las + pginas de su sitio web podrn ser accedidas desde cualquier + navegador, ya sea nuevo o antiguo.

+ +
+
+

Idiomas disponibles:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/name-based.html.ja.utf8 b/rubbos/app/apache2/manual/vhosts/name-based.html.ja.utf8 new file mode 100644 index 00000000..c106bfc0 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/name-based.html.ja.utf8 @@ -0,0 +1,273 @@ + + + +名前ベースのバーチャルホスト - Apache HTTP サーバ + + + + + +
<-
+

名前ベースのバーチャルホスト

+
+

Available Languages:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ +

この文書では名前ベースのバーチャルホストをどんなとき、 + どうやって使うかを説明します。

+
+ +
top
+
+

名前ベースと IP ベースのバーチャルホストの比較

+ +

IP ベースのバーチャルホストでは、応答する + バーチャルホストへのコネクションを決定するために IP + アドレスを使用します。ですから、それぞれのホストに個々に IP + アドレスが必要になります。これに対して名前ベースのバーチャルホストでは、 + クライアントが HTTP ヘッダの一部としてホスト名を告げる、 + ということに依存します。この技術で同一 IP + アドレスを異なる多数のホストで共有しています。

+ +

名前ベースのバーチャルホストは通常単純で、それぞれのホスト名と + それに対応する正確な IP アドレスを DNS で設定し、異なる + ホスト名を区別するように Apache HTTP サーバを設定するだけです。 + さらに、名前ベースのバーチャルホストは不足する IP + アドレスの需要を緩和します。したがって、IP ベースのバーチャルホストを + 選択すべき特定の理由がなければ名前ベースのバーチャルホストを使うべきです。 + IP ベースのバーチャルホストを使用することを考慮する理由として、

+ +
    +
  • 名前ベースのバーチャルホストに対応していない古いクライアントがある + 名前ベースのバーチャルホストが働くためには、クライアントは + HTTP ホストヘッダを送ってこなければなりません。 + これは HTTP/1.1 の仕様で要求されていて、すべての現代的な + HTTP/1.0 ブラウザでも拡張として実装されています。 + とても古いクライアントをサポートしつつ、名前ベースの + バーチャルホストを行いたい場合は、この文書の最後の方に + 書かれている解決策になるかもしれない方法を見てください。
  • + +
  • 名前ベースのバーチャルホストは SSL プロトコルの特徴により、 + SSL セキュアサーバには使えません。
  • + +
  • オペレーティングシステムやネットワーク装置のなかには、 + 別の IP アドレス上でない場合、複数のホストを別扱いできないような + 帯域管理の方法を実装しているものがあります。
  • +
+ +
top
+
+

名前ベースのバーチャルホストを利用する

+ + + +

名前ベースのバーチャルホストを使うには、そのホストへの + リクエストを受け付けるサーバの IP アドレス (もしかしたらポートも) + を指定する必要があります。 + これは NameVirtualHost + ディレクティブで設定します。通常、NameVirtualHost で + * の属性を使ってサーバの全ての IP アドレスを使います。 + (例えば SSL の使用などで) 複数のポートを使うことを計画しているのであれば、 + 引数に *:80 のようにポートも含めるようにしてください。 + NameVirtualHost ディレクティブで + IP アドレスを書いても、 + 自動的にサーバがその IP アドレスをリッスンするということはないことに + 注意してください。詳細は「Apache の使うアドレスと + ポートを設定する」を読んでください。さらに、ここで指定された + IP アドレスは全てサーバのネットワークインターフェースと関連付けられて + いなければなりません。

+ +

次は、扱うホストそれぞれに対して <VirtualHost> ブロックを + 作成してください。<VirtualHost> + ディレクティブの引数は NameVirtualHost + ディレクティブの引数と同じにしてください (すなわち、IP アドレスか、全てのアドレスを意味する + *)。それぞれの <VirtualHost> + ディレクティブの中には、最低限、どのホストが扱われるかを示す ServerName ディレクティブと、 + そのホスト用のコンテンツがファイルシステム上のどこにあるかを示す + DocumentRoot ディレクティブを + 書く必要があります。

+ +

メインホストはなくなります

+

既にあるウェブサーバにバーチャルホストを追加する場合、 + 既存のウェブサーバに対しても <VirtualHost> + ブロックを作らなければなりません。このバーチャルホストの + ServerName と + DocumentRoot + は、グローバルな ServerName と + DocumentRoot + と同じものにします。また、このバーチャルホストを設定ファイルの中で + 先頭に置いて、デフォルトホストとして動作するようにします。

+
+ +

たとえば、www.domain.tld を動かしていて、 + さらにバーチャルホスト www.otherdomain.tld + を追加するとしましょう。このバーチャルホストは同一 IP を指しているとします。 + そのような場合は、httpd.conf + に以下のようなコードを追加するだけです

+ +

+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ + ServerName www.domain.tld
+ ServerAlias domain.tld *.domain.tld
+ DocumentRoot /www/domain
+
+ </VirtualHost>
+
+ <VirtualHost *:80>
+ ServerName www.otherdomain.tld
+ DocumentRoot /www/otherdomain
+
+ </VirtualHost>
+

+ +

NameVirtualHost 及び + VirtualHost のどちらの場合も、 + * の部分には明示的に IP アドレスを指定することができます。 + 例えば、ある IP アドレスでは名前ベースのバーチャルホストを使いたい一方で、 + 別の IP アドレスでは、他の IP ベースのバーチャルホストや + 別組の名前ベースのバーチャルホストを使いたい場合、 + そう設定することになるでしょう。

+ +

複数の名前でサーバアクセスができるようにしたいことも多いでしょう。 + このようなことは、ServerAlias ディレクティブを <VirtualHost> + セクションに記述することで実現できます。 + 例えば上記の <VirtualHost> の例であれば、 + 次のように一覧に挙げられた名前が、 + ユーザが同一のウェブサイトとして目にして使用できるサーバ名である、 + と ServerAlias + ディレクティブで指定できます。

+ +

+ ServerAlias domain.tld *.domain.tld +

+ +

domain.tld ドメインへの全てのホストへのリクエストは + www.domain.tld のバーチャルホストが処理します。 + 名前をマッチさせるために、ワイルドカード文字 * や ? + を使用することもできます。もちろん思いつきの名前を作って、 + ServerName や + ServerAlias + にその名前を書くといったことはできません。まずは、 + これらの名前が サーバに付けられた IP アドレスにマップされるように + DNS サーバを適切に設定しなければなりません。

+ +

最後に、<VirtualHost> コンテナの中に + 他のディレクティブを書くことで、バーチャルホストの設定を細かく調整 + することができます。 + ほとんどのディレクティブはこれらのコンテナに設置することができて、 + 変更点はそのバーチャルホストに対してのみ有効になります。 + どのディレクティブを書くことができるかは、ディレクティブの コンテキスト を + 調べてください。主サーバコンテキスト + (<VirtualHost> + コンテナの外) の設定用ディレクティブはバーチャルホストでの設定で + 上書きされない場合のみ使用されます。

+ +

リクエストが来ると、サーバはまず最初に <NameVirtualHost> + にマッチする IP アドレスかどうかをチェックします。マッチすれば + マッチした IP アドレスの <VirtualHost> + のそれぞれのセクションの中から + ServerName か + ServerAlias + に要求されたホスト名があるか探します。 + 見つかればそのサーバ用の設定を使います。マッチするバーチャルホスト + が見つからなければ、マッチした IP アドレスの + リストの最初にあるバーチャルホスト が使われます。

+ +

結果として、リストの最初のバーチャルホストが デフォルト の + バーチャルホストになります。IP アドレスが NameVirtualHost + ディレクティブにマッチした場合は、メインのサーバ の + DocumentRoot + は決して使われません + どのバーチャルホストにもマッチしないリクエストに対して、 + 特別な設定をしたいのであれば、設定ファイル中の最初の + <VirtualHost> コンテナにそれを記述してください。

+ +
top
+
+

古いブラウザとの互換性

+ +

以前述べたように、名前ベースのバーチャルホストが正しく動作する + ために必要な情報を送ってこないクライアントが依然として存在しています。 + そのようなクライアントに対しては、該当する IP アドレスについて、 + 一番最初に設定されているバーチャルホスト + (プライマリの名前ベースのバーチャルホスト) + からページが送り返されます。

+ +

どのぐらい古いの ?

+

「古い」と表現している場合、本当に古いことを意味して使っています。 + 不幸にして今現在でもこのような古いブラウザに遭遇することがあります。 + 現在のブラウザは全て、名前ベースのバーチャルホストに必要な + Host ヘッダを送ります。

+
+ +

ServerPath + ディレクティブで対処が可能です。ちょっと不格好ですけれども。

+ +

設定例

+ +

+ NameVirtualHost 111.22.33.44
+
+ <VirtualHost 111.22.33.44>
+ + ServerName www.domain.tld
+ ServerPath /domain
+ DocumentRoot /web/domain
+
+ </VirtualHost>
+

+ +

この例にはどういう意味があるでしょうか? これは + "/domain" で始まる URI へのリクエストはすべて、 + バーチャルホスト www.domain.tld で処理される、 + という意味です。つまり、すべてのクライアントで + http://www.domain.tld/domain/ でアクセスできるページが、 + Host: ヘッダを送ってくるクライアントであれば + http://www.domain.tld/ としてもアクセスできる、 + という意味です。

+ +

これが動作するようにするには、 + プライマリのバーチャルホストのページに + http://www.domain.tld/domain/ へのリンクを設置します。 + そして、バーチャルホストのページでは、純粋な相対リンク (例: + "file.html" や "../icons/image.gif")、 + あるいは /domain/ で始まるリンク (例: + "http://www.domain.tld/domain/misc/file.html" や + "/domain/misc/file.html") だけを設置します。

+ +

これには、幾分かの規律が必要となりますが、 + このようなガイドラインを忠実に守ることにより、たいていの場合、 + すべてのブラウザで ― 新しいブラウザでも古いものでも ― + 作成したページが見えるということを保証します。

+ +
+
+

Available Languages:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/name-based.html.ko.euc-kr b/rubbos/app/apache2/manual/vhosts/name-based.html.ko.euc-kr new file mode 100644 index 00000000..47527a79 --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/name-based.html.ko.euc-kr @@ -0,0 +1,238 @@ + + + +̸ ȣƮ - Apache HTTP Server + + + + + +
<-
+

̸ ȣƮ

+
+

:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ +

̸ ȣƮ ϴ + Ѵ.

+
+ +
top
+
+

̸ IP ȣƮ

+ +

IP ȣƮ IP ּҸ + ȣƮ Ѵ. ׷ ȣƮ ٸ IP ּҸ + Ѵ. ̸ ȣƮ Ŭ̾Ʈ + HTTP ȣƮ ˷ֱ ٶ. ̷ + IP ּҷ ٸ ȣƮ ִ.

+ +

̸ ȣƮ DNS ȣƮ ùٸ + IP ּҷ ϵ ȣƮ ϰ, ٸ ȣƮ + ֵ ġ ϱ⸸ ϸǹǷ ϴ. ̸ + ȣƮ IP ּҰ ʿ. ׷Ƿ Ư + IP ȣƮ ٸ ̸ ȣƮ + ؾ Ѵ. IP ȣƮ ؾ δ:

+ +
    +
  • ̸ ȣƮ ʴ + Ŭ̾Ʈ ִ. ̸ ȣƮ Ϸ + Ŭ̾Ʈ HTTP Host Ѵ. ̴ + HTTP/1.1 ʼ̰, ֱ HTTP/1.0 鵵 + Ȯ Ѵ. ̸ ȣƮ ϸ鼭 + Ŭ̾Ʈ ؾ Ѵٸ ִ + .
  • + +
  • SSL ݻ SSL ȼ ̸ + ȣƮ .
  • + +
  •  ü Ʈ ġ ٸ IP ּҸ + ȣƮ ϴ Ʈ 뷮(bandwidth) + Ѵ.
  • +
+ +
top
+
+

̸ ȣƮ ϱ

+ + + +

̸ ȣƮ Ϸ + IP ּҸ (Ƹ Ʈ) ؾ Ѵ. ̴ NameVirtualHost þ ϴ. + Ϲ IP ּҸ Ѵٸ + NameVirtualHost + ƱԸƮ * Ѵ. Ʈ + ( , SSL ) ȹ̶ *:80 + ƱԸƮ Ʈ ߰ؾ Ѵ. NameVirtualHost þ IP ּҸ + ־ٰ ڵ IP ּҸ ٸ + ϶. ڼ ġ + ּҿ Ʈ ϱ ϶. , ⼭ + IP ּҴ Ʈ ̽̾ Ѵ.

+ +

ܰ Ϸ ȣƮ <VirtualHost> + ̴. <VirtualHost>> þ ƱԸƮ + NameVirtualHost þ + ƱԸƮ( , IP ּҳ ּҸ ϴ *) + ƾ Ѵ. <VirtualHost>> ȿ + ּ ȣƮ ϴ ServerName þ ȣƮ + Ͻý ִ ϴ DocumentRoot þ ʿϴ.

+ +

ȣƮ

+

ϴ ȣƮ ߰Ѵٸ + ϴ ȣƮ <VirtualHost> ϵ ߰ؾ + Ѵ. Ͽ ϴ ServerName DocumentRoot ü ServerName DocumentRoot ƾ Ѵ. + Ͽ ȣƮ ⺻ ȣƮ + ȴ.

+
+ +

www.domain.tld ϰ + ־µ IP ּҿ + www.otherdomain.tld ȣƮ ߰ϰ + ʹٰ . httpd.conf + ߰ϸ ȴ:

+ +

+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ + ServerName www.domain.tld
+ ServerAlias domain.tld *.domain.tld
+ DocumentRoot /www/domain
+
+ </VirtualHost>
+
+ <VirtualHost *:80>
+ ServerName www.otherdomain.tld
+ DocumentRoot /www/otherdomain
+
+ </VirtualHost>
+

+ +

NameVirtualHost + <VirtualHost> + þ * IP ּҸ + ִ. , ̷ IP ּҿ ̸ + ȣƮ , ٸ ּҿ IP Ȥ ̸ + ȣƮ ִ.

+ +

 ̸ ֱ ٶ. ̴ + <VirtualHost> + ȿ ServerAlias + þ Ͽ ϴ. ù° <VirtualHost> Ͽ + ServerAlias þ + ϸ ̸ Ʈ ִ:

+ +

+ ServerAlias domain.tld *.domain.tld +

+ +

domain.tld ο ִ ȣƮ + û www.domain.tld ȣƮ Ѵ. + ̸ ٶ ϵī * ? + ִ. ServerName̳ ServerAlias + ̸ ־ٰ ƴϴ. ̸ + IP ּҷ ϵ DNS ˸° ؾ Ѵ.

+ +

<<VirtualHost>> ȿ ٸ + þ Ͽ ȣƮ ڼ ִ. + κ þ , õ ȣƮ + Ѵ.  þ 밡 ˷ þ + Ȯ϶. (<<VirtualHost>> ƴ) + ּ þ ȣƮ + þ 쿡 ȴ.

+ +

û NameVirtualHost IP + ּ ˻Ѵ. ׷ٸ IP ּҸ <VirtualHost> + ǵ鿡 û ȣƮ ġϴ ServerName̳ + ServerAlias ã´. ã Ѵ. + ȣƮ ãϸ, IP ּҿ شϴ + ȣƮ ù° Ѵ.

+ +

ó ȣƮ + ȣƮ ȴ. IP ּҰ NameVirtualHost þ شϸ, + ּ DocumentRoot + ʴ´. Ư ȣƮ + شʴ û Ϸ <VirtualHost> Ͽ + ϸ ȴ.

+ +
top
+
+

ȣȯ

+ +

̹ ̸ ȣƮ ùٷ ϱ + ʿ ʴ Ŭ̾Ʈ ִ. ̷ Ŭ̾Ʈ + ׻ û IP ּҿ ù° ȣƮ + ( ̸ ȣƮ) + Ѵ.

+ +

󸶳 ϴ°?

+

⼭ Ǿ Ѵ. + ó ̷ Ǿ. + ̸ ȣƮ ʿ Host + .

+
+ +

ణ 彺 ServerPath þ ذ ִ:

+ +

:

+ +

+ NameVirtualHost 111.22.33.44
+
+ <VirtualHost 111.22.33.44>
+ + ServerName www.domain.tld
+ ServerPath /domain
+ DocumentRoot /web/domain
+
+ </VirtualHost>
+

+ +

̰ ΰ? "/domain" ϴ + URI û ȣƮ www.domain.tld + Ѵ. , Host: Ŭ̾Ʈ + http://www.domain.tld/ε , + http://www.domain.tld/domain/δ + Ŭ̾Ʈ ִ.

+ +

̸ ȣƮ ִ + http://www.domain.tld/domain/ ũ + ִ´. ׸ ȣƮ 븵ũ ( , + "file.html" ̳ "../icons/image.gif") + Ȥ ("http://www.domain.tld/domain/misc/file.html"̳ + "/domain/misc/file.html" ) տ + /domain/ ũ Ѵ.

+ +

Ģ ʿ Ģ κ + ̳ ̳ + ִ.

+ +
+
+

:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file diff --git a/rubbos/app/apache2/manual/vhosts/name-based.html.tr.utf8 b/rubbos/app/apache2/manual/vhosts/name-based.html.tr.utf8 new file mode 100644 index 00000000..7fef092a --- /dev/null +++ b/rubbos/app/apache2/manual/vhosts/name-based.html.tr.utf8 @@ -0,0 +1,256 @@ + + + +İsme Dayalı Sanal Konaklar - Apache HTTP Sunucusu + + + + + +
<-
+

İsme Dayalı Sanal Konaklar

+
+

Mevcut Diller:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ +

Bu belgede isme dayalı sanal konakların ne zaman, nasıl kullanılacakları + açıklanmıştır.

+
+ +
top
+
+

İsme dayalı ve IP’ye dayalı Sanal Konaklar

+ +

IP’ye dayalı sanal konaklarda sunulacak sanal konağı doğru tespit + edebilmek için bağlantının yapıldığı IP adresine bakılır. Bu bakımdan her + konak için ayrı bir IP adresine gereksinim vardır. İsme dayalı sanal + konaklarda ise sunucu, istemcinin HTTP başlığının bir parçası olarak + gönderdiği konak adını kullanır. Bu teknikte aynı IP adresini çok sayıda + farklı konak kullanabilir.

+ +

İsme dayalı sanal barındırma nispeten daha kolaydır, çünkü her konak + ismini doğru IP adresiyle eşlemek için DNS sunucunuzu yapılandırdıktan + sonra Apache HTTP sunucusunu farklı konak isimlerini tanıyacak şekilde + yapılandırmanız yeterli olur. İsme dayalı sanal barındırma ayrıca zaten + kıt olan IP adreslerine talebi de azaltır. Bu nedenle, IP’ye dayalı sanal + konakları kullanmanızı gerektirecek çok özel bir sebep olmadıkça isme + dayalı sanal konaklar kullanmalısınız. IP’ye dayalı sanal konakların + kullanımını gerektirebilecek bazı durumlar:

+ +
    +
  • Bazı tarihi istemciler isme dayalı sanal konaklarla uyumlu değildir. + İsme dayalı sanal konakların çalışması için istemcinin HTTP Host + başlığı göndermesi gerekir. Bu da HTTP/1.1 desteği gerektirir. + Günümüzdeki HTTP/1.0 istemcileri bir eklenti olarak HTTP/1.1’i de + desteklemektedir. Tarihi eser haline gelmiş HTTP/1.1 desteği + bulurmayan eski istemcileri hala isme dayalı sanal konaklarla + desteklemek isterseniz bu belgenin sonunda bunu mümkün kılabilecek bir + tekniğe yer verilmiştir.
  • + +
  • İsme dayalı sanal konaklar SSL portokolünün doğası gereğince SSL’li + güvenli sunucular için kullanılamazlar.
  • + +
  • Bazı işletim sistemlerinin ve ağ donanımlarının gerçekleştirdiği + band genişliği yönetim teknikleri IP adresleri farklı olmadığı sürece + konaklar arasında ayrım yapamazlar.
  • +
+ +
top
+
+

İsme Dayalı Sanal Konakların Kullanımı

+ + + +

İsme dayalı sanal konakları kullanmak için, bu konaklar için istekleri + kabul edecek sunucuya IP adresini (ve muhtemelen portu da) + belirtmelisiniz. Bu işlem NameVirtualHost yönergesiyle yapılır. Normal + şartlar altında sunucu üzerinde bütün IP adreslerinin kullanılması + gerekir; bunun için NameVirtualHost + yönergesine argüman olarak * belirtebilirsiniz. Çok sayıda + port kullanmayı planlıyorsanız (SSL çalıştırmak gibi), argümana + *:80 şeklinde port ekleyebilirsiniz. Yalnız, NameVirtualHost yönergesinde bir IP adresi + belirtmiş olmakla sunucunun kendiliğinden o IP adresini dinlemeyeceğine + dikkat ediniz. Bu konuda ayrıntılı bilgi edinmek için Apache’nin kullanacağı adreslerin ve portların + ayarlanması belgesine bakınız. Ayrıca, sunucuda, burada belirttiğiniz + IP adresine sahip bir ağ arabirimi olmalıdır.

+ +

Sonraki adım sunacağınız her konak için ayrı bir <VirtualHost> bölümü oluşturmaktır. + <VirtualHost> + yönergesinin argümanı ile eşleşen bir NameVirtualHost yönergesi tanımlanmış olmalıdır + (bu değer normalde ya bir IP adresidir ya da *’dır). Her + <VirtualHost> bölümü + içinde sunulan konağı belirtmek üzere en azından bir adet ServerName yönergesine ve konak içeriğinin dosya + sisteminde bulunduğu yeri gösteren bir DocumentRoot yönergesine ihtiyacınız olacaktır.

+ +

Ana konağı unutmayın

+

Mevcut sitenize sanal konaklar eklerseniz, mevcut siteniz için de bir + <VirtualHost> bölümü + oluşturmalısınız. Bu sanal konak bölümü içinde kullanacağınız + ServerName ve DocumentRoot yönergelerinin argümanları, bu + yönergelerin sunucu geneli için belirttiğiniz değerlerini + içermelidir. Bu sanal konağı yapılandırma dosyanızdaki ilk sanal konak + yapın ki, öntanımlı konak olsun.

+
+ +

Örnek olarak, www.biralan.tld adresinden sitenizi sunmakta + olduğunuzu ve bunun yanına aynı IP adresini kullanan + www.digeralan.tld sanal konağını eklemek istediğinizi + varsayalım. Bunun için httpd.conf dosyanıza basitçe şu + satırları ekleyebilirsiniz:

+ +

+ NameVirtualHost *:80
+
+ <VirtualHost *:80>
+ + ServerName www.biralan.tld
+ ServerAlias biralan.tld *.biralan.tld
+ DocumentRoot /siteler/biralan
+
+ </VirtualHost>
+
+ <VirtualHost *:80>
+ ServerName www.digeralan.tld
+ DocumentRoot /siteler/digeralan
+
+ </VirtualHost>
+

+ +

İsterseniz, NameVirtualHost ve + <VirtualHost> + yönergelerinde argüman olarak * yerine doğrudan bir IP adresi + belirtebilirsiniz. Hatta, daha sonra, isme dayalı sanal konakları bir IP + adresinden ve IP’ye dayalı olanları veya isme dayalı diğer bir sanal konak + grubunu diğer IP adreslerinden sunmak isteyebilirsiniz.

+ +

Çoğu sunucunun birden fazla isim ile erişilebilir olması istenir. Bu, + <VirtualHost> bölümü + içine bir ServerAlias yönergesi + yerleştirmek suretiyle mümkün olur. Örneğin yukarıdaki örnekte, + kullanıcıların aynı siteye farklı isimlerle erişmelerini mümkün kılmak + için bölüm içine şu satırı ekleyebilirsiniz:

+ +

+ ServerAlias biralan.tld *.biralan.tld +

+ +

Böylece biralan.tld alanındaki tüm konaklar için gelen + isteklere www.biralan.tld sanal konağından hizmet sunulmuş + olur. Konak isimleriyle eşleşmek üzere dosya ismi kalıp karakterleri + * ve ? kullanılabilir. Şüphesiz bu isimleri sırf + ServerName veya + ServerAlias yönergesinde belirtmiş olmakla bu isimleri + erişilebilir kılamazsınız. Öncelikle, bu isimleri sunucunuzdaki IP + adresleriyle eşlemek üzere yapılandıracağınız bir DNS sunucunuz + olmalıdır.

+ +

Son olarak, sanal konak yapılandırmanıza, <VirtualHost> bölümlerinin içine başka yönergeler + yerleştirerek ince ayar çekebilirsiniz. Çoğu yönerge bu bölümlere + yerleştirilebilir ve sadece o sanal konakla ilgili yapılandırmayı + değiştirmek için kullanılabilir. Belli bir yönergenin sanal konak + bölümlerinde kullanılıp kullanılmayacağını yönergenin açıklamasında Bağlam satırına bakarak + öğrenebilirsiniz. Ana sunucu bağlamındaki (<VirtualHost> bölümleri dışındaki) + yapılandırma yönergelerinden sadece sanal konak bölümlerinde geçersiz + kılınmamış olanlar kullanılacaktır.

+ +

Sunucuya bir istek geldiğinde, sunucu önce IP adresiyle eşleşmesi olası + NameVirtualHost bölümleri var mı diye + bakar. Varsa, IP adresini eşleştirmek için NameVirtualHost bölümlerine tek tek bakar ve + istenen konak ismi ile eşleşen bir ServerName veya ServerAlias yönergesi bulmaya + çalışır. Bir tane bulduğunda, sunucu için onun yapılandırmasını kullanır. + İsimle eşleşen bir sanal konak bulamazsa IP adresiyle eşleşen ilk + sanal konağın yapılandırmasını kullanır.

+ +

Bir önkabul olarak yapılandırma dosyasında rastlanan ilk sanal konak + öntanımlı sanal konaktır. IP adresi bir sanal konakla eşleştiği + takdirde ana sunucunun DocumentRoot değeri asla kullanılmayacaktır. + Sanal konaklardan hiçbiriyle eşleşmeyen istekler için özel bir + yapılandırmanız olsun isterseniz, bu yapılandırmayı yapılandırma + dosyanızdaki ilk <VirtualHost> bölümüne yerleştirmeniz + yetecektir.

+ +
top
+
+

Artık Tarihe Karışmış Tarayıcılarla Uyumluluk

+ +

Evvelce de bahsedildiği gibi, isme dayalı sanal konakların gerektiği gibi + çalışması için gerekli veriyi göndermeyen bazı istemciler vardır. Bu + istemcilere daima o IP adresinin yapılandırma dosyasındaki ilk sanal + konağının (isme dayalı başat sanal konak) sayfaları + gönderilir.

+ +

Ne kadar eski?

+

Lütfen dikkat edin, eski deyince gerçekten de antika demek istiyoruz. + Günümüzde bu tür tarayıcılara rastlamanız neredeyse imkansızdır. Günümüz + tarayıcılarının hepsi isme dayalı sanal konakların gerektirdiği + Host başlığını gönderirler.

+
+ +

Olayı fazla germeden ServerPath + yönergesini kullanarak sorunun çevresinden dolanmak mümkündür:

+ +

Örnek yapılandırma:

+ +

+ NameVirtualHost 111.22.33.44
+
+ <VirtualHost 111.22.33.44>
+ + ServerName www.biralan.tld
+ ServerPath /biralan
+ DocumentRoot /siteler/biralan
+
+ </VirtualHost>
+

+ +

Bu ne anlama geliyor? Anlamı, "/biralan" ile başlayan her + URI isteği www.biralan.tld sanal konağı tarafından sunulacak, + demektir. Yani, tüm istemcilerin + http://www.biralan.tld/biralan/ olarak eriştiği yere + Host: başlığı gönderen istemciler + http://www.biralan.tld/ olarak erişirler.

+ +

Bunu gerçekleştirebilmek için başat sanal konağın baş sayfasına + http://www.biralan.tld/biralan/ için bir bağ koyduktan sonra + sanal konağın sayfalarında ya tamamen göreli bağlar + ("dosya.html", "../simgeler/resim.png" gibi) + veya /biralan/ ile öncelenmiş bağlar + ("http://www.biralan.tld/biralan/muht/dosya.html" veya + "/biralan/muht/dosya.html" gibi) kullanın.

+ +

Bu işlem biraz disiplin gerektirse de bu yazılanlara sıkı sıkıya bağlı + kalarak hem eski hem de yeni tarayıcıların sayfalarınızı doğru + görüntülemesini sağlamış olursunuz.

+ +
+
+

Mevcut Diller:  de  | + en  | + es  | + ja  | + ko  | + tr 

+
+ \ No newline at end of file -- cgit 1.2.3-korg