VirtualHost: Difference between revisions
Jump to navigation
Jump to search
m (→httpd.conf File: Formatting) |
(Moved to new category; Additional grammar and cleanup edits.) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
VirtualHosts are | VirtualHosts are useful both for setting up [[Subdomain|Subdomains]] and for directing additional domains to your server. Put simply, they allow a (sub)domain to point to a different DocumentRoot. | ||
== httpd.conf File == | == httpd.conf File == | ||
At the bottom of the httpd.conf file, located in ' | At the bottom of the httpd.conf file, located in 'usr\local\apache2\conf', there is a commented out section on setting up VirtualHosts. It's relatively self-explanatory, but to run down what you need to do, step by step: | ||
First, uncomment the line 'NameVirtualHost *'. Now, at the very end of the file, paste the following: | First, uncomment the line 'NameVirtualHost *'. Now, at the very end of the file, paste the following: | ||
<code> | <code> | ||
Line 14: | Line 15: | ||
</code> | </code> | ||
Breaking down this example directive line by line: | |||
*'''<VirtualHost *>''' says the following is going to be a VirtualHost. The asterisk denotes any connection. If you wanted to limit the VirtualHost to just port 80 (the default HTTP port) you would instead type '<VirtualHost *:80>'. | *'''<VirtualHost *>''' says the following is going to be a VirtualHost. The asterisk denotes any connection. If you wanted to limit the VirtualHost to just port 80 (the default HTTP port) you would instead type '<VirtualHost *:80>'. | ||
*'''ServerAdmin webmaster@example.com''' assigns an administrator email address to the domain. | *'''ServerAdmin webmaster@example.com''' assigns an administrator email address to the domain. | ||
*'''DocumentRoot /www/example/foobar/''' specifies the path to the document root. The domain you're setting up will point to this directory of the server. | *'''DocumentRoot /www/example/foobar/''' specifies the path to the document root. The domain you're setting up will point to this directory of the server. | ||
*'''ServerName foobar.example.com''' is the domain name to use. Obviously, the domain must first be pointed to | *'''ServerName foobar.example.com''' is the domain name to use. Obviously, the domain must first be pointed to The Uniform Server. | ||
*'''ErrorLog logs/foobar-error_log''' and '''CustomLog logs/foobar-access_log common''' specify where error log files will be saved. You can put any directory you want, but a | *'''ErrorLog logs/foobar-error_log''' and '''CustomLog logs/foobar-access_log common''' specify where error log files will be saved. You can put any directory you want, but a relatively logical naming convention is to put the (sub)domain before the title of the log, as done in this example. | ||
*'''</VirtualHost >''' ends the VirtualHost directive. | *'''</VirtualHost >''' ends the VirtualHost directive. | ||
Repeat the <VirtualHost *> directive for each (sub)domain you wish to set up. | Repeat the <VirtualHost *> directive for each (sub)domain you wish to set up. | ||
[[Category: Apache Configuration]] |
Latest revision as of 12:13, 21 June 2013
VirtualHosts are useful both for setting up Subdomains and for directing additional domains to your server. Put simply, they allow a (sub)domain to point to a different DocumentRoot.
httpd.conf File
At the bottom of the httpd.conf file, located in 'usr\local\apache2\conf', there is a commented out section on setting up VirtualHosts. It's relatively self-explanatory, but to run down what you need to do, step by step:
First, uncomment the line 'NameVirtualHost *'. Now, at the very end of the file, paste the following:
<VirtualHost *>
ServerAdmin webmaster@example.com
DocumentRoot /www/example/foobar/
ServerName foobar.example.com
ErrorLog logs/foobar-error_log
CustomLog logs/foobar-access_log common
</VirtualHost >
Breaking down this example directive line by line:
- <VirtualHost *> says the following is going to be a VirtualHost. The asterisk denotes any connection. If you wanted to limit the VirtualHost to just port 80 (the default HTTP port) you would instead type '<VirtualHost *:80>'.
- ServerAdmin webmaster@example.com assigns an administrator email address to the domain.
- DocumentRoot /www/example/foobar/ specifies the path to the document root. The domain you're setting up will point to this directory of the server.
- ServerName foobar.example.com is the domain name to use. Obviously, the domain must first be pointed to The Uniform Server.
- ErrorLog logs/foobar-error_log and CustomLog logs/foobar-access_log common specify where error log files will be saved. You can put any directory you want, but a relatively logical naming convention is to put the (sub)domain before the title of the log, as done in this example.
- </VirtualHost > ends the VirtualHost directive.
Repeat the <VirtualHost *> directive for each (sub)domain you wish to set up.