ip-based.html.en revision c3c006c28c5b03892ccaef6e4d2cbb15a13a2072
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<?xml version="1.0" encoding="ISO-8859-1"?>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess This file is generated from xml source: DO NOT EDIT
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5a58787efeb02a1c3f06569d019ad81fd2efa06end -->
5a58787efeb02a1c3f06569d019ad81fd2efa06end<title>Apache IP-based Virtual Host Support - Apache HTTP Server</title>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
5a58787efeb02a1c3f06569d019ad81fd2efa06end<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<script src="/style/scripts/prettify.js" type="text/javascript">
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen</script>
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen
5a58787efeb02a1c3f06569d019ad81fd2efa06end<link href="/images/favicon.ico" rel="shortcut icon" /></head>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<body id="manual-page"><div id="page-header">
d229f940abfb2490dee17979e9a5ff31b7012eb5rbowen<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p>
3f08db06526d6901aa08c110b5bc7dde6bc39905nd<p class="apache">Apache HTTP Server Version 2.5</p>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<img alt="" src="/images/feather.gif" /></div>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<div id="path">
3f08db06526d6901aa08c110b5bc7dde6bc39905nd<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>Apache IP-based Virtual Host Support</h1>
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd<div class="toplang">
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd<p><span>Available Languages: </span><a href="/en/vhosts/ip-based.html" title="English">&nbsp;en&nbsp;</a> |
d05d0eb4ae6d2a5e513fc3bf2555ce33da416634nd<a href="/fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a> |
7f5b59ccc63c0c0e3e678a168f09ee6a2f51f9d0nd<a href="/ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
ecc5150d35c0dc5ee5119c2717e6660fa331abbftakashi<a href="/ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung<a href="/tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd</div>
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd</div>
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#explanation">What is IP-based virtual hosting</a></li>
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf<li><img alt="" src="/images/down.gif" /> <a href="#requirements">System requirements</a></li>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<li><img alt="" src="/images/down.gif" /> <a href="#howto">How to set up Apache</a></li>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<li><img alt="" src="/images/down.gif" /> <a href="#multiple">Setting up multiple daemons</a></li>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<li><img alt="" src="/images/down.gif" /> <a href="#single">Setting up a single daemon
5ae30adbe59946de742ab0cd6be3b7457471a698takashi with virtual hosts</a></li>
5a58787efeb02a1c3f06569d019ad81fd2efa06end</ul><h3>See also</h3><ul class="seealso"><li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<a href="name-based.html">Name-based Virtual Hosts Support</a>
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh</li></ul></div>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<div class="section">
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf<h2><a name="explanation" id="explanation">What is IP-based virtual hosting</a></h2>
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf<p>IP-based virtual hosting is a method to apply different directives
6e14faf37935e36804b8bad802bc9dd58f3cf65dsfbased on the IP address and port a request is received on. Most commonly,
6e14faf37935e36804b8bad802bc9dd58f3cf65dsfthis is used to serve different websites on different ports or interfaces.</p>
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf<p>In many cases, <a href="name-based.html">name-based
6e14faf37935e36804b8bad802bc9dd58f3cf65dsfvirtual hosts</a> are more convenient, because they allow
6e14faf37935e36804b8bad802bc9dd58f3cf65dsfmany virtual hosts to share a single address/port.
6e14faf37935e36804b8bad802bc9dd58f3cf65dsfSee <a href="name-based.html#namevip">Name-based vs. IP-based
6e14faf37935e36804b8bad802bc9dd58f3cf65dsfVirtual Hosts</a> to help you decide. </p>
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf<div class="section">
5a58787efeb02a1c3f06569d019ad81fd2efa06end<h2><a name="requirements" id="requirements">System requirements</a></h2>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>As the term <cite>IP-based</cite> indicates, the server
60a4b2c422dcbb08a554fb193105c08da592718bpoirier <strong>must have a different IP address/port combination for each IP-based
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess virtual host</strong>. This can be achieved by the machine
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess having several physical network connections, or by use of
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess virtual interfaces which are supported by most modern operating
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess systems (see system documentation for details, these are
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess frequently called "ip aliases", and the "ifconfig" command is
60a4b2c422dcbb08a554fb193105c08da592718bpoirier most commonly used to set them up), and/or using multiple
60a4b2c422dcbb08a554fb193105c08da592718bpoirier port numbers.</p>
60a4b2c422dcbb08a554fb193105c08da592718bpoirier
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf <p> In the terminology of Apache HTTP Server, using a single IP address
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf but multiple TCP ports, is also IP-based virtual hosting.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
5a58787efeb02a1c3f06569d019ad81fd2efa06end</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<div class="section">
5a58787efeb02a1c3f06569d019ad81fd2efa06end<h2><a name="howto" id="howto">How to set up Apache</a></h2>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>There are two ways of configuring apache to support multiple
9bcfc3697a91b5215893a7d0206865b13fc72148nd hosts. Either by running a separate <code class="program"><a href="/programs/httpd.html">httpd</a></code> daemon for
9bcfc3697a91b5215893a7d0206865b13fc72148nd each hostname, or by running a single daemon which supports all the
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess virtual hosts.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Use multiple daemons when:</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <ul>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <li>There are security partitioning issues, such as company1
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess does not want anyone at company2 to be able to read their
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess data except via the web. In this case you would need two
df47c169dad27600c1e98e547a065378c5e9a2b3rbowen daemons, each running with different <code class="directive"><a href="/mod/mod_unixd.html#user">User</a></code>, <code class="directive"><a href="/mod/mod_unixd.html#group">Group</a></code>, <code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code>, and <code class="directive"><a href="/mod/core.html#serverroot">ServerRoot</a></code> settings.</li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
cd9f05dfac570b44f26f531e01869e679c45401berikabele <li>You can afford the memory and file descriptor
cd9f05dfac570b44f26f531e01869e679c45401berikabele requirements of listening to every IP alias on the
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess machine. It's only possible to <code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code> to the "wildcard"
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess address, or to specific addresses. So if you have a need to
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess listen to a specific address for whatever reason, then you
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess will need to listen to all specific addresses. (Although one
9bcfc3697a91b5215893a7d0206865b13fc72148nd <code class="program"><a href="/programs/httpd.html">httpd</a></code> could listen to N-1 of the addresses, and another could
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess listen to the remaining address.)</li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess </ul>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Use a single daemon when:</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <ul>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <li>Sharing of the httpd configuration between virtual hosts
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess is acceptable.</li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <li>The machine services a large number of requests, and so
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess the performance loss in running separate daemons may be
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess significant.</li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess </ul>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
5a58787efeb02a1c3f06569d019ad81fd2efa06end</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<div class="section">
5a58787efeb02a1c3f06569d019ad81fd2efa06end<h2><a name="multiple" id="multiple">Setting up multiple daemons</a></h2>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
9bcfc3697a91b5215893a7d0206865b13fc72148nd <p>Create a separate <code class="program"><a href="/programs/httpd.html">httpd</a></code> installation for each
9bcfc3697a91b5215893a7d0206865b13fc72148nd virtual host. For each installation, use the <code class="directive"><a href="/mod/mpm_common.html#listen">Listen</a></code> directive in the
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess configuration file to select which IP address (or virtual host)
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess that daemon services. e.g.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <pre class="prettyprint lang-config">
76d83a94f9ceb90468ea20abc98622e489afef9fcovener Listen 192.0.2.100:80
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen </pre>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>It is recommended that you use an IP address instead of a
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess hostname (see <a href="/dns-caveats.html">DNS caveats</a>).</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
5a58787efeb02a1c3f06569d019ad81fd2efa06end</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<div class="section">
5a58787efeb02a1c3f06569d019ad81fd2efa06end<h2><a name="single" id="single">Setting up a single daemon
5ae30adbe59946de742ab0cd6be3b7457471a698takashi with virtual hosts</a></h2>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
9bcfc3697a91b5215893a7d0206865b13fc72148nd <p>For this case, a single <code class="program"><a href="/programs/httpd.html">httpd</a></code> will service
9bcfc3697a91b5215893a7d0206865b13fc72148nd requests for the main server and all the virtual hosts. The <code class="directive"><a href="/mod/core.html#virtualhost">VirtualHost</a></code> directive
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess in the configuration file is used to set the values of <code class="directive"><a href="/mod/core.html#serveradmin">ServerAdmin</a></code>, <code class="directive"><a href="/mod/core.html#servername">ServerName</a></code>, <code class="directive"><a href="/mod/core.html#documentroot">DocumentRoot</a></code>, <code class="directive"><a href="/mod/core.html#errorlog">ErrorLog</a></code> and <code class="directive"><a href="/mod/mod_log_config.html#transferlog">TransferLog</a></code>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess or <code class="directive"><a href="/mod/mod_log_config.html#customlog">CustomLog</a></code>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess configuration directives to different values for each virtual
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess host. e.g.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen <pre class="prettyprint lang-config">
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen&lt;VirtualHost 172.20.30.40:80&gt;
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen ServerAdmin webmaster@www1.example.com
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen DocumentRoot /www/vhosts/www1
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen ServerName www1.example.com
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen ErrorLog /www/logs/www1/error_log
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen CustomLog /www/logs/www1/access_log combined
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen&lt;/VirtualHost&gt;
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen&lt;VirtualHost 172.20.30.50:80&gt;
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen ServerAdmin webmaster@www2.example.org
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen DocumentRoot /www/vhosts/www2
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen ServerName www2.example.org
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen ErrorLog /www/logs/www2/error_log
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen CustomLog /www/logs/www2/access_log combined
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen&lt;/VirtualHost&gt;
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen </pre>
c3c006c28c5b03892ccaef6e4d2cbb15a13a2072rbowen
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>It is recommended that you use an IP address instead of a
fc0e302cc26d443c3441238f00e7b5a201b3bbb9rbowen hostname in the &lt;VirtualHost&gt; directive
fc0e302cc26d443c3441238f00e7b5a201b3bbb9rbowen (see <a href="/dns-caveats.html">DNS caveats</a>).</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf <p> Specific IP addresses or ports have precedence over their wildcard
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf equivalents, and any virtual host that matches has precedence over
9a58dc6a2b26ec128b1270cf48810e705f1a90dbsf the servers base configuration.</p>
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Almost <strong>any</strong> configuration directive can be
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess put in the VirtualHost directive, with the exception of
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess directives that control process creation and a few other
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess directives. To find out if a directive can be used in the
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess VirtualHost directive, check the <a href="/mod/directive-dict.html#Context">Context</a> using the
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <a href="/mod/directives.html">directive index</a>.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
1f6b6946407b900ccef68a0e9cd8baa0eba429e8rbowen <p><code class="directive"><a href="/mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>
1f6b6946407b900ccef68a0e9cd8baa0eba429e8rbowen may be used inside a
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess VirtualHost directive if the <a href="/suexec.html">suEXEC
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess wrapper</a> is used.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p><em>SECURITY:</em> When specifying where to write log files,
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess be aware of some security risks which are present if anyone
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess other than the user that starts Apache has write access to the
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess directory where they are written. See the <a href="/misc/security_tips.html">security tips</a> document
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess for details.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess
5a58787efeb02a1c3f06569d019ad81fd2efa06end</div></div>
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd<div class="bottomlang">
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd<p><span>Available Languages: </span><a href="/en/vhosts/ip-based.html" title="English">&nbsp;en&nbsp;</a> |
d05d0eb4ae6d2a5e513fc3bf2555ce33da416634nd<a href="/fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a> |
7f5b59ccc63c0c0e3e678a168f09ee6a2f51f9d0nd<a href="/ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
ecc5150d35c0dc5ee5119c2717e6660fa331abbftakashi<a href="/ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung<a href="/tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
727872d18412fc021f03969b8641810d8896820bhumbedooh</div><div id="footer">
0d0ba3a410038e179b695446bb149cce6264e0abnd<p class="apache">Copyright 2012 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
727872d18412fc021f03969b8641810d8896820bhumbedooh<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">Glossary</a> | <a href="/sitemap.html">Sitemap</a></p></div><script type="text/javascript">
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh if (typeof(prettyPrint) !== undefined) {
0d0ba3a410038e179b695446bb149cce6264e0abnd prettyPrint();
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh }
727872d18412fc021f03969b8641810d8896820bhumbedooh</script>
0d0ba3a410038e179b695446bb149cce6264e0abnd</body></html>