[Zope-dev] Opinions wanted: clean installation (was distribution)

Dario Lopez-Kästen dario@ita.chalmers.se
Tue, 6 Nov 2001 17:10:18 +0100


Hello!

Got in a little late in the discussion. Here is our current setup, for
running multiple zopes with multiple instances. It is designed to be self
contained with everything needed in one place, and also to be all managed by
the user "zope". Can you see any disadvantages with this setup?

in /usr/local/zope  we have:

SharedProducts/
bin/
dist/
doc/
etc/
home/
misc/
sw/

SharedProducts/
    contains all the products that are shared between instances
    (they are symlinked into each instance directory)

bin/
    contains all scripts needed to create a new instance, to start
    and stop zope, etc. for instance:

        instance_make
        python -> /usr/local/zope/sw/Python2.1.1/bin/python
        python2.1 -> /usr/local/zope/sw/Python2.1.1/bin/python2.1
        zope_start
        zope_stop
        zstart

dist/
    contains the distributions of Zope in use. For instance:

        drwxr-xr-x  11 zope  zope   512 Aug 31 11:39 Zope-2.4.0
        drwxr-xr-x  11 zope  zope   512 Oct 31 21:06 Zope-2.4.1
        drwxrwxr-x  11 zope  zope   512 Oct 31 15:27 Zope-2.4.2

    by convention they are named Zope-<version-number>. We use
    this in our scripts. Also every Zope-dist directory has a
    settings file specifying what python it wants to be run with.
    Also used in our scripts.

doc/
    whatever docs we need, such as "How to compile Python" etc

etc/
    contains sitewide settings, such as a list of instances in
    use, and general configutation files:

        env.conf
        instances
        oracle.config.in
        sys.conf
        z2.conf

    the *.conf files are used to set values for all the settings
    possible according to the info in z2.py, sets a lot of
    env.varaibles and directory locations, etc..

home/
    contains one directory for each instance we use. The instances
    directory structure is as follows:

        Extensions/        --> whatever extensions to use
        Products/        --> Products in use - symlink from
        SharedProducts
        access            --> emergency user password file
        import/            --> import dir
        inst.config        --> a sourceable sh.script sourced by the
                            start script contains instance
                            specifik settings (use FTP, WebDAV,
                            etc)
        log/            --> _all_ log files end up here
        var/            --> the datafiles are stored here

    that's everything needed to handle an instance.

misc/
    contains stuff we need to manage our installation. ie. we have
    our download directries here, and general crap-area

sw/
    contains our python installation(s), our apache installations,
    etc...