Skip to main content

ZC Buildout recipe for installing a Zope 2 ZEO server

Project description


This 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:

recipe = plone.recipe.zope2zeoserver
zope2-location = /path/to/zope2/install
zeo-address = 8100



The 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 zope2instance part, you can use ${zope2:location} for this parameter.


The path to the 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/”. Set this option to an empty value if you do not want this script to be generated.


A 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.


Give a port for the ZEO server. Defaults to 8100.


The name of the effective user for the ZEO process. Defaults to not setting an effective user.


The invalidation-queue-size used for the ZEO server. Defaults to 100.


The filename of the ZEO log file. Defaults to var/log/${partname}.log


The number used to identify a storage.


The filename where the ZODB data file will be stored. Defaults to var/filestorage/Data.fs.


The folder where the ZODB blob data files will be stored.


The filename where ZEO will write its socket file. Defaults to var/zeo.zdsock.


Give additional lines to zeo.conf. Make sure you indent any lines after the one with the parameter.

Reporting bugs or asking questions

We have a shared bugtracker and help desk on Launchpad:

Change History


  • Added invalidation-queue-size and storage-number options. [hannosch]

  • Merged rochael-blobsupport branch. Added support for ZODB 3.8 blob storage configuration. This adds the blob-storage option. This closes [rochael, hannosch]

  • Renamed zope-conf-additional option to zeo-conf-additional. [rochael]


  • Small 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]


  • Change default location of zeo socket to var. [smcmahon]

  • Add option to set socket-name. [smcmahon]


  • Move the documentation to a separate README.txt and read that from [wichert]

  • Add a wrapper around zeopack which inserts default options for our ZEO server. [wichert]


  • Added an option to set the effective-user. [optilude]


  • Updated [optilude]


  • Similarly, 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]


  • Initial implementation. [regebro, hannosch]

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plone.recipe.zope2zeoserver-0.9.tar.gz (8.5 kB view hashes)

Uploaded Source

Built Distribution

plone.recipe.zope2zeoserver-0.9-py2.4.egg (14.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page