ip-based.html.en revision df47c169dad27600c1e98e547a065378c5e9a2b3
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<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" />
5a58787efeb02a1c3f06569d019ad81fd2efa06end<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
5a58787efeb02a1c3f06569d019ad81fd2efa06end<link href="/images/favicon.ico" rel="shortcut icon" /></head>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<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>
52fff662005b1866a3ff09bb6c902800c5cc6dedjerenkrantz<p class="apache">Apache HTTP Server Version 2.5</p>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div>
4b5981e276e93df97c34e4da05ca5cf8bbd937dand<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Virtual Hosts</a></div><div id="page-content"><div id="preamble"><h1>Apache IP-based Virtual Host Support</h1>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd<p><span>Available Languages: </span><a href="/en/vhosts/ip-based.html" title="English"> en </a> |
d05d0eb4ae6d2a5e513fc3bf2555ce33da416634nd<a href="/fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a> |
7f5b59ccc63c0c0e3e678a168f09ee6a2f51f9d0nd<a href="/ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
4b3a8afbfcea8b265d179a122bf40dfedd1ce280takashi<a href="/ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
4b3a8afbfcea8b265d179a122bf40dfedd1ce280takashi<a href="/tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#explanation">What is IP-based virtual hosting</a></li>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<li><img alt="" src="/images/down.gif" /> <a href="#requirements">System requirements</a></li>
c573a8f047f4fbd3611d06ed1613e6f4679ef599rbowen<li><img alt="" src="/images/down.gif" /> <a href="#howto">How to set up Apache</a></li>
f8dee27891059abb09ff5ca3fc5434f5719d22a0rbowen<li><img alt="" src="/images/down.gif" /> <a href="#multiple">Setting up multiple daemons</a></li>
f8dee27891059abb09ff5ca3fc5434f5719d22a0rbowen<li><img alt="" src="/images/down.gif" /> <a href="#single">Setting up a single daemon
5a58787efeb02a1c3f06569d019ad81fd2efa06end<a href="name-based.html">Name-based Virtual Hosts Support</a>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<h2><a name="explanation" id="explanation">What is IP-based virtual hosting</a></h2>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<p>IP-based virtual hosting is a method to apply different directives
5a58787efeb02a1c3f06569d019ad81fd2efa06endbased on the IP address and port a request is received on. Most commonly,
5a58787efeb02a1c3f06569d019ad81fd2efa06endthis is used to serve different websites on different ports or interfaces.</p>
5a58787efeb02a1c3f06569d019ad81fd2efa06endvirtual hosts</a> are more convenient, because they allow
5a58787efeb02a1c3f06569d019ad81fd2efa06endSee <a href="name-based.html#namevip">Name-based vs. IP-based
f8dee27891059abb09ff5ca3fc5434f5719d22a0rbowen</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
5a58787efeb02a1c3f06569d019ad81fd2efa06end<h2><a name="requirements" id="requirements">System requirements</a></h2>
5a58787efeb02a1c3f06569d019ad81fd2efa06end <p>As the term <cite>IP-based</cite> indicates, the server
5a58787efeb02a1c3f06569d019ad81fd2efa06end <strong>must have a different IP address/port combination for each IP-based
5a58787efeb02a1c3f06569d019ad81fd2efa06end virtual host</strong>. This can be achieved by the machine
5ae30adbe59946de742ab0cd6be3b7457471a698takashi having several physical network connections, or by use of
5a58787efeb02a1c3f06569d019ad81fd2efa06end virtual interfaces which are supported by most modern operating
5a58787efeb02a1c3f06569d019ad81fd2efa06end systems (see system documentation for details, these are
5a58787efeb02a1c3f06569d019ad81fd2efa06end frequently called "ip aliases", and the "ifconfig" command is
5a58787efeb02a1c3f06569d019ad81fd2efa06end most commonly used to set them up), and/or using multiple
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess port numbers.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p> In the terminology of Apache HTTP Server, using a single IP address
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess but multiple TCP ports, is also IP-based virtual hosting.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<h2><a name="howto" id="howto">How to set up Apache</a></h2>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>There are two ways of configuring apache to support multiple
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess hosts. Either by running a separate <code class="program"><a href="/programs/httpd.html">httpd</a></code> daemon for
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess each hostname, or by running a single daemon which supports all the
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess virtual hosts.</p>
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
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess 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 <li>You can afford the memory and file descriptor
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess requirements of listening to every IP alias on the
dcf73e82ff6eda04fc24e50753631fd83bf61f3drbowen 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
261c62b53a9c707c64c7824eed68b5463bd23e62nd will need to listen to all specific addresses. (Although one
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <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 <li>Sharing of the httpd configuration between virtual hosts
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess is acceptable.</li>
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</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<h2><a name="multiple" id="multiple">Setting up multiple daemons</a></h2>
6f7c18e70781deff3d1129774221de81b43c828end <p>Create a separate <code class="program"><a href="/programs/httpd.html">httpd</a></code> installation for each
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess 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 Listen 192.0.2.100:80
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>It is recommended that you use an IP address instead of a
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf hostname (see <a href="/dns-caveats.html">DNS caveats</a>).</p>
6e14faf37935e36804b8bad802bc9dd58f3cf65dsf</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<h2><a name="single" id="single">Setting up a single daemon
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>For this case, a single <code class="program"><a href="/programs/httpd.html">httpd</a></code> will service
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess 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 <VirtualHost 172.20.30.40:80><br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess ServerAdmin webmaster@www1.example.com<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess </VirtualHost><br />
5ae30adbe59946de742ab0cd6be3b7457471a698takashi <VirtualHost 172.20.30.50:80><br />
5ae30adbe59946de742ab0cd6be3b7457471a698takashi ServerAdmin webmaster@www2.example.org<br />
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess </VirtualHost>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>It is recommended that you use an IP address instead of a
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess hostname in the <VirtualHost> directive
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p> Specific IP addresses or ports have precedence over their wildcard
5ae30adbe59946de742ab0cd6be3b7457471a698takashi equivalents, and any virtual host that matches has precedence over
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess the servers base configuration.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess <p>Almost <strong>any</strong> configuration directive can be
5ae30adbe59946de742ab0cd6be3b7457471a698takashi 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 <p><code class="directive"><a href="/mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>
5ae30adbe59946de742ab0cd6be3b7457471a698takashi may be used inside a
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess VirtualHost directive if the <a href="/suexec.html">suEXEC
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
261c62b53a9c707c64c7824eed68b5463bd23e62nd directory where they are written. See the <a href="/misc/security_tips.html">security tips</a> document
5ae30adbe59946de742ab0cd6be3b7457471a698takashi for details.</p>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<p><span>Available Languages: </span><a href="/en/vhosts/ip-based.html" title="English"> en </a> |
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<a href="/fr/vhosts/ip-based.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a> |
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<a href="/ja/vhosts/ip-based.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<a href="/ko/vhosts/ip-based.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<a href="/tr/vhosts/ip-based.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p>
261c62b53a9c707c64c7824eed68b5463bd23e62nd<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>
fefb8b844b6286bfc41bb2e0c4cc003b8e7d4ff2kess<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>