[Repoze-dev] Plone on repoze + configuration details
Paul Everitt
paul at agendaless.com
Mon Sep 24 11:57:30 UTC 2007
This worked for me.
I tried installing CMF 2.1 from the tarball and got this on startup:
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/Users/
paul/tmp/repoze/repoze.zope2/repodemo/etc/site.zcml", line 11.2-11.39
IOError: [Errno 2] No such file or directory: '/Users/paul/tmp/
repoze/repoze.zope2/repodemo/Products/CMFCore/Products/CMFCore/
meta.zcml'
I installed the same packages in a Zope 2.10.4 install and things
worked ok.
--Paul
On Sep 23, 2007, at 10:52 AM, Chris McDonough wrote:
> The general dance right now is to check out repoze.zope2 (or just
> update it if you already have it checked out):
>
> $ cvs -d :ext:repoze at repoze.org:/home/repoze/cvs co repoze.zope2
>
> Then use the "setup.py sandbox" command to make a sandbox:
>
> $ cd repoze.zope2
> $ python setup.py sandbox --path=/path/to/a/sandbox/dir
>
> Then cd to /path/to/a/sandbox/dir and run:
>
> $ bin/addzope2user admin admin
> $ bin/paster serve etc/zope2.ini
>
> And log in as admin. More info is in the README.txt file that
> ships with repoze.zope2.
>
> - C
>
>
> On Sep 23, 2007, at 10:47 AM, Paul Everitt wrote:
>
>>
>> This is cool news!
>>
>> Is it to the point yet that I should give things a try and see if
>> I can document it for morons like me?
>>
>> --Paul
>>
>> On Sep 23, 2007, at 4:08 AM, Chris McDonough wrote:
>>
>>> Plone running on top of the "repoze.zope2" (aka z2bob) package:
>>>
>>> http://www.repoze.org/tmp/plone
>>>
>>> I set it up so you can join and whatnot, although (as belied by
>>> the URL name) this is just temporary. In cursory clicking-around
>>> investigation, it seems to mostly work; I got one traceback from
>>> attempting to respond to the "activation" method in the email
>>> which I haven't investigated yet.
>>>
>>> This is Apache + mod_wsgi + repoze.zope2 (unreleased) + Zope
>>> 2.10.4/ZEO + Plone 3.0.1.
>>>
>>> The following Apache configuration:
>>>
>>> """
>>> WSGIPythonExecutable /home/repoze/tmp/site/bin/python
>>> WSGIDaemonProcess tmp threads=1 processes=4 maximum-requests=10000
>>>
>>> <Directory /home/repoze/tmp/site/etc>
>>> Order deny,allow
>>> Allow from all
>>> </Directory>
>>>
>>> <VirtualHost *:80>
>>> DocumentRoot /home/repoze/www/www.repoze.org
>>> ServerName www.repoze.org
>>> ScriptAlias /viewcvs "/usr/lib/cgi-bin/viewcvs.cgi"
>>> ServerAdmin repoze-dev at repoze.org
>>> WSGIScriptAlias /tmp /home/repoze/tmp/site/etc/zope2.wsgi
>>> WSGIProcessGroup tmp
>>> WSGIPassAuthorization On
>>> SetEnv HTTP_X_VHM_HOST http://www.repoze.org/tmp
>>> </VirtualHost>
>>> """
>>>
>>> I guess the sort of configuration we'll end up with as a
>>> deployment target. It runs four single-threaded Python
>>> processes, each of which is essentially running Zope courtesy of
>>> repoze. mod_wsgi communicates with each of the processes via
>>> pipes.
>>>
>>> The zope2.wsgi wrapper is:
>>>
>>> """
>>> import os
>>> from paste.deploy import loadapp
>>>
>>> ini = os.path.join(os.path.abspath(os.path.dirname(__file__)),
>>> 'zope2.ini')
>>> application = loadapp('config:%s' % ini)
>>> """
>>>
>>> The zope.conf is:
>>>
>>>
>>> """
>>> %define INSTANCE /home/repoze/tmp/site
>>> %define LOGDIR $INSTANCE/logs
>>>
>>> instancehome $INSTANCE
>>> products $INSTANCE/Products
>>> debug-mode on
>>>
>>> <eventlog>
>>> level info
>>> <logfile>
>>> path STDERR
>>> level info
>>> </logfile>
>>> </eventlog>
>>>
>>> <logger access>
>>> level WARN
>>> <logfile>
>>> path STDERR
>>> format %(message)s
>>> </logfile>
>>> </logger>
>>>
>>> <zodb_db temporary>
>>> mount-point /temp_folder
>>> <temporarystorage>
>>> name sessions
>>> </temporarystorage>
>>> container-class Products.TemporaryFolder.TemporaryContainer
>>> </zodb_db>
>>>
>>> <zodb_db main>
>>> mount-point /
>>> <zeoclient>
>>> server 127.0.0.1:8100
>>> cache-size 10MB
>>> storage 1
>>> name zeostorage
>>> var $INSTANCE/var
>>> </zeoclient>
>>> </zodb_db>
>>> """
>>>
>>> And the paste pipeline looks like this:
>>>
>>> """
>>> [DEFAULT]
>>> debug = True
>>>
>>> [app:zope2]
>>> paste.app_factory = repoze.obob.publisher:make_obob
>>> repoze.obob.get_root = repoze.zope2.z2bob:get_root
>>> repoze.obob.initializer = repoze.zope2.z2bob:initialize
>>> repoze.obob.helper_factory = repoze.zope2.z2bob:Zope2ObobHelper
>>> zope.conf = %(here)s/zope.conf
>>>
>>> [pipeline:main]
>>> pipeline = egg:Paste#cgitb egg:Paste#httpexceptions
>>> egg:repoze.retry#retry
>>> egg:repoze.tm#tm egg:repoze.vhm#vhm_xheaders zope2
>>> """
>>>
>>> We get about 100 requests/sec against the Zope Quickstart page
>>> from this configuration, which is about equivalent to plain-old-
>>> Zope running via ZServer on the same box.
>>>
>>> We had planned to creating a "repoze.z2compat" package, which
>>> would be a WSGI application that foregoes repoze.obob and uses
>>> the Zope request traverse method to do object traversal. But if
>>> it turns out that Plone runs well enough on top of "z2bob" we
>>> might not have to do that.
>>>
>>> Anyway, I think if we can figure out the intermittent skins
>>> problem I mentioned under the development server (which still
>>> seems to exist under the "zserver" server I created), I think we
>>> can probably start to package things up in anger.
>>>
>>> - C
>>>
>>> _______________________________________________
>>> Repoze-dev mailing list
>>> Repoze-dev at lists.repoze.org
>>> http://lists.repoze.org/mailman/listinfo/repoze-dev
>>
>
_______________________________________________
Repoze-dev mailing list
Repoze-dev at lists.repoze.org
http://lists.repoze.org/mailman/listinfo/repoze-dev
More information about the Repoze-dev
mailing list