Building and installing Zope from source
----------------------------------------

  This document describes building and installing Zope on Unix.
  We will provide Windows instructions in later releases. We
  will also provide binary releases for some platforms.

Important notes

   ZOPE 2.6 REQUIRES PYTHON 2.1.X!

   Note: Using Python 2.2 is not recommended and not supported.

   See CHANGES.txt for important notes on Zope 2.6.


Quick Start

  If you are impatient, the following commands should get you up and
  running with Zope 2 using ZServer and ZODB 3 on Unix::

    python w_pcgi.py  # Note, this must be Python 2.1
    ./start

  The first command builds and adjusts Zope.  Take note of the user
  name and password output at the end of this command.  You will need
  these to manage Zope.

  If you get errors indicating that addresses are in use, then you
  will have to supply arguments to z2.py to change the ports used for
  HTTP or FTP. The default HTTP and FTP ports used by ZServer are 8080
  and 8021 respectively. (See the help for the z2.py script by running
  z2.py with the -h option for more information on how to specify
  different ports)

  You can then connect to Zope 2 by directing your browser to::

     http://yourhost:8080/manage

  where yourhost is the name or address of the machine running Zope 2.
  If you changed the HTTP port with the -w option to z2.py, then use
  it rather than 8080.

  You will be prompted for a user name and password. Use the user name
  and password output above.

  Now you're off and running! You should be looking at the Zope management
  screen which is divided into two frames. On the left you can navigate
  between Zope object and on the right you can edit them by selecting
  different management functions with the tabs at the top of the frame.
  
  If you haven't used Zope before, you should head to the Zope web site
  and read some documentation. The Zope Manager's Guide is a good place
  to start. You can access the Zope site at:
  
    'http://www.zope.org/'
  
  Have fun!

Building Zope
  
  There are some python scripts in the top-level directory that should
  help you get started. You must run these scripts from the top-level
  directory.

  If you want to try out Zope in the simplest fashion using ZServer,
  then run the script wo_pcgi::

    python wo_pcgi.py

  If you want to use PCGI and an existing web server run w_pcgi::

    python w_pcgi.py

  Notes
  
    * You should be using Python 2.1 to run the build scripts.

    * The python you run Zope with *must* have threads compiled in,
      which is *not* the case for a vanilla build.  When you build the
      python you'll use, 'configure --with-threads' does the right thing.
      Warning: Zope will not run with a Python version that uses libpth.
      You *must* use libpthread.

    * To build python extensions you need to have Python configuration
      information available. If your Python comes from an RPM you may need
      the python-devel package installed too. If you built Python from source
      all the configuration information should already be there.

    * If you just want to use Zope components it's not necessary to build Zope
      but it's a good idea since it will compile Python C extensions for you.

    * You can use PCGI and an existing web server if you use ZServer.

Starting Zope with an existing web server

  See the WEBSERVERS.txt file for more information about configuring Zope
  with an existing web server. See also the pcgi/README file for further
  informations on the installation of PCGI.

Running Zope

  There are two ways to run Zope:

  - You can use ZServer, the integration of Zope and Medusa.  You must
    use ZServer if you want to use multiple concurrent threads.
    ZServer is a server application that supports multiple protocols:

      o HTTP -- ZServer is a Web server

      o FTP -- ZServer is a file-transfer protocol server.  This
        allows you to use FTP-enabled publishing systems with Zope.

      o PCGI -- PCGI is a lightweight protocol for forwarding
	requests from other web servers, like Apache or Netscape, to
	Zope. This makes it possible to use web server features like
	connection encryption or logging with Zope.

      o monitor -- ZServer has the capability to allow you to access
        the Python interpreter directly over a network channel.  If
        you intend to use this, please read the 'DEBUGGING.txt'
        document for more information.

    With ZServer, you must start Zope manually using the z2.py script.
    Typically, the command used to run the z2.py script will be put in
    system startup scripts.

    ZServer is the prefered way to run Zope.

  - If you *only* want to use PCGI and you don't need multi-threaded
    operation, you can have a special program, the pcgi_publisger,
    start Zope for you.  See the WEBSERVER.txt file for details on
    using Zope with an existing webserver.

  If you wish to enable Zope logging you must specify options on the
  command line.  See LOGGING.txt in the doc directory.


