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/optmight 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/binshould 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)