For the sake of arguement, let's say your have the following directory structure:
e:/websites/purpleski and inside purpleski you have 3 sub-directories, html, cgi-bin and logs. I am going to assume that you may want to add other domains in the future, so I will put the information you need in a vhost container. Even if you just have one domain, it makes life a lot easier to see everything in one place when it comes time to edit the server's behavior. When you use vhosts, the "main" server will no longer be served. The first vhost defined will be the default in case there is no match for a requested domain. Getting back to "containers", containers are a way for apache to contain or regulate the scope of a directive. For example, the directive ServerName in the main section is not in a container so it is said to be "global" in scope. If you want this directive to apply to only one domain (virtual host), you would put it in what we call a vhost container. So now ServerName
only applies to one domain. You can control access and who can do what in a directory by putting directives in a directory container. The scope of a directive applies to that directory and all it's sub-directories unless you create a new container with different directives. Most directives are explained where they are used in httpd.conf so you can use that as a reference to help you understand what is happening in the sample vhost container below. This is just a sample but you can copy and paste it to the bottom of your httpd.conf then edit it as needed. The first 2 directives are global and should already be defined in the main section. You may just need to uncomment them. The UseCanonicalNames directive needs to be turned off.
########################################################
# Start Virtual Hosts #
########################################################
NameVirtualHost *
UseCanonicalNames Off
<VirtualHost *>
ServerAdmin webmaster@purpleski.com
DocumentRoot e:/websites/purpleski/html
ServerName purpleski.com
ServerAlias
ErrorLog e:/websites/purpleski/logs/error_log
CustomLog e:/websites/purpleski/logs/access_log combined
<Directory "e:/websites/purpleski/html">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "e:/websites/purpleski/cgi-bin/"
<Directory "e:/websites/purpleski/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
After you edit httpd.conf you need to restart apache so it will read the new configs.