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

Reply via email to