


My email is

An OGG/Vorbis player, implemented in Javascript.

My Kiva bragging page
My shared (open source) code on GitHub

Morphex's Blogodex


Zope hosting by Nidelven IT

Morten Petersen on Linkedin

Morten Petersen on Facebook

Morten Petersen on SoundCloud

Morten Petersen on MixCloud

Blogologue on Twitter

Older entries

Atom - Subscribe - Categories


An updated version of the Issue Dealer, building Zope 2.13.22

It's been a while since I did anything on Zope 2, and these last couple of months some bugs on the weblog publisher on have been bugging me.

So I decided I should get that fixed, and also get the IssueDealer updated to work with the latest stable version of Zope 2.

It has been some days of fixing things back and forth to get things working, but now I have an updated version of the IssueDealer, as well as a procedure for building the latest and greatest Zope 2.

I've been quite out of touch with what has been going on in the Zope, Plone and Python world lately, and it took me quite some effort to get things working, from getting Zope from GitHub, getting the right dependencies in etc. One thing I've noticed is that is using a common name of - which forced me to make a shell script to aid in the process of setting up Zope. This is sloppy at best, as it forces users to skip SSL verification.

But, enough of that, here's the hands on procedure for getting Zope 2 installed on a Debian Linux box. Beforehand, I think it's necessary to install the build-essential package as well as git, in other words:

sudo apt-get install build-essential git

I'm not sure what the procedure is for Fedora/Red Hat, SuSe etc. is but it should be easy enough to figure out.

OK. We'll install Python and Zope in a directory called


First thing we do is get Python 2.7.9 installed, which is done with

chmod o-rwx # So other users can't read the database etc.
mkdir tmp
cd tmp
tar xfz Python-2.7.9.tgz
cd Python-2.7.9/
./configure --prefix=/home/morphex/
make install
cd /home/morphex/
git clone zope
cd zope
git checkout 2.13.22
wget --no-check-certificate
chmod +x
./ ~/

Now, edit the buildout.cfg file, so that the [zopepy] and [wsgi] sections contains the line


like so, maybe using the command "nano buildout.cfg":

recipe = zc.recipe.egg
eggs = Zope2
interpreter = zopepy
scripts = zopepy
recipe = zc.recipe.egg
eggs =

Now, when that's done, we're ready to run buildout. Run the command


Now, this script may fail, if there are network issues for example that make downloading of packages break. If that's the case, just re-run the command until it completes with lines something like this:

Generated script '/home/morphex/'.
Generated script '/home/morphex/'.
Generated script '/home/morphex/'.
Generated script '/home/morphex/'.
Generated script '/home/morphex/'.
Generated script '/home/morphex/'.

After a lengthy process with lots of output, we can create the Zope instance, like so:

./bin/mkzopeinstance -d ~/

I'll leave it up to you to choose a username and password.

Now the instance has been setup, and we can run it for the first time. Type in the command

./instance/bin/zopectl fg

And you should see something like this:

/home/morphex/ -X debug-mode=on
2015-02-13 04:31:04 INFO ZServer HTTP server started at Fri Feb 13 04:31:04 2015
        Port: 8080
2015-02-13 04:31:05 INFO Zope Ready to handle requests

Now I login to my server on the URL - and select "Issue Dealer" from the drop-down list, click on add and give it the ID issues, and the title "My issues". Now that Issue Dealer instance is available on

Voila. If you're setting up a plain Zope 2 or Zope 2 with some product, just remove the Products.IssueDealer parts from the buildout.cfg and it should work.

Hope you found this useful, and comments etc. are much appreciated. My email is morphex AT gmail.

[Permalink] [By morphex] [Zope (Atom feed)] [13 Feb 04:05 Europe/Oslo]