Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I've had VHosts working on my OSX client for quite some time. Recently, I've been trying to use http://localhost to access the /Library/WebServer/Documents but it keeps redirecting my to my blog. Can anyone point me in the direction where I might be going wrong?

Here is my hosts file:

127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost 

127.0.0.1 www.chrislrobinson.co.uk
127.0.0.1 blog.chrislrobinson.co.uk

And here is my httpd.conf file:

...
ServerName localhost:80
DocumentRoot "/Library/WebServer/Documents"
<Directory />
   Options FollowSymLinks
   AllowOverride None
   Order deny,allow
   Deny from all
</Directory>
<Directory "/Library/WebServer/Documents">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>

And finally here is my httpd-vhosts.conf

<Directory /Library/WebServer/Documents>
    Options Indexes FollowSymlinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Directory /Library/WebServer/Documents/blog>
    Options Indexes FollowSymlinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Directory /Library/WebServer/Documents/chrislrobinson>
    Options Indexes FollowSymlinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

NameVirtualHost *:80

<VirtualHost 127.0.0.1>
    DocumentRoot "/Library/WebServer/Documents"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents/blog"
    ServerName blog.chrislrobinson.co.uk
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents/chrislrobinson"
    ServerName www.chrislrobinson.co.uk
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents
    ServerName www2.chrislrobinson.co.uk
</VirtualHost>
share|improve this question
add comment

1 Answer

up vote 1 down vote accepted

Change your host specification on the localhost block; it needs to match the NameVirtualHost directive. (There should be a warning in your error log when apache starts about this)

<VirtualHost *:80>
    DocumentRoot "/Library/WebServer/Documents"
    ServerName localhost
</VirtualHost>

Since having it on your default port listener will probably be exposing it to the internet (only with a host header of localhost, but still..), consider locking it down, too:

Order deny,allow
Deny from all
Allow from 127.0.0.1
share|improve this answer
    
Thank you! I'm sure I had tried that combination but I guess I had something else going wrong with it! –  Chris Robinson May 10 '11 at 21:35
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.