I'm packing the Cherokee Web Server, a very very fast webserver with a nice web-based GUI for configuration written by the spanish hacker Alvaro Lopez Herrera and available from http://www.cherokee-project.com.
So far, I've managed to create a .pkg installer using Apple's PackageMaker.app that comes with Xcode but i'm installing everything under /opt/cherokee.
I guess I'd like to have the binaries go to a dir that is already in the path and the same for the manpages and other stuff.
I looks like installing everything with prefix=/usr could work nicely, except for the config files that should go to /etc/cherokee and the document root with could go to /var/www but i'm not sure.
Would that work or should I use some directory structure under /Library? like /Library/Cherokee/VERSION/ ???
Apple's bundled Apache seems to be instaling with prefix=/usr but config files in /etc/apache2 and CGIs and the manual to /Library/WebServer with the document root in /Library/WebServer/Documents.
Maybe my docroot should be /Library/Cherokee/Documents or something like that...
For reference, Cherokee's default layout is like this: (only dirs)
Thanks for the help in advance! :)
Do not install it directly in /usr
. That's Apple's domain. Though /opt
might be okay, it will not be in the default path and is not commonly used as a default installation location for third-party Unix software in Mac OS X.
My advice is to install everything under /usr/local
. Apple will not touch this area (e.g., during system updates, etc.), /usr/local/bin
should be in the default path for users, and I have observed many other Mac OS X server software packages using this location.
Most Mac OS X packages I've used (and most software I've built from source on Mac OS X) will create a /usr/local/whatever/...
containing directory, however. So, for example, all of MySQL would be under /usr/local/mysql/...
That means the MySQL binaries are in /usr/local/mysql/bin/...
which is not in the default path for users. But I think the improved isolation of that extra level of directory structure is worth this sacrifice. (Another option is to install everything under /usr/local/whatever/...
but then add symlinks to your most important executable(s) under /usr/local/bin
)