views:

161

answers:

1

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)

http://pastebin.com/f57bc2d21

Thanks for the help in advance! :)

+2  A: 

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)

John Siracusa