Zope: ZEO-Client/Server mit Buildout einrichten
Ein Plone3 Buildout erstellen und als ZEO-Client/Server konfigurieren.
Plone3 Buildout erzeugen
Wie üblich, erzeugen wir uns mit paster create ein plone3_buildout.
paster create -t plone3_buildout
Beantworten die Fragen und führen danach python bootstrap, im von paster erzeugtem Verzeichnis aus. Wenn wir jetzt buildout mit ./bin/buildout ausführen erhalten wir eine Zope Umgebung ohne ZEO-Client/Server.
ZEO-Client/Server einrichten
Nachdem das Plone 3-buildout erstellt wurde, wird die buildout.cfg um einen zeoserver-Abschnitt erweitert. Für die Erzeugung eines ZEO-Servers steht das recipe plone.recipe.zope2zeoserver im PyPI zur verfügung. Dort befindet sich auch die Dokumentation der möglichen Parameter für den zeoserver-Abschnitt in der buildout.cfg.
Die Grundkonfiguration sieht in etwas wie folgt aus:
[zeoserver]
recipe = plone.recipe.zope2zeoserver
zope2-location = ${zope2:location}
zeo-address = 8200
Der Abschnitt [zeoserver] in der buildout.cfg muss nun unter "parts" im Abschnitt [buildout] hinzugefügt werden, um diesen zu aktivieren.
[buildout]
parts =
zope2
zeoserver
productdistros
instance
zope
Nach dem ausführen von builout ist der ZEO-Server betriebsbereit und kann von ZEO-Clients als Storage verwendet werden.
ZEO-client einrichten
Um eine Instanz in einem Plone3 Buildout als ZEO-Client zu betreiben, sind folgende Anpassungen notwendig.
[instance]
zeo-client = on
Sofern man beim ZEO-Server einen anderen Port oder eine IP-Adresse als die default Werte localhost:8100 verwendet, müssen diese Parameter der Instanz (dem ZEO-client) wie folgt mitgeteilt werden.
zeo-address = 8200
oder
zeo-address = zeoserver.lan:8200
buildout ausführen, ZEO-Server und ZEO-Clients starten
Nachdem die buildout.cfg bearbeitet wurde, führt man bin/buildout aus und startet den ZEO-Server und -Client.
patrick@athene:~/dev/venv_zeo/zope/plone3.2.2$ bin/buildout
Getting distribution for 'plone.recipe.zope2zeoserver'.
...
Generated script '/home/patrick/dev/venv_zeo/zope/plone3.2.2/bin/zeopack'.
patrick@athene:~/dev/venv_zeo/zope/plone3.2.2$ bin/zeoserver start
. daemon process started, pid=8188
patrick@athene:~/dev/venv_zeo/zope/plone3.2.2$ bin/instance start
. daemon process started, pid=8193
patrick@athene:~/dev/venv_zeo/zope/plone3.2.2$

