I had setup a PC with OpenBSD. The point of it was to be used as a server and web development system. So, no, this was not used via a GUI system.
As you said, services like dynDNS will virtually solve the changing IP addresses your provider gives you. In my case I used EasyDNS and also rarely saw the address change. I own a domain that I pointed to the address. On the server, I had a small script that would occasionally trigger to make sure the IP address was up to date on the EasyDNS entry.
I believe the fact of starting Apache opens port 80. Of course you would have to adjust your router to allow it through and to the specific machine if you have more than one. For different reasons and experiments I've had several port numbers open for web access to more than one machine.
Apple currently uses ipfw for the firewall. Searching on Google (for "OS X" network security) brings up tons of links. These two I found somewhat interesting.
Apple,
Macgeekery.
Is that the one with the annoying popup 'snapshots" overlays? ;D