I think there is a need for a document which describes Mac OS X Server from the perspective of traditional unix administration. This would serve two primary purposes: 1) Provide a smoother learning experience for seasoned unix veterans who are tasked with administration of Mac OS X Server. There are a good number of 'gotchas' that are generally related to situations in which Apple has strayed from unix tradition. Ideally (in my view, at least), a unix administrator should be able to sit down at any unix system and figure out / deduce / discover everything they need to know, but that is not always the case with Mac OS X Server. 2) Provide an overall architectural description of Mac OS X Server, which to my knowledge does not exist anywhere (in public form). There is plenty of feature documentation, but this should aim to provide system-level information relevant to administrators. Some of the topics here would also apply to Mac OS X, although this would also describe the general architecture of the (server-specific) admin tools / daemons, and any other 'added value' areas. A very loose first attempt at a shell of an outline might look something like this. Time permitting, I would love to act as a contributor for / mentor of such a document. Topic - [ ] Introduction - [ ] Intended audience - [ ] What is Mac OS X Server? - [ ] Superset of client - [ ] Service daemons - [ ] Administration tools - [ ] Auto-configuration 'workflows' - [ ] Introduce concept of attempting to allow mixing / matching of administration styles between GUI and CLI - [ ] Mac OS X Server Architecture - [ ] Identify layers, and identify where the server-specific software operates in the layers context - [ ] Filesystem hierarchy - [ ] Areas of interest - [ ] This could be a short list of key places that might be enough to get a very savvy admin rolling - [ ] Preferences, logs, daemons, /usr/libexec, - [ ] Describe Mac / Unix equivalencies - [ ] /etc <--> /S/L/Preferences - [ ] /L/Logs <--> /var/log - [ ] ... - [ ] Separation of (network / system / site local / user) resources - [ ] Service Configuration - [ ] Property lists versus traditional line-oriented config files - [ ] Pros and cons - [ ] XML is more expressive and flexible - [ ] XML is difficult to use with traditional line-oriented tools - [ ] plutil - [ ] servermgrd - [ ] Describe architecture - [ ] takes commands from serveradmin and Server Admin - [ ] Talk about the modules, point them out in the filesystem - [ ] Revisit and expand upon concept of mixing CLI and GUI administration styles - [ ] GUI tools are often wrappers for CLI tools - [ ] GUI tools: stdout / stderr? IT'S COMPLETELY INVISIBLE (zomg, yes, this is crucial) - [ ] lists.apple.com—msg00013.html - [ ] Caveats - [ ] Directory Services - [ ] High-level directory services architecture - [ ] introduce various directory stores - [ ] a pretty picture - [ ] Introduce concept of native and standard attribute names - [ ] Directory Utility plugin configuration (especially wrt BSD) - [ ] WGM and dscl - [ ] Process Management - [ ] The Apple Way (on-demand) - [ ] Launchd - [ ] Preservation of traditional / pre-existing mechanicms - [ ] cron - [ ] /sbin/service - [ ] Legacy - [ ] SystemStarter - [ ] /etc/rc