b_rad_wright
asked on
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:
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>
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
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
ASKER
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.
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.
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
ASKER
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\Apache 2.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?
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?
ASKER
also, shouldn't my attempt at your "plan b" approach have showed us something we need to know?
ASKER
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".
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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.
" 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.
ASKER
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.
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.
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.
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.
ASKER