Zope is a general-purpose application server written in Python. It is used by several content management systems, such as Plone. Zope support is included in our Corporate (VPS) package (depending on memory usage; stripped-down instances may work under the Advanced (VPS) package). Zope can be restricted to specific sites, or used exclusively as the default web server on port 80.

Creating a Zope instance

Choose the location of your Zope instance. It can be located anywhere under your home directory. Use the mkzopeinstance.py script to create your instance:

  $ /usr/local/lib/zope/bin/mkzopeinstance.py
  
  Please choose a directory in which you'd like to install
  Zope "instance home" files such as database files, configuration
  files, etc.
  
  Directory: /home/myself/myzope
  
  Please choose a username and password for the initial user.
  These will be the credentials you use to initially manage
  your new Zope instance.

The script will also prompt you for the administrator username and password you will need to log into your instance.

Editing zope.conf

Open up ~/myzope/etc/zope.conf from your favorite text editor. Leave the port number set to 8080 (even if you plan to use Zope as your default web server). The following settings are required. Replace 96.47.74.x with your own v-host IP address (if you don't know it, see csoftadm -c 'dns list'):

  ip-address 96.47.74.x
  zserver-threads 3

Locate the <zodb_db main> section and insert the cache-size directive:

  <zodb_db main>
      # Main FileStorage database
      cache-size 500
      <filestorage>
          path $INSTANCE/var/Data.fs
      </filestorage>
      mount-point /
  </zodb_db>
Start up Zope

Your Zope instance is now ready to run. Execute the startup script:

  $ ~/myzope/bin/runzope

You can ignore any warnings about deprecated calls.

Configure automatic restart on boot

Now you should make sure that your Zope instance will be automatically started whenever the server is rebooted (or whenever a backup server kicks in). This is done by adding a @reboot entry to your crontab:

  $ crontab -e

If you are not familiar with the crontab utility, the previous command will start up your favorite text editor (as dictated by $EDITOR). Simply insert the line:

  @reboot $HOME/myzope/bin/zopectl start

It is a good idea to insert a MAILTO="yourself@domain.ext" line into your crontab such that any startup error messages will be e-mailed to you.

You can also use the zopectl utility to control a running Zope instance:

  $ ~/myzope/bin/zopectl status
  $ ~/myzope/bin/zopectl stop
  $ ~/myzope/bin/zopectl start
Installing your product packages
At this point, you can log onto the Zope interface (http://yourdomain.ext:8080/manage) using the username/password you previously gave to mkzopeinstance.py, and install the products of your choice.

Some popular product packages (e.g., Plone) are installed server-wide. You can also install your own by simply copying them to the ~/myzope/Products/ directory (you can also specify extra Product directories using the products directive in zope.conf).
Installing Plone
Plone is an easy to use content management system built on top of Zope.

To create a Plone site, login to the Zope interface and locate the drop-down list next to the Add button on the right. Select the Plone site option. What you enter in the "Id" field will determine the URL of your Plone site (i.e., "myplone" will be made accessible from http://yourdomain.ext/myplone. You should now be seeing the standard "Welcome to Plone" page.
Links