AnsweredAssumed Answered

Virtual Hosts in Apache on OS X - Help needed

Question asked by rstory on Nov 13, 2014
Latest reply on Nov 13, 2014 by rstory

So I've got a bit of a conundrum and I was hoping someone might be able to help steer me right.

FileMaker Server running on an OS X Machine (10.9.5) (Apache web server 2.2.26). I was able to template Apache Virtual hosts on a regular OS X webserver installation and get everything working fine, but now I'm trying to push it out and I'm bumping my head a bit because of the FileMaker Apache configuration.

Basically, the client needs to serve two separate websites off of this machine. For simplicity, we'll call this and

For any Apache people who haven't really played around with the FileMaker configurations, here's what the lay of the land looks like. Basically, instead of HTTP Root being in /Library/Webserver/ it's in /Library/FileMaker Server/HTTPServer. From there you've got some subdirectories:

/conf which has the httpd.conf and the /extra subdirectory.

/htdocs which is the DocumentRoot folder for the default website ( Currently serving those files just fine.

/sitetwodocs which is a folder I created, and then made sure that the ownership/permissions were identical to /htdocs. All I stuck in there was an index.html file that basically spits out "It's works! (this is site2)"

/logs (not huge, but I don't want people dinging me on a technicality of referencing it without explicitly stating that it's there)

So basically, apart from starting out in a different spot, it's looking like everything is basically in relatively the same place.

After backing everything up, I did a sudo nano on the httpd.conf file in the conf folder and uncommented

Include /conf/extra/httpd-vhosts.conf

Then I went into extra/httpd-vhosts.conf and this is where things start to get a little spicy.

Evidently, even though the httpd-vhosts.conf file wasn't being included in the httpd.conf, there was a slightly different file in there than I was expecting when I did a sudo nano on that file. Basically, they had a



NameVirtualHost *:8080


at the start but the <VirtualHost> defiinition was just the stock stuff, so I was comfortable more or less ignoring it. It's listening on a different port, it doesn't appear to be harming anything at the moment, and I can worry about that once I get the port 80 stuff working.


I added the following


Code (text):


  1. NameVirtualHost *:80
  2. <VirtualHost *:80>
  3. ServerAdmin
  4. DocumentRoot "/Library/FileMaker Server/HTTPServer/htdocs"
  5. ServerName
  6. ServerAlias
  7. ErrorLog "/Library/FileMaker Server/HTTPServer/logs/"
  8. CustomLog "/Library/FileMaker Server/HTTPServer/logs/" common
  9. </VirtualHost>
  10. <VirtualHost *:80>
  11. ServerAdmin
  12. DocumentRoot "/Library/FileMaker Server/HTTPServer/sitetwodocs"
  13. ServerName
  14. ServerAlias
  15. ErrorLog "/Library/FileMaker Server/HTTPServer/logs/"
  16. CustomLog "/Library/FileMaker Server/HTTPServer/logs/" common
  17. <Directory "/Library/FileMaker Server/HTTPServer/sitetwodocs">
  18. Options Indexes FollowSymLinks
  19. AllowOverride All
  20. Order allow,deny
  21. Allow from all
  22. </Directory>
  23. </VirtualHost>

I did not remove any of the Virtual Host stuffs for port 8080 because I didn't want to break anything on the FM Server in the off chance it needed it.


I did a restart of the apache server by going to the bin/ directory and running a sudo ./httpdctl graceful command.


So having accomplished this little bit I ran over to my main machine that was on the network and jimmied the hosts file and created a spoof to point to the same IP Address as, This was the formula I used while doing a proof-of-concept on another machine (using the OS X Apache configuration) and it worked fine.


When I go to in my web browser, I go to the existing site, so I didn't break anything (apart from temporarily in the footnote below), but when I go to, it takes me to site1--it's not forwarding that domain request to the appropriate sitetwodocs DocumentRoot directory. Location bar shows


When I looked at the file, I see lines like the following:

  1. [today] [error] [client mycomputer] client denied by server configuration /Library/FileMaker Server/HTTPServer/sitetwodocs/images, referer:


after monkeying around with the various configuration files (uncommenting the LoadModule vhost_alias_module /usr/libexec/apache2/ line in httpd.conf, stripping out the *:8080 configurations, etc) I was able to get exactly the same results (yes, I'm restarting apache after every configuration change), except this time, the error log is spitting out


[today] [error] [client me] File does not exist: /Library/FileMaker Server/HTTPServer/sitetwodocs/images referer:


When I go to, it basically serves up site1, and the location bar says site1, but deep in the error logs, apache knows something is wrong, and it knows it should be using /sitetwodocs even though there is literally ONE html file in that directory that isn't referencing /css/layout.css or an /images directory.


Most peculiar.


Can anyone spot what I'm doing wrong and give an idea of how to fix it?