Package: plone.recipe.zope2zeoserver
plone.recipe.zope2zeoserverThis recipe creates and configures a Zope 2 ZEO server in parts. It also
installs a control script, which is like zeoctl, in the bin/ directory.
The name of the control script is the the name of the part in buildout.You can use it with a part like this:[zeoserver]
recipe = plone.recipe.zope2zeoserver
zope2-location = /path/to/zope2/install
zeo-address = 8100Attention!This recipe works with Zope 2 versions prior to Zope 2.12 or ZODB3
versions prior to ZODB 3.8. If you want to use newer versions of any
of the two (for example for Plone 4) please use theplone.recipe.zeoserver: recipe instead.Optionszope2-locationThe path where Zope 2 is installed. If you are also using the
plone.recipe.zope2install recipe, and you have that configured as a part
called ‘zope2’ prior to the zope2zeoserver part, you can use
${zope2:location} for this parameter. You must ensure the zope2zeoserver part
is runafterthe zope2install one.zeopackThe path to the zeopack.py backup script. A wrapper for this will be
generated in bin/zeopack, which sets up the appropriate environment to
run this. Defaults to “${zope2-location}/utilities/ZODBTools/zeopack.py”.
Set this option to an empty value if you do not want this script to be
generated.zeopack-script-nameThe name of the generated zeopack script in the context of
the bin directory. Defaults to “zeopack”.repozoThe path to the repozo.py backup script. A wrapper for this will be
generated in bin/repozo, which sets up the appropriate environment for
running this. Defaults to “${zope2-location}/utilities/ZODBTools/repozo.py”.
Set this to an empty value if you do not want this script to be generated.repozo-script-nameThe name of the generated repozo script in the context of
the bin directory. Defaults to “repozo”zeo-confA relative or absolute path to a zeo.conf file. If this is not given, a
zeo.conf will be generated based on the the options below.The following options all affect the generated zope.conf.zeo-addressGive a port for the ZEO server (either specify the port number only (with
‘localhost’ as default) or you use the formathost:port). Defaults to 8100.effective-userThe name of the effective user for the ZEO process. Defaults to not setting
an effective user.invalidation-queue-sizeThe invalidation-queue-size used for the ZEO server. Defaults to 100.zeo-logThe filename of the ZEO log file. Defaults to var/log/${partname}.logzeo-log-formatFormat of logfile entries. Defaults to %(asctime)s %(message)szeo-log-customA custom section for the eventlog, to be able to use another
event logger thanlogfile.zeo-logis still used to set the logfile
value in the runner section.storage-numberThe number used to identify a storage.file-storageThe filename where the ZODB data file will be stored.
Defaults to var/filestorage/Data.fs.blob-storageThe folder where the ZODB blob data files will be stored.socket-nameThe filename where ZEO will write its socket file.
Defaults to var/zeo.zdsock.authentication-databaseThe filename for a authentication database. Only accounts listed in this
database will be allowed to access the ZEO server.The format of the database file is:realm <realm>
<username>:<hash>Where the hash is generated via:import sha
string = "%s:%s:%s" % (username, realm, password)
sha.new(string).hexdigest()authentication-realmThe authentication realm. Defaults to ‘ZEO’pack-daysSpecify of days for the zeopack script to retain of history. Defaults to
one day.pack-userIf the ZEO server uses authentication, this is the username used by the
zeopack script to connect to the ZEO server.pack-passwordIf the ZEO server uses authentication, this is the password used by the
zeopack script to connect to the ZEO server.zeo-conf-additionalGive additional lines to zeo.conf. Make sure you indent any lines after
the one with the parameter.monitor-addressThe address at which the monitor server should listen.
The monitor server provides server statistics in a simple text format.relative-pathsSet this totrueto make the generated scripts use relative
paths. You can also enable this in the[buildout]section.eggsSet if you need to include other packages as eggs e.g. for making
application code available on the ZEO server side for performing
conflict resolution (through the _p_resolveConflict() handler).Reporting bugs or asking questionsWe have a shared bugtracker and help desk on Launchpad:https://bugs.launchpad.net/collective.buildout/Change History1.5 (2013-01-29)LP #503686: Added support for setting ZEO log level.
[baijum]Added note on ‘eggs’ option.
[ajung]Added option to customize repozo and zeopack names
[do3cc]1.4 (2009-10-15)Make sure that it’s still possible to specify a storage to pack using the -S
parameter for bin/zeopack.
[davisagli]Documented the format of the authentication database file.
[hannosch]Added support for more than one zeoinstance per buildout on win32 environments
[erico_andrei]Added support for relative-paths in the script generation.
[jvloothuis]1.3 (2009-05-14)Added the newpack-days,pack-userandpack-passwordoptions to give
more flexible options for the zeopack script and support packing databases
which require authentication. Also reworked the zeopack internals to support
packing blob storages. The default for packing is now to retain one day of
database history.
[hannosch]1.2 (2009-02-25)Generate a bin/repozo script to perform backups using repozo.py (and
set up the appropriate pythonpath for this to work).
Copied from plone.recipe.zope2instance.
[fschulze]Added support for the zeo.conf ‘monitor-address’ parameter.
[mattss]1.1 (2008-12-05)Pass PYTHONPATH generated by recipe into zopeservice.py, so that it
is properly setup and passed to service controlled environment. This
makes it possible to use third-party ZConfig extensions with ZEO,
like iw.rotatezlogs.
[sidnei]1.0 (2008-11-04)Bump version number to 1.0 since this has been stable for a long time.
[wichert]Add MANIFEST.in file so we can create a release from an export.
[wichert]0.17 (2008-11-04)Make the log format configurable and change the default to include the
current time.
[wichert]0.16 (2008-10-15)Adjusted the Supervisord support to ignore the command sent to the script.
This avoids apositional arguments are not supportederror.
[hannosch]The launch script now detects if it is being executed from Supervisord.
This makes it more manageable for Supervisord since it no longer forks.
[jvloothuis]0.15 (2008-08-27)Renamed zeoservice.py to zeoservice.py.in to avoid errors during egg
creation, as it tries to compile the template file.
[hannosch]0.14 (2008-08-21)Fix the test to not rely on a specific installation folder name.
[dataflake]Added support for a unix socket path inzeo-addressand expanded the
test coverage for thezeopackscript generation.
[dataflake]Add support for ZEO authentication.
[wichert]0.13 (2008-03-27)Fixed call to HandleCommandLine by computing the serviceClassString
ourselves if our module name is not __main__ (ie, if it was imported
from another module). This works around the fact that
HandleCommandLine calls GetServiceClassString which in turn only
calculates the full path if the original module is __main__.
[sidnei]Fixed generation of runzeo.bat when using ZEO from egg, where ZConfig is not
in ZODB3_HOME.
[rochael]Only generate the Windows service scripts if there is a zope2-location, since
it’s currently the only place where the nt_svcutils can be found.
[rochael]Fixed test breakages on Windows.
[rochael]0.12 (2008-03-02)Fixed zeopack generation so it includes zope-location.
[tarek]0.11 (2008-02-19)Made Python 2.3 compatible
[fschulze]Added win32 specific scripts.
[tarek]Added azeo-log-customoption.
[tarek]Added a test environement and a basic doctest to validate the recipe.
[tarek]0.10 (2008-01-09)Calculate the package working set outside of the recipe constructor. Closeshttps://bugs.launchpad.net/collective.buildout/+bug/180084[rochael]0.9 (2007-12-30)Addedinvalidation-queue-sizeandstorage-numberoptions.
[hannosch]Merged rochael-blobsupport branch. Added support for ZODB 3.8 blob storage
configuration. This adds the blob-storage option. This closeshttps://bugs.launchpad.net/collective.buildout/+bug/179115andhttps://bugs.launchpad.net/collective.buildout/+bug/179117.
[rochael, hannosch]Renamedzope-conf-additionaloption tozeo-conf-additional.
[rochael]0.8Small documentation update. Added link to the bugtracker.
[hannosch]Have PID file’s location default to${buildout:directory}/var/${name}.pid.
Keeping the PID file in $INSTANCE_HOME gives trouble when buildout rebuilds
the part.
[nouri, mbenali]0.7Change default location of zeo socket to var.
[smcmahon]Add option to set socket-name.
[smcmahon]0.6Move the documentation to a separate README.txt and read that from setup.py.
[wichert]Add a wrapper around zeopack which inserts default options for our ZEO server.
[wichert]0.5Added an option to set the effective-user.
[optilude]0.3Updated setup.py.
[optilude]0.2Similarly, there are some hardcoded dependencies on $INSTANCE_HOME/etc/.
[optilude]Documented options, cleaned up code, and added the ability to use a manual
zeo.conf.
[optilude]Make this work, at least on OS X and probably unix-like system. It wouldn’t
surprise me if this needs adjustment for Windows in the same way that we do
in plone.recipe.zope2instance. :-(
[optilude]0.1Initial implementation.
[regebro, hannosch]