Für eilige Leser

Sofern auf Ihrem Rechner eine übliche Python-Umgebung installiert ist, wechseln Sie in das Scripts-Verzeichnis und rufen den Paket-Installer pip auf.Anschliessend erzeugen Sie mit mkzopeinstance.exe eine Zope-Instanz, welche die Laufzeit-Umgebung für ZMS bereit stellt. Diese starten Sie mit runzope haben dann einen Webserver auf Ihrem Rechner laufen, den Sie im Browser per URL http://localhost:8080 ansprechen können.

D:\dev\virtpy\Scripts>pip install ZMS3
D:\dev\virtpy\Scripts>mkzopeinstance
D:\dev\virtpy\zopeinstance\my>runzope

screenshot

Nach dem Starten von Zope durch Aufruf des start-Scripts auf dem bin-Folder der Zope-Instanz (1), kann man über den Webbrowser (2) Port 8080 die Web-Masken betrachten und ZMS als "Product" initialisieren (3). Damit steht die webbasierte Publishing-Umgebung bereit zur Content-Produktion.

 

Installation im Detail

WICHTIGER HINWEIS: Beachten Sie auch die Tipps unter "Quickfixes" weiter unten Bei der Zope-Installationen können Inkompatibilitäten bestimmter Modul-Versionen den regelrechten Ablauf stören; achten Sie ggf. auch die unten genannten Versions-Nummern.

ZMS ist eine Python-Software; daher muss zunächst Python installiert werden. Empfohlen wird die aktuelle 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. pip und 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.

Tatsächlich müssen einige Python-Komponenten kompiliert werden - was auf Linux bzw. MacOS in der Regel kein Problem darstellt. Denn dort ist ein Compiler zumeist vorinstalliert. Unter Windows eignet sich MingWG, weil  dieser sehr einfach zu installieren ist und auch wieder leicht entfernt werden kann. Allerdings erfordert dessen Nutzung im konkreten Fall einige Patches, die man eigenhändig ergänzen muss. Im Folgenden sind alle Arbeits-Schritte anhang beispielhafter Systempfade ausführlich dargestellt. Zunächst wird also das Windows-System vorbereitet (Teil-1), bevor man dann zu eigentlichen ZMS-Installation kommt (Teil-2):

System-Vorbereitung

# INSTALLATIONSPROZEDUR TEIL-1 #

[1]  #### BASISWERKZEUGE 
A. Python installieren
Download: https://www.python.org/ftp/python/2.7.7/python-2.7.7.msi
Installation ausführen
z.B. nach C:\Programme\Python27

B. Installation setuptools samt virtualev und pip (als Administrator):
Info: https://pythonhosted.org/an_example_pypi_project/setuptools.html
Download: https://bootstrap.pypa.io/ez_setup.py
Installation ausführen:
> 	set HTTP_PROXY=http://proxy:8080
> 	set HTTPS_PROXY=http://proxy:8080
> 	cd C:\Programme\Python27\
> 	python.exe ez_setup.py
> 	cd C:\Programme\Python27\Scripts
> 	easy_install virtualenv==1.10.1
> 	easy_install pip

C.  MinGW installieren:
http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download
Setup-Programm ausführen und eine Minimal-Konfiguration mit Compiler (Packages: mingw32-base, minw32-gcc-g++ [s. Screenshot weiter unten]) installieren, z.B. nach C:\Programme\MinGW\


[2] #### SYSTEMPFADE
Windows-Systemvariable PATH um den bin-Folder von MinGW erweitern.
> 	z.B. C:\ Programme\MinGW\bin
>	set PATH=C:\Programme\MinGW\bin;%PATH%

[3] #### COMPILER-PATCH
PATCH cygwinccompiler.py
<http://stackoverflow.com/questions/13592192/compiling-pygraphviz-unrecognized-command-line-option-mno-cygwin>
<http://stackoverflow.com/questions%2F8531983/easy-install-u-cython-fails-complaining-about-vcvarsall-bat-and-mno-cygwin>
Patching  distutils bug in der primären Python-Installation durch Entfernen der Option " -mno-cygwin" aus allen gcc-Aufrufen:

z.B. C:\Programme\Python27\Lib\distutils\cygwinccompiler.py:
ZEILE 132
%<- - - - - - - -
        # Hard-code GCC because that's what this is all about.
        # XXX optimization, warnings etc. should be customizable.
        self.set_executables(compiler='gcc -mcygwin -O -Wall',
                             compiler_so='gcc -mcygwin -mdll -O -Wall',
                             compiler_cxx='g++ -mcygwin -O -Wall',
                             linker_exe='gcc -mcygwin',
                             linker_so=('%s -mcygwin %s' %
                                        (self.linker_dll, shared_option)))
%<- - - - - - - -

[4} #### VIRTUELLE UMGEBUNG
Virtual Python erzeugen - aus der primären Python-Installation 
>	cd C:\Programme\Python27\Scripts\
>	virtualenv.exe c:\dev\ZMS3

[4] #### PIP-UPDATE
pip in der eben erzeugten virtuellen Python-Umgebung updaten:
>	cd C:\dev\ZMS3\Scripts\
>	python.exe -m pip install -U pip

[5} #### COMPILER DEKLARATION
Eintrag von Mingw in Distutils-Konfiguration des Virt-Pythons
..\Lib\distutils\distutils.cfg:
%<- - - - - - -
[build]
compiler=mingw32
%<- - - - - - -
mingw_update_pre.png

Installation der erforderlichen MinGW-Packages für das Compiling unter Windows mit mingw-get.exe

ZMS3-Installation

# INSTALLATIONSPROZEDUR TEIL-2 #

#################################
II. ZMS3 INSTALLATION
#################################

[6] #### INSTALLATION
>	cd C:\dev\ZMS3\Scripts\
>	pip install ZMS3

[6.a] #### bei Zerifikatsfehler die Option trusted-host verwenden:
>	pip install ZMS3 --trusted-host pypi.python.org

[7] #### ARBEITS-INSTANZ ERZEUGEN
Zope-Instance erzeugen und Angabe des Installationsverzeichnisses und des admin-Users samt Passwort für das Web-Login
>	cd C:\dev\ZMS3\Scripts\
>	mkzopeinstance -d C:\dev\ZMS3\instance\live -u admin:*****

[8] #### ZOPE-PATCHES ERGÄNZEN
Info: http://www.zms-publishing.com/download/installation_linux/index_ger.html#e6205
1. C:\dev\ZMS3\Lib\site-packages\Products\PageTemplates\PageTemplate.py
2. C:\dev\ZMS3\Lib\site-packages\Products\Five\configure.zcml
3. C:\dev\ZMS3\Lib\site-packages\zdaemon\zdctl.py
4. C:\dev\ZMS3\Lib\site-packages\ 
pywintypes27.dll und win32file.pyd von https://zmslabs.org/download/zope_quickfixes/win32_dll/ herunterladen und einkopieren

[9] #### START
Zope starten
>	cd C:\dev\ZMS3\instance\live
>	runzope
und im Browser den Zope-Server aufrufen per
http://localhost:8080

Zusätzliche Python-Pakete: PIL, MySQL-Python

Um weitere Pakete zu installieren, kann es erforderlich sein, statt pip easy_install zu verwenden. Denn das Compiling mit MingGW kann in Einzelfällen nicht erfolgreich durchgeführt werden

>	cd C:\dev\ZMS3\Scripts\
> 	easy_install.exe MySQL-python
>	easy_install.exe PIL

Erstellt von: Dr. F. Hoffmann , SNTL Publishing , erstellt am:  19.01.2012 , zuletzt geändert: 07.08.2019