Admin Panel 2: Admin Virtual Host

Revision as of 10:06, 21 June 2013 by BobS (talk | contribs) (Removed excess category tags)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Admin Panel 2

Admin Virtual Host

Name based virtual hosting allows you to host and/or develop more than one web site on your Apache server. Its main advantage is that only one fixed IP is required to host several sites, hence preserving those valuable IP addresses. This tool simplifies setting up the Apache configuration and local host files by making that process transparent.

Error

When you first start this page you will find a host named localhost:80 followed by one error message. In reality this error message is just a warning and can be safely ignored. Note: localhost:80 is a dummy server name. If you are hosting one web site under one domain name there is no need to use virtual hosting. You should be using the normal set-up explained in Apache Configuration Server Name.

Virtual hosting

Virtual hosting allows you to host more than one domain name using a single IP address or to host several sites with a common domain name.

Related:

Top

Log files

Uniform Server, by default, logs all errors and accesses to the server in the following two files error.log and access.log, respectively located in folder *\Uniform Server\udrive\usr\local\apache2\logs you may prefer to have separate logs for each virtual host.

To have separate logs when filling in the Admin Virtual Host form (Optional additions) you add the following two lines to each virtual host:

ErrorLog logs/name_error.log
CustomLog logs/name_custom.log combined

The file names name_error.log and name_custom.log can be anything you like. I would recommend you use site folder names, since it makes administration easier.

Top

CustomLog Directive

The CustomLog Directive takes three parameters: file name, format (what to log) and environment. The first two are required and the third is optional.

The second parameter specifies what will be written to the log file (if this is missing, it prevents the server running) UniServer has the following defined:

LogFormat "%h % %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

Each format string ends with a name (combined, common, referer and agent). These are short cuts containing the corresponding format string. You use this name as the second parameter for each custom log.

ErrorLog logs/name_error.log
CustomLog logs/name_custom.log combined

Alternatively you can us a format string directly:

ErrorLog logs/name_error.log
CustomLog logs/name_custom.log "%h % %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""

Top

Example

Using example sites taken from this page Virtual Hosting - Name based:

Name: Path to DoucumentRoot Optional additions
www.my_site1.fredtest.mine.nu I:/site1 ErrorLog logs/site1_error.log

CustomLog logs/site1_custom.log combined

www.my_site2.fredtest.mine.nu /z_www/site2 ErrorLog logs/site2_error.log

CustomLog logs/site2_custom.log combined

www.ric.com /z_www/site3 ErrorLog logs/site3_error.log

CustomLog logs/site3_custom.log combined

Open the file httpd.conf located in folder *\Uniform Server\udrive\usr\local\apache2\conf . The virtual host entries are added to the end of this file.

The first line NameVirtualHost * enables Apache for virtual host operation. If you comment out this line by adding "#" it disables all the hosts you have configured.

Note 1:
Each section now contains the appropriate log directives. Apache will automatically create the log files (in folder *\Uniform Server\udrive\usr\local\apache2\logs) when each site is accessed or when an error is produced.

Note 2:
If Apache does not need to write to a file, it is not created.

Top

Important notes

Note 1:
The program automatically un-comments the line NameVirtualHost * . If you have previously used virtual hosts and decide to run the server with no virtual hosts you must manually re-insert this comment.

  1. Open file: httpd.conf
  2. Located in folder: *\Uniform Server\udrive\usr\local\apache2\conf
  3. Towards the end of the file locate the line: NameVirtualHost *
  4. Comment the line to look like this: #NameVirtualHost *
  5. Save file and restart server

Note 2:
Not transportable

When you have created your virtual hosts, view your sites by typing the real web-site name into your browser address bar. For example www.mpgautos.com will serve pages from the site1 folder. If you copy Uniform Server and your sites to a memory stick, do not be surprised if they no longer work when run on a different machine. You need to copy the Windows hosts entries to the machine you are running on. However if this is inconvenient then this link may help Virtual Hosting & PAC.

Note 3:
Common problems

  • If you find the servers no longer run after creating a Vhost with separate logs, make sure you have included a second parameter for the custom log.
  • Make sure all file paths do not end with a forward slash.
  • Make sure the line NameVirtualHost * is uncommented.

Top


  Ric