Running OS X Server on main machine
I'm considering installing the OS X Server app on my main, day-to-day machine, in order to run Xcode Server and get a GUI for the VPN configuration (I'm already using the VPN with a manually configured LaunchDaemon).
Are there any reasons I shouldn't do this (such as security or performance issues)? I don't have another Mac that can run Mavericks at the moment, and would turn off all of the services I won't be using.
Generally, installing OS X Server on a main machine is not recommended, but if you have no choice, it should still be fine. There are some things to note, of course…
PostgreSQL has a massive impact on boot up times and shutdown times. PostgreSQL is used by many of the services in OS X Server and has meant that my iMac now takes well over 3 minutes to shut down. However, overall performance in the system is generally unaffected, providing you don't enable all the services or be running computationally-intensive tasks. For example, it might seem obvious, but running a build with an Xcode server CI bot will kill performance as it uses all the CPU available, leaving none for the current user. This is opposite to many services in OS X which will limit CPU usage to leave enough for a good user experience.
With regard to security, providing you are aware of what you are enabling, you shouldn't have any problem with this. The largest thing to note is that OS X Server will, by default, enable SSH access, which you may wish to disable. Everything else is by default disabled.
If your main machine is a laptop, do NOT run Server on it.
I tried this once, and was rather taken aback by the amount of time it spent with the fans on full. The battery life was cut by at least 50%, too.
Most of this is down to such abominations as PostgreSQL, which seems to love the CPU and makes as much use of it as possible.
I have since installed it on my Mac Mini at home, and it too spends its time with the fan running more than it used to. However, it has less of an impact on a machine that is always connected to a power outlet.
One problem I have found with the OS X Server app is that after it has been updated a few times, it needs deleting and reinstalling again, to make PostgreSQL work at all. Without doing this, it just sits filling the log with messages about PostgreSQL not being started, and has a Python process eating CPU all the time (presumably looking for PostgreSQL?). The remedy is fairly simple - delete the Server app and wait for it to notice and tell you. Then install it afresh, and it's OK again. For a while.
Having said all this, once it's set up and working, the Caching service, the Time Machine service, the VPN service and the Xcode service with its Git server - are all wonderful.
I've been running OSX Server on my main desktop since 2009 (10.6 and 10.8 server). After initial setup has calmed down there are no noticeable performance issues, Chrome consumes most of the CPU time.
I would not run Server on a laptop, and I prefer to run development machines with spinning drives.
One warning though - if you do hose the system there is no 'reset' function. Deleting Server,app, deleting .ServerSetupDone do NOT clear things like OpenDirectory out. A full wipe is required, but if you are sensible and put user data on a different partition it's fairly quick.