# Zope

Zope is an open source web server built on top of Python. It is most commonly used for the content management systems Plone and CPS and the enterprise resource planning system ERP5. This textbook will help you install and operate a Zope server.

## Installation

Zope Win32 binaries and source code can be downloaded at the Zope Website.

### Windows

From the above page, download the file Zope-x.x.x-x-win32-x86.exe, where "x.x.x-x" is the version of Zope you want, such as 2.7.2-0. When the file is finished downloading, execute it. An installer should begin running.
A welcome screen should pop up. Click "Next", and after reading the Zope Public License, click "Next" again. This brings you to a prompt asking you for a Zope site name. You can select any alphanumeric name you wish, although "Zope" is a reasonable default.
You will then be asked to confirm the installation directory (by default C:\Program Files\Zope), and select an administrator username and password. For security reasons, it is highly recommended that you change these from the initial settings, as the Zope administration interface can be accessed over the Internet!
After clicking "Next" on this final screen, Zope will install itself into the specified directory and ask whether you want it to run as a service or if you would like to start it manually. If the system is not Windows NT–based (this includes Windows 2000 and XP), the only choice will be to run it manually.

### Unix and Linux
#### Debian/Ubuntu using Debian packages

Get the zopex.x package, where "x.x" is the version of Zope.
After downloading and installing, there is no instance of Zope running or runnable yet; the Debian package provides a tool for configuring instances, dzhandle, which can be run from the shell. dzhandle can be used to make and remove Zope instances and to configure existing instances. To run it, you might need to be root.
To create a new instance, this syntax is used:
For further information, consult the dzhandle manpage.
This can be used to start an instance:

#### Building from source

After downloading the Zope source code, switch users to root using the su command. Change directories to the location in which you saved the archive, and untar the archive:
where "x.x.x-x" is the version of Zope you downloaded, such as 2.7.2-0.
Change into the directory created by the archive extraction (usually Zope-x.x.x-x) and run the ./configure script. Assuming that you have the Python interpreter, the installation will be configured and the script will then ask you to run make. Execute the command,
    does make ask questions during install?
and then make install.
By default, the Zope binary directory will be /opt/Zope-x.x, and the Zope data directory will be /usr/local/zope.

## Getting Started

    start Zope
Zope initially runs on port 8080 (9673 on Debian systems due to a port conflict). Therefore, you can test your server by opening your favorite Web browser and typing "http://localhost:8080/" into its location box. A Zope introductory page should load. If you get a "connection refused" error, make sure that Zope is actually started (a simple Ctrl-Alt-Del on Windows or ps aux on Unix and Linux should be enough for you to determine whether or not it is running).
The first thing you will want to do is log on to the Zope Management Interface, which is linked to near the bottom of the page. You will be asked for your administrative username and password, and then given access.

## Using Zope with Apache

There are two methods of forwarding Zope information through Apache: mod_proxy and mod_rewrite. Some more notes are here.