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.

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 a 
  Python web server, 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 1.5.1 to run the build scripts.

    * 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 RPM 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.


Setting the Zope "super manager" name and password

  Because Zope is managed through the web, user names and passwords must be
  used to assure that only authorized people can make changes to a Zope
  installation.  User names and passwords are normally defined by creating
  and modifying user folders within Zope.

  A special "super manager" user name and password are defined outside
  the application for two reasons
 
    * Some user name and password are needed to enable creation of
      initial normal managers of your Zope site.

    * The "super manager" provides an all-powerful user that can do
      anything in the application and whose password cannot be changed
      through the application user interface.

  This user name and password is defined in the 'access' file located
  in the Zope directory. It should be readable only by the user
  as which your web server runs.

  The super manager username and password should only be used when
  defining the normal management users and passwords and when dealing
  with unusual situations, like lost (or hacked) manager user names and
  passwords.

  The access file should consist of a single line of the form:

    name:password

  The build scripts automatically create an 'access' file for you, 
  using a default username and password of:

    superuser:123

  It is *highly recommended* that you change the default super manager 
  name and password by editing your 'access' file after running the
  build script. When you begin managing your Zope installation you
  will need to enter the superuser name and password when prompted.

  Note that you may also add an optional third component to the line
  in the access file to restrict super manager access by domain. 
  For example, the line:

    mario:nintendoRules:*.mydomain.com
 
  in your 'access' file will only allow super manager access to your 
  installation from *.mydomain.com machines. Attempts to access the
  system from other domains will fail, even if the correct superuser
  name and password are used.

Setting permissions ons on the var directory.

  You need to set permissions on the Zope var directory.
  Zope needs to read and write data from its var directory. Before
  running Zope you should ensure that you give adequate permissions
  to the Zope var directory for the userid Zope will run under.

  Depending on how you choose to run Zope you will need to give different
  permissions to the var directory. For example if you are using
  ZopeHTTPServer which normally runs as your userid, you need only ensure
  that your userid has read and write permissions to the var directory.
  If you use Zope with an existing web server, it will probably run Zope
  as 'nobody'. In this case 'nobody' needs read and write permissions to
  the var directory.

  If you change the way you run Zope you may need to modify the permissions
  of the var directory and the files in it to allow Zope to read and write
  under its changed userid.


Using Zope with ZopeHTTPServer

  ZopeHTTPServer is a simple web server written in Python and it
  allows you to run Zope without using PCGI and another web server.
  The build script automatically creates a shell script named 'start'
  which will run the built-in server. To start Zope using ZopeHTTPServer 
  cd to the Zope directory and issue the command::

    ./start


Starting Zope with an existing web server

  See the WEBSERVERS.txt file for more information about configuring Zope
  with an existing web server.

  
Accessing Zope through the web
  
  After you either start ZopeHTTPServer or set up Zope with your web server
  you should be able to start using Zope through the web. Point your browser
  to either:
  
    'http://localhost:9673/manage'
  
  if you are using ZopeHTTPServer or whatever the relevant URL is, if
  you are using PCGI. If you're using PCGI make sure to tack '/manage'
  on after the name of the Zope CGI script so that you go to the
  management screen. For example the URL may be something like:
 
    'http://localhost/cgi-bin/Zope.cgi/manage' 
 
  You will be prompted to enter a user name and a password. Enter the
  super user name and password you specified in the access file.
  
  Now your 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!
