I know your never going to get everyone to agree, as all sys admins like to do things in a slightly different way. I'm probably way out of my depth, but, working on systems with many Zope instances which are 'owned' by various people, I have a directory which holds all my bases and a directory for all of the instances. This means that all a users specific files are in one place and makes administration easier, especially for things such as FTP access to an individual instance and so on. From my memory (I think I asked ChrisW) the Products from the instance, override the products in the base. Ideally I guess no products should be in the base, unless they are going to become part of the core, and so will always be there in the future. I've also heard romours of some kind of product / package system although I don't think that its been developed yet. Not sure if that fits into your plans or not. Just my rough thoughs. Good luck with the project, its a great idea. Is it worth pushing it to the main list? ChrisK
From: Behrens Matt - Grand Rapids <Matt.Behrens@Kohler.Com> To: zope-dev@zope.org Cc: matt@zigg.com Date: Mon, 05 Nov 2001 15:33:20 -0500 Subject: [Zope-dev] Opinions wanted: clean distribution
I'm experimenting with a few ideas for a "clean distribution" of Zope; i.e. one that builds on the INSTANCE_HOME concept to produce a production-ready layout for UNIX-like systems. My hope is that it will someday make life a hell of a lot easier for Zope packagers (such as myself) as well as end-users. I'd love for the Zope install script to create this layout by default, and am certainly willing to dedicate code to the effort.
I'm looking at a software home directory like this:
BINDIR zopectl zopeinst
LIBEXECDIR pcgi-wrapper
LIBDIR zope (eveything from lib/python) Products Extensions [1] ZServer [1] inst [1] utilities [1]
ETCDIR zope access inituser instances [2]
VARDIR zope INSTANCE [2] db [3] Data.fs (et al.) run [4] *.pid gadfly [3] [5]
[1] I am not sure if putting these folders here clashes with anything. Extensions, especially, I am worried about.
[2] Instances should be named and built by 'zopeinst', which takes care of reasonably secure default permissions. The 'instances' file would list these along with start parameters and flags that zopectl understands; zopectl could be used to shutdown/startup zope instances in system startup/shutdown scripts this way.
[3] These directories should be readable and writable only by the user who runs Zope.
[4] This directory, if Zope is started as root, should be writable only by root.
[5] Other instance-specific files such as Zope.cgi would live here. start/stop duties would be taken over by zopectl.
The top level directories (BINDIR, LIBEXECDIR, LIBDIR, ETCDIR, VARDIR) would be configured at install time but would probably default to /usr/local/bin, /usr/local/libexec (or sbin for non-BSDers), /usr/local/lib, /usr/local/etc, /usr/local/var.
I'm really looking for compatibility issues that anyone has or any suggestions for improvement. I plan to make a proposal out of this eventually. Please make sure you cc me at home (matt@zigg.com) on replies.