[Zope] ZEO

Dunigan, Craig craig.dunigan@esker.com
Tue, 17 Apr 2001 11:07:31 -0500


Copy the files from lib/python/ZEO/misc (except the readme) into your Zope
root.  Edit 'custom_zodb.py', changing the line 

if 0: # Change the 0 to 1 to enable!

to 

if 1: # Change the 0 to 1 to enable!

and the lines 

Storage=ZEO.ClientStorage.ClientStorage(
os.path.join(INSTANCE_HOME, 'var', 'zeo.soc'),
# If no name is given, then connection info will be shown:
name="ZEO Storage",
# You can specify the storage name, which defaults to "1":
)                                                                      

to 

Storage=ZEO.ClientStorage.ClientStorage(
connection=("xxx.xxx.xxx.xxx", 8800),
# os.path.join(INSTANCE_HOME, 'var', 'zeo.soc'),
# If no name is given, then connection info will be shown:
name="ZEO Storage",
# You can specify the storage name, which defaults to "1":
storage="1",
)

where xxx.xxx.xxx.xxx is the IP address of your ZEO server.  It's apparently
possible to do this using Unix sockets as well, but I don't know how! :)

Edit 'start_zeo', changing the lines

exec python $reldir/lib/python/ZEO/start.py \
   -U $reldir/var/zeo.soc \

to 

exec python $reldir/lib/python/ZEO/start.py -p 8800 \
#   -U $reldir/var/zeo.soc \

You can change the port number '8800' if you choose, as long as it's the
same everywhere and doesn't conflict with another port.  After editing, make
'start_zeo' and 'stop_zeo' executable.  Since I'm not using sockets, I
simply comment those lines out.

At my site, I run Zope under the username 'zope', but I start it as root, so
my Zope 'start' script looks like this:

#! /bin/sh
reldir=`dirname $0`
PYTHONHOME=`cd $reldir; pwd`
export PYTHONHOME
exec /path-to-zope/bin/python \
     $PYTHONHOME/z2.py \
     "$@" -u zope -w 80 -f 21 \
     ZEO_CLIENT=8800

The last line is the only thing relevant to ZEO.  Add it to your 'start'
script, and you should be fine.  Start ZEO first with 'start_zeo' run as
zope, then start Zope with 'start' run as root.  Modify the usernames to fit
your installation.

You can verify that everyone is running properly and talking to each other
by starting Zope on each server with the -D switch.  That'll send startup
and failure messages to the console, instead of detaching the process.
There are some startup messages verifying that Zope has connected to its
storage, that'll be your cue that all is well.  Don't run Zope in production
with the -D switch, though.  

Hope this helps!

Craig Dunigan
Web Programmer
Esker Software - Extending the Reach of Information
mailto:craig.dunigan@esker.com
Ph. 608.273.6000
Fax 608.273.8227
http://www.esker.com

> -----Original Message-----
> From: Fritz Mesedilla [mailto:fritz.mesedilla@summitmedia.com.ph]
> Sent: Tuesday, April 17, 2001 7:03 AM
> To: zope@zope.org
> Subject: [Zope] ZEO
> 
> 
> 
> Please help!
> 
> How do I start Zope as a client?
> 
> And how do I make sure the other server is successful in 
> running the ZEO
> server? I can only see two lines of processes.
> 
> Thanks in advance.
> 
> Fritz Mesedilla
> Systems Administrator
> 
> "Ooops! Save your work, everyone. FAST!"
> --------------------------------------------------------------
> --------------
> Summit Interactive, Inc.
> 
> http://www.femalenetwork.com | http://www.candymag.com
> http://www.fhm.com.ph | http://www.cosmo.com.ph
> 
> FHM | Seventeen | Candy | Cosmopolitan | Preview | Good Housekeeping
> --------------------------------------------------------------
> --------------
> email: fritz@mesedilla.com   icq#: 23476449   yahoo id: fritzcm
> http://www.fritzmesedilla.net and http://www.fritz.iscute.com
> --------------------------------------------------------------
> --------------
> +Basta Ikaw Lord
> 
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
>