It’s long been a painful thing for me that macOS Server.app not only binds to all IP addresses on a system, but takes port 80 and 443, even if all web-related services are off. It’s also a major annoyance that while Apple have published methods for having your app sit behind Apache as a reverse proxy in Server.app, no one uses this functionality, not even Apple’s own subsidiary FileMaker Pro.
Actually, it’s even worse than this, the latest version of FileMaker Pro absolutely refuses to install on a Mac with Server.app installed – claiming that the installer can’t even run when Apache is running. On a Mac with Server.app installed, you can not completely shut down Apache using anything in the GUI, it’s simply impossible to do so.
Now that I’ve got that rant out of the way, John over on the Rumpus blog has written up a post describing how to get Server.app to bind to a particular IP. This is helpful if you want something else, such as Kerio Connect, to be able to use port 80 and 443 on a different IP on the same machine
The basics, reproduced here in case the link ever goes down, are:
In /Library/Server/Web/Config/apache2/httpd_server_app.conf find the line that looks like this:
Remove the comment and set the IP address to the address that you have assigned to Apache. For example, if the address you have assigned to Apache is “192.168.1.100”, you would change the line to:
Save the change, close the file, and then open the file:
In this config file, you will find “listen” configuration settings for several ports, including 80, 443, 8008, 8800, 8443 and 8843. Alter them so that instead of an asterisk, the Apache address is specified. To set OS X Server’s proxy service to bind only to the example address “192.168.1.100”, the “listen” config section would look like this: