Joe, Have you managed to follow your tutorial with Plone 4.0 (final)? I couldn't install the ZEO services. Take a look at https://dev.plone.org/plone/ticket/11056 and look at the error messages I posted there. Do you have any suggestions?
Alberto On Mon, Sep 6, 2010 at 4:21 PM, Joe Bigler <[email protected]> wrote: > > Thanks Maurits > > I finally figured it out. Here's what I found. > > Installing ZEO on Windows using Buildout on Plone 4 > > Installing ZEO on Windows is different than using the Unified Installer. > There is currently no option to choose a ZEO install. If you want to > install ZEO when you install Plone 4, this how-to describes a way to do > this. > First, you need a working Plone 4 install so install Plone 4 using the > Windows installer. If you have already installed it and made changes, the > process is the same. The only file you need to change is buildout.cfg. > > Buildout.cfg > Add Ports. > > Look for the area in the [Buildout] section labeled Ports. The default is: > ############################################ > # Ports > # ----- > # Specify the ports on which your Zope installation > # will listen. > http-address = 8080 > > Change it to this: > > ############################################ > # Ports > # ----- > # Specify the ports on which your Zope installation > # will listen. > # ZEO Server > zeo-address = 127.0.0.1:8100 > # Zope client 1 > http-address = 8080 > # Zope client 2 > client2-address = 8081 > > Add Parts > At the end of the [buildout] sections is the Parts section. Add zeoserver, > client1, and client2. Here’s an example: > ############################################ > # Parts Specification > # ------------------- > # Specifies the components that should be included in the buildout. > # All the basics are in the base.cfg extension; you may add your > # own if you need them at the end of this file. > parts = > zeoserver > client1 > client2 > zopepy > zopeskel > backup > unifiedinstaller > controller > productdistros > > Replacing Instance with ZEO server and 2 clients. > > After the [buildout] section, there is a section named [instance]. Replace > this with 3 sections: [zeoserver], [client1], and [client2]. Here is an > example: > > [zeoserver] > # Use this section to install and configure a Zope > # Enterprise Objects server. > # For options see http://pypi.python.org/pypi/plone.recipe.zeoserver > recipe = plone.recipe.zeoserver > zeo-address = ${buildout:zeo-address} > # Put the log, pid and socket files in var/zeoserver > zeo-log = ${buildout:directory}/var/zeoserver/zeoserver.log > pid-file = ${buildout:directory}/var/zeoserver/zeoserver.pid > socket-name = ${buildout:directory}/var/zeoserver/zeo.zdsock > blob-storage = ${buildout:directory}/var/blobstorage > > [client1] > # Use this section to install and configure a Zope > # client instance. > # For options see http://pypi.python.org/pypi/plone.recipe.zope2instance > recipe = plone.recipe.zope2instance > zeo-client = true > zeo-address = ${zeoserver:zeo-address} > # The line below sets only the initial password. It will not change an > # existing password. > user = ${buildout:user} > http-address = ${buildout:http-address} > blob-storage = ${zeoserver:blob-storage} > shared-blob = on > # change debug-mode to "on" to run in development mode > debug-mode = ${buildout:debug-mode} > # change verbose-security to "on" for detailed security > # errors while developing > verbose-security = ${buildout:verbose-security} > deprecation-warnings = ${buildout:deprecation-warnings} > # Put the log, pid, lock files in var/client1 > event-log = ${buildout:directory}/var/client1/event.log > z2-log = ${buildout:directory}/var/client1/Z2.log > pid-file = ${buildout:directory}/var/client1/client1.pid > lock-file = ${buildout:directory}/var/client1/client1.lock > > # If you want Zope to know about any additional eggs, list them here. > # e.g. eggs = ${buildout:eggs} my.package > eggs = > ${buildout:eggs} > > # If you want to register ZCML slugs for any packages, list them here. > # e.g. zcml = my.package my.other.package > zcml = > ${buildout:zcml} > > products = > ${buildout:directory}/products > > # You may also control the environment variables for the instance. > environment-vars = > PYTHON_EGG_CACHE ${buildout:directory}/var/.python-eggs > > [client2] > # a copy of client1, except adjusted address and var location > <= client1 > http-address = ${buildout:client2-address} > event-log = ${buildout:directory}/var/client2/event.log > z2-log = ${buildout:directory}/var/client2/Z2.log > pid-file = ${buildout:directory}/var/client2/client2.pid > lock-file = ${buildout:directory}/var/client2/client2.lock > > Adding additional clients. > The section [client2] is much shorter than [client1]. That is because the > line > <=client1 > copies all of the [client1] code into the [client2] section. The rest of > [client2] just overrides the values from [client1] with values that will > work with [client2] > > To create additional clients, copy [client2] and change its values. Here > is > an example for [client3]: > > [client3] > # a copy of client1, except adjusted address and var location > <= client1 > http-address = ${buildout:client3-address} > event-log = ${buildout:directory}/var/client3/event.log > z2-log = ${buildout:directory}/var/client3/Z2.log > pid-file = ${buildout:directory}/var/client3/client3.pid > lock-file = ${buildout:directory}/var/client3/client3.lock > > You also need to add the client3-address to the [buildout] section, > > # Zope client 3 > client3-address = 8082 > > and add client3 to the Parts Specification > > When you are finished, run > .\bin\buildout -n > > > Windows Services > > At this point, you will have only one Windows service, created for the > instance when you installed Plone 4. You will need several Windows > services, depending on the number of clients you have created. You will > need one for the ZEO server and one for each client. You can remove the > original service created when you installed Plone 4. > > To add a Windows service for the ZEO server, open a Windows Command Prompt > and go to the bin directory. Run this command: > > C:\Program Files\Plone\bin>zeoserver_service install > Installing service ZEO_698716265 > Service installed > Install a Windows service for each of the clients: > > C:\Program Files\Plone\bin>client1 install > Installed Zope as Windows Service "Zope691475530". > > C:\Program Files\Plone\bin>client2 install > Installed Zope as Windows Service "Zope691475531". > > Note: The numbers after ZEO or Zope will depend on your machine and may > differ from this example. > > When you installed Plone 4, it created a Windows service for the instance. > You no longer need this service. To remove it, use this command: > > C:\Program Files\Plone\bin>instance remove > Removed Windows Service "Zope-372241316". > > Running Plone with ZEO > > To run ZEO, start the ZEO service and each of the client services. > > To view Plone, go to an http address for one of the clients. If you have 2 > ZEO clients, either of these addresses will work if you used the ports > listed in the example. > > http://localhost:8080/ > > http://localhost:8081/ > > Useful Batch files. > > If you want to start and stop the services, you can use the Services > Management Console in Windows. If you are working on the file system, you > might find these batch files useful. Create a .bat file for each of the > following examples and place them in the bin directory. > > ZEOStartAll.bat > > REM This file will start the ZEO server and 2 clients. Add more clients > if > necessary. > zeoserver_service start > plonectl client1 start > plonectl client2 start > > pause > > ZEOStopAll.bat > > REM This file will stop the ZEO server and 2 clients. Add more clients if > necessary. > > plonectl client2 stop > plonectl client1 stop > zeoserver_service stop > > pause > > ZEOAllRestart.bat > > REM This file will restart the ZEO server and 2 clients. Add more clients > if necessary. > > plonectl client2 stop > plonectl client2 start > plonectl client1 stop > plonectl client1 start > zeoserver_service restart > > pause > > Batch.cfg > > Here is a complete batch.cfg file that uses 2 ZEO clients: > > ############################################ > # > # Buildout Configuration File for ZEO Plone > # ----------------------------------------- > # > # After making changes in this configuration file, > # you should run bin/buildout to update the components. > # > # ALWAYS back up all Plone/Zope data and components > # before changing configuration. > # > # Running "bin/buildout" will update your installation, > # installing missing components as necessary. > # > # Use "bin/buildout -n" to update many components here to the newest > # available releases. > # This will update the add-on products you've added in the eggs= lines. > # This will not, however, upgrade Plone itself (or anything else you've > # pinned with a version specification). To upgrade Plone itself, see the > # comments in "Plone Component Versions". > # > # Tutorial instructions for using zc.buildout for > # configuration management are available at: > # http://plone.org/documentation/tutorial/buildout > # Full details at http://pypi.python.org/pypi/zc.buildout > # > ############################################ > > [buildout] > > ############################################ > # Plone Component Versions > # ------------------------ > # This version of the UnifiedInstaller has the components > # of Plone 4 preloaded so that it can install without > # an Internet connection. > # If you want to update, uncomment the "extends = http://..." below, > # edit it to point to the current version URL, > # comment out the "extends = versions.cfg" line > # and run "bin/buildout -n" while attached to the Internet. > # Generally, you only want to do that as part > # of a planned migration. > # > extends-cache = buildout-cache/extends > extends = > base.cfg > versions.cfg > > ############################################ > # Ports > # ----- > # Specify the ports on which your Zope installation > # will listen. > # ZEO Server > zeo-address = 127.0.0.1:8100 > # Zope client 1 > http-address = 8080 > # Zope client 2 > client2-address = 8081 > > ############################################ > # Eggs > # ---- > # Add an indented line to the eggs section for any Python > # eggs or packages you wish to include. > # > eggs = > Plone > > # Alpha note: many of the products below are not yet > # adapted to Plone 4. > # > # Optional Functionality > # ---------------------- > # Uncomment the indented lines to include these products. > # Documentation on all of them, along with many more products, > # is available at > # http://plone.org/products/ > # > # Commonly used products: > # * LinguaPlone provides tools for building multi-lingual sites > # * Products.CacheSetup adds the "CacheFu" Plone speedup kit > # * PloneHelpCenter is a simple knowledge base > # * PloneFormGen provides through-the-web form building > # > # Products.LinguaPlone > # Products.CacheSetup > # Products.PloneHelpCenter > # Products.PloneFormGen > # > # Commonly used development tools: > # * Clouseau uses AJAX to provide a Python prompt inside Plone > # * DocFinderTab puts an object documentation inspector in the Zope > Management Interface > # * Gloworm is a Firebug-like viewlet inspector and customizer > # * plone.reload allows you to refresh Python code and ZCML configuration > # without restarting Zope. Note that to use plone.reload, you'll also > # need to uncomment the "zcml" entry for it below. > # > # Products.Clouseau > # Products.DocFinderTab > # Products.Gloworm > # plone.reload > > ############################################ > # ZCML Slugs > # ---------- > # Some eggs need ZCML slugs to tell Zope to > # use them. This is increasingly rare. > zcml = > # plone.reload > > > ############################################ > # Development Eggs > # ---------------- > # You can use paster to create "development eggs" to > # develop new products/themes. Put these in the src/ > # directory. > # You will also need to add the egg names in the > # eggs section above, and may also need to add them > # to the zcml section. > # > # Provide the *paths* to the eggs you are developing here: > develop = > # src/my.package > > > ############################################ > # Debug Mode > # ---------- > # Change debug-mode to "on" to run in development mode. > # > debug-mode = off > # Add-on developers should turn deprecation warnings on > deprecation-warnings = off > # change verbose-security to "on" for useful security errors while > developing > verbose-security = off > > ############################################ > # Backup Directory > # ---------------- > # Sets the target directory for the bin/backup and bin/snapshotbackup > # commands. Default is inside this project's var directory, but ideally > # this should be on a separate volume or backup server. > # > backups-dir=${buildout:directory}/var > > ############################################ > # Initial User > # ------------ > # This is the user id and password that will be used to create the initial > # user id that will allow you to log in and create a Plone site. This only > # sets the initial password; it will not allow you to change an already > # existing password. If you change the admin password via the web > interface, > # the one below will no longer be valid. > # If you find yourself locked out of your Zope/Python installation, you may > # add an emergency user via "bin/plonectl adduser". > user=admin:admin > > ############################################ > # Parts Specification > # ------------------- > # Specifies the components that should be included in the buildout. > # All the basics are in the base.cfg extension; you may add your > # own if you need them at the end of this file. > parts = > zeoserver > client1 > client2 > zopepy > zopeskel > backup > unifiedinstaller > controller > productdistros > > [zeoserver] > # Use this section to install and configure a Zope > # Enterprise Objects server. > # For options see http://pypi.python.org/pypi/plone.recipe.zeoserver > recipe = plone.recipe.zeoserver > zeo-address = ${buildout:zeo-address} > # Put the log, pid and socket files in var/zeoserver > zeo-log = ${buildout:directory}/var/zeoserver/zeoserver.log > pid-file = ${buildout:directory}/var/zeoserver/zeoserver.pid > socket-name = ${buildout:directory}/var/zeoserver/zeo.zdsock > blob-storage = ${buildout:directory}/var/blobstorage > > [client1] > # Use this section to install and configure a Zope > # client instance. > # For options see http://pypi.python.org/pypi/plone.recipe.zope2instance > recipe = plone.recipe.zope2instance > zeo-client = true > zeo-address = ${zeoserver:zeo-address} > # The line below sets only the initial password. It will not change an > # existing password. > user = ${buildout:user} > http-address = ${buildout:http-address} > blob-storage = ${zeoserver:blob-storage} > shared-blob = on > # change debug-mode to "on" to run in development mode > debug-mode = ${buildout:debug-mode} > # change verbose-security to "on" for detailed security > # errors while developing > verbose-security = ${buildout:verbose-security} > deprecation-warnings = ${buildout:deprecation-warnings} > # Put the log, pid, lock files in var/client1 > event-log = ${buildout:directory}/var/client1/event.log > z2-log = ${buildout:directory}/var/client1/Z2.log > pid-file = ${buildout:directory}/var/client1/client1.pid > lock-file = ${buildout:directory}/var/client1/client1.lock > > # If you want Zope to know about any additional eggs, list them here. > # e.g. eggs = ${buildout:eggs} my.package > eggs = > ${buildout:eggs} > > # If you want to register ZCML slugs for any packages, list them here. > # e.g. zcml = my.package my.other.package > zcml = > ${buildout:zcml} > > products = > ${buildout:directory}/products > > # You may also control the environment variables for the instance. > environment-vars = > PYTHON_EGG_CACHE ${buildout:directory}/var/.python-eggs > > > [client2] > # a copy of client1, except adjusted address and var location > <= client1 > http-address = ${buildout:client2-address} > event-log = ${buildout:directory}/var/client2/event.log > z2-log = ${buildout:directory}/var/client2/Z2.log > pid-file = ${buildout:directory}/var/client2/client2.pid > lock-file = ${buildout:directory}/var/client2/client2.lock > > [versions] > Cheetah = 2.2.1 > Paste = 1.7.4 > PasteDeploy = 1.3.3 > PasteScript = 1.7.3 > ZopeSkel = 2.17 > collective.buildout.cluster = 0.6 > collective.recipe.backup = 1.4 > distribute = 0.6.10 > iniparse = 0.3.1 > plone.controller = 1.8 > plone.recipe.command = 1.1 > plone.recipe.distros = 1.5 > plone.recipe.unifiedinstaller = 4.0rc1 > plone.recipe.zope2instance = 4.0.3 > > > > > > -- > View this message in context: > http://plone.293351.n2.nabble.com/buildout-cfg-for-Plone-4-0rc1-tp5449009p5504133.html > Sent from the Installation, Setup, Upgrades mailing list archive at > Nabble.com. > _______________________________________________ > Setup mailing list > [email protected] > http://lists.plone.org/mailman/listinfo/setup >
_______________________________________________ Setup mailing list [email protected] http://lists.plone.org/mailman/listinfo/setup
