ZServer Installation
--------------------

Requirements

  ZServer comes with Zope 2. Though ZServer can be used with earlier
  versions of Zope, this is not supported and not covered by this
  document.

Configuration

  To run ZServer you simply execute the z2.py start script which is
  located in your Zope directory. You can pass commandline arguments
  to the start script in order to run Zope with different options. In
  order to see a list of options use the '-h' help option.
  
  Here's an example of use::
  
    $ python1.5.2 z2.py -w 8888 -f "" -p "" -m "" &
    
  This example starts Zope using a web server on port 8888. It does
  not start and FTP server, or a PCGI server, or a Monitor server. It
  also starts the server running in the backaground.
  
Shell scripts and batch files  
  
  You may also wish to create a shell script (or batch file under
  win32) to set environment variables (such as ZOPE_DEBUG_MODE and
  PYTHONHOME) and run the start script. 
  
  Here's an example shell script for a binary Zope release::
  
    ZOPE_DEBUG_MODE=1
    export ZOPE_DEBUG_MODE
    PYTHONHOME=/home/Zope
    export PYTHONHOME
    /home/Zope/bin/python /home/Zope/z2.py -w 9673 &
  
  Note: If ZServer fails because it can't find some standard Python
  libaries there's a good bet that you need to set the PYTHONHOME as
  shown above.
  
  Here's an example batch file::
  
    set ZOPE_DEBUG_MODE=1
    "\Program Files\Zope\bin\python"  "\Program Files\Zope\z2.py -w
    8888 -f 8021"
  
  Now you're ready to go.  

Starting ZServer

  To start ZServer run the start script::
  
    $ python1.5.2 z2.py
    
  To stop the server type 'control-c'.

  Note: If you've created a shell script or batch file to run ZServer
  use that instead.

  You should see some Medusa information come up on the screen as Zope
  starts.
  
  A log file will be written to the 'var' directory, named
  'Z2.log' by default.

Using ZServer

  Once you start ZServer is will publish Zope (or any Python module)
  on HTTP and/or FTP. To access Zope via HTTP point your browser at
  the server like so::
  
    http://www.example.com:9673/
    
  This assumes that you have chosen to put HTTP on port 9673 and that
  you are publishing a module named whose URL prefix is set to ''.
  
  Note: to publish Zope normally you publish the 'lib/python/Zope.py'
  module.

  To access Zope via FTP you need to FTP to it at the port you set FTP
  to run on. For example::
  
    ftp www.example.com 9221

  This opens a FTP session to your machine on port 9221, ZServer's
  default FTP port. When you are prompted to log in you should supply
  a Zope username and password. (Probably you should use an account
  with the 'Manager' role, unless you have configured Zope to allow
  FTP access to the 'Anonymous' role.) You can also enter 'anonymous'
  and any password for anonymous FTP access. Once you have logged in
  you can start issuing normal FTP commands.
  
  Right now ZServer supports most basic FTP commands.
  
  Note: When you log in your working directory is set to '/'. If you
  do not have FTP permissions in this directory, you will need to 'cd'
  to a directory where you have permissions before you can do
  anything. See above for more information about logging into FTP.

Advanced Usage: zdaemon.py and the Zope NT service.

  One problem you may notice with ZServer is that once the server is
  shutdown, either through the web management interface, or by some
  other means, it will not automatically be restarted.
  
  On Unix you can use zdeamon.py to keep Zope running. Specifying
  the '-Z' switch when starting Zope runs zdaemon.py. Zdeamon
  will restart Zope when it Zope is restarted through the web, and in
  case of an unexpected error.
  
  On NT, use the Zope service for the same functionality. See ZServer.py
  for more information on running ZServer as a service.

Where to go from here

  Check out the README.txt file. It contains information on what
  ZServer can do, how it works and and what you can do if you run into
  problems.
  
  And don't forget to have fun!
  
