Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 923
  • Last Modified:

adding virtual host to httpd.conf

Hello,

I'm trying to set up an existing site on my WAMP server that uses virtual hosts.  Apache runs fine until I add the code for the virtual hosts to my httpd.conf file.  Once i add it, the server wont start and nothing is added to the error log so I can't figure out why it doesn't work.  Is it a syntax problem?  

This is what I add:
NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot C:\wamp\www\sitesTrunk\vbwww\admin
    ServerName admin.vbwww.tld
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot C:\wamp\www\sitesTrunk\vbwww\main
    ServerName vbwww.tld
    <Location /docs/>
        ForceType application/x-httpd-php
    </Location>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot C:\wamp\www\sitesTrunk\vbwww\members
    ServerName members.vbwww.tld
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot C:\wamp\www\sitesTrunk\vbwww\files
    ServerName files.vbwww.tld
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot C:\wamp\www\sitesTrunk\vbwww\main\version
    ServerName version.vbwww.tld
</VirtualHost>

Open in new window

0
b_rad_wright
Asked:
b_rad_wright
  • 7
  • 4
1 Solution
 
b_rad_wrightAuthor Commented:
PS - I just read that if i'd like localhost to continue to work i'd need to add that to my httpd.conf file and my host file as well so I've done that.  And the ServerNames listed above are already in my host file under the following pattern: 127.0.0.1    files.vbwww.tld

0
 
arober11Commented:
As you've stated, not starting implies you've introduced a syntax error into your httpd.comf

So depending on the Apache version either uses the .exe to syntax checker e.g.

apache.exe -t


else make a copy of you httpd.conf, then remove all but one of the new Virtualhost blocks, start-it and if all ok, stop apache and repeat, adding back one virtualhost at a time till apache fails to start. If it didn't start with the initial block you've located the source of the error.


Oh what's your Listen directive look like e.g. Does it look anything like:

Listen 80
0
 
b_rad_wrightAuthor Commented:
Ok.  I'm not sure what you are referring to on the apache.exe -t or where execute that command.  I'm assuming the command line...

as for the second suggestion, the only virtual host that worked was local host.

I am listening to 80 as well...just like you've listed.  
0
Nothing ever in the clear!

This technical paper will help you implement VMware’s VM encryption as well as implement Veeam encryption which together will achieve the nothing ever in the clear goal. If a bad guy steals VMs, backups or traffic they get nothing.

 
arober11Commented:
Ref: "I'm not sure what you are referring to on the apache.exe -t", see: http://httpd.apache.org/docs/1.3/windows.html#signal
0
 
b_rad_wrightAuthor Commented:
I'm new to apache so that doc is over my head.  What dir do i need to execute that command from?  I opened the console, changed dirs to where I have apache placed (C:\wamp\bin\apache\Apache2.2.11) and tried to execute that but cmd doesn't recognize that command.  

I know that is a bit of a rookie issue but I'm not following the doc you linked to...can you dumb it down a bit?
0
 
b_rad_wrightAuthor Commented:
also, shouldn't my attempt at your "plan b" approach have showed us something we need to know?
0
 
b_rad_wrightAuthor Commented:
not sure if this is of consequence but I attempted to run httpd -k start from the bin dir at c:\wamp\bin\apache\Apache2.2.11\bin and it said [error] (os 2) The system cannot find the file specified.  : No installed service named "Apache2.2".

0
 
b_rad_wrightAuthor Commented:
ok.  so it's almost working
actually it is working
but i had to
a) remove the virtual hosts from the httpd.conf file
b) add them to the httpd-vhosts.conf file
c) make sure the include for the v-host file was uncommented
d) remove this line:
<Location /docs/>
        ForceType application/x-httpd-php
    </Location>
e) add a serveradmin, errorlogs, and customlogs fields to the httpd-vhosts.conf file
0
 
arober11Commented:
So you've used my second solution:


" else make a copy of you httpd.conf, then remove all but one of the new Virtualhost blocks, start-it and if all ok, stop apache and repeat, adding back one virtualhost at a time till apache fails to start. If it didn't start with the initial block you've located the source of the error."

The virtual host definitions do not need to located in a separate file, so your steps b + c are unnecessary, as is your step e as any values outsife the new virtual hos definitions will be inherited, and the directives are optional anyway.


0
 
b_rad_wrightAuthor Commented:
I tried your second solution and it did nothing.  When I did what you suggested, none of them worked so that didn't help because they were all "the source of the error."  Knowing they were all the error didn't move me any further to figuring out how to fix it.  I'm not totally sure why what I did worked but got me to the solution was this article - http://www.infinitedesigns.org/archives/217 - not your suggestions.  

Further, you didn't respond to my additional questions as I was working toward a solution so I haven't awarded partial points or assisted solutions since I took it from broke to fixed all on my own.

Sorry arober11, I'm not gonna award you points.  
0
 
arober11Commented:
You can expect a day or so between posts, as this is a community supported forum, if you require someone to be instantly available to answer your questions you'll need employ an IT professional. The volunteer experts here have jobs / lives, which take precedence.

Anyway the error was obviously in your new entries, and you followed my suggestion of removing your the new entries, then adding them back, till you identified the erroneous <Location> block in your second V-host, so what are you arguing about.

Also as the easiest option of letting Apache test your configuration file for you, per the example I gave / paragraph I linked to, (have included below) was beyond your comprehension:  "I'm new to apache so that doc is over my head." you need to give the experts a chance to compose a reply that is at your level.
Another very useful feature is the configuration files test option. To test the Apache configuration files, run:

    apache -t

This is especially useful following alterations to the configuration files while Apache is still running. You can make the changes, confirm that the syntax is good by issuing the "apache -t" command, then restart Apache with "apache -k restart". Apache will re-read the configuration files, allowing any transactions in progress to complete without interruption. Any new request will then be served using the new configuration.

Open in new window

0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 7
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now