Für eilige Leser

Sofern auf Ihrem Rechner eine übliche Python-Umgebung installiert ist, wechseln Sie in das Scripts-Verzeichnis und rufen einfach easy_install auf.Anschliessend können Sie mit mkzopeinstance eine Zope-Instanz erzeugen, welche die Laufzeit-Umgebung für ZMS bereit stellt:

/home/zope/bin>./pip install ZMS3
/home/zope/bin>./mkzopeinstance

Installation im Detail

ZMS ist eine Python-Software; daher muss zunächst Python installiert werden. Empfohlen werden die Version 2.7. Der Python-Installer existiert für alle gängigen Betriebssysteme. Voraussetzung für die ZMS-Installation ist das Vorhandensein einer typischen Python-Umgebung; diese wird in drei Schritten erzeugt:

  1. Python installieren
  2. Setuptools installieren: Das Python Modul setuptools stellt u.a. easy_install bereit, damit man Python Packete direkt aus dem Web installieren
  3. Virtualenv erzeugen: das Python Modul virtualenv erzeugt eine gespiegelte zusätzliche "virtuelle" Python.Umgebung, welche auf der primären Python-Installation basiert. In dieser virtuelle Umgebung können die eigenen Python Anwendungen laufen. Die virtuelle Umgebung kann jederzeit gelöscht werden, ohne dass die primäre Python-Installation davon betroffen ist.

Dann wird in der virtuellen Umgebung per pip das Python-Package ZMS3 installiert; das Package zieht aufgrund definierter Abhänigkeiten automatisch alle erforderlichen Python-Resourcen (in erster Linie Zope-Komponenten). Abschliessend kann dann eine Zope-Instanz erzeugt werden, welche den Applications-Server für ZMS bereitstellt.

cd /usr/bin/
virtualenv --no-site-packages /home/zope
cd /home/zope/bin
./pip install ZMS3
./mkzopeinstance -d /home/zope/instance/production -u admin:******
./mkzopeinstance -d /home/zope/instance/staging -u admin:******

Der oben stehende Installationsverlauf beginnt mit der Einrichtung einer virtuellen Python-Umgebung speziell für die Nutzung von Zope:
/home/zope/
Dann werden auf dem bin-Folder per pip neben ZMS noch weitere Python-Produke installiert. Zum Schluss werden eine oder zwei Zope-Instanz per mkzopeinstance-Script mit den Parametern für Lokalisation, Name und initialem Manager-User erzeugt.
Als Pfad für die Zope Instanz bietet sich ein "instance-Folder" im Ordner der für Zope eingerichteten Python-Umgebung an, z.B.:
/home/zope/instance/production/

Falls es einen Installations-Abbruch durch einen Zertifikatsfehler geben sollte, kann man bei der der aktuellen pip-Version den Parameter --trusted-host zmslabs.org ergänzen. Damit sieht der Installations-Aufruf folgendermaßen aus:
./pip install ZMS3 --trusted-host zmslabs.org
TIPP: Sofern SQL-Datenbank-Interfaces genutzt werden sollen, ist sicherzustellen, dass auf dem Betriebssystem die entsprechenden Pakete installiert sind, z.B. libmysqlclient-dev für MySQL oder libsqlite3-dev für SQLite

# Zusatz-Installation von SQL-Interfaces #

cd /home/zope/bin
./pip install -U Products.ZSQLMethods==2.13.4
./pip install -U MySQL-python==1.2.5
./pip install -U Products.ZSQLiteDA==0.6.1
./pip install -U Products.ZMySQLDA==3.3.1

Nach der Zope- Installation können Startup-Scripte angelegt werden, um die Zope-Instanzen beim Hoch- bzw. Herunterfahren des Rechners zu starten oder zu stoppen. Zum Starten oder Stoppen (per Hand) wird als Administrator (root) folgendes eingegeben:

sudo su -
/etc/init.d/zope production start
/etc/init.d/zope production stop
#!/bin/bash
# The echo return value for success (defined in /etc/rc.config).
# Usage: $0 (production|staging start|stop}
return=$rc_done
case "$2" in
   start)
       	su - zope -c "/home/zope/instance/$1/bin/zopectl start"  >> /home/zope/instance/$1/log/system.log 2>&1
       	echo -e "$return"
       ;;
   stop)
       	/home/zope/instance/$1/bin/zopectl stop  >> /home/zope/instance/$1/log/system.log 2>&1

	echo -e "$return"
      ;;
   *)
	echo "Usage: $0 (production|staging start|stop}"
	exit 1
       ;;
esac
test "$return" = "$rc_done" || exit 1
exit 0

Das Script startet Zope mit dem User zope als Dienst., der über das Web-GUI auch restartet werden kann Dies wäre beim direkten Aufruf des Start-Scriptes auf dem bin-Folder der Zope-Instanz nicht möglich:

su - zope
cd /home/zope/instance/production/bin
nohup ./runzope &