Deutsche Zope User Group
Gast 1 Benutzer online
DZUG-News

Zope3 aus dem CVS installieren und daf�r Python 2.2.2 + Third Party Modules per Hand installieren

Wie bekommt man Zope3 zum Laufen, wenn das eigene System nicht Python2.2.2 unterst�tzt? Hier wird die Installation von Zope3 aus dem CVS samt Python2.2.2, PyXML, psycopg und bsddb3 (BerkeleyDB) beschrieben,

Alle Angaben ohne Gew�hr. So in etwa hat es bei mir funktioniert. :)

Wieso so umst�ndlich?

Zope3 ben�tigt mindestens Python-2.2.2. Bei Debian Testing ist aber zur Zeit nur Python-2.2.1 dabei und das Installieren von Python-2.2.2 aus Unstable hat bei mir zu Problemen gef�hrt. Darum habe ich Python-2.2.2 zus�tzlich per Hand unter /usr/local installiert.

Change Log

  • libdb4.1 verwenden
  • pybsddb3-4.1.3 verwenden

Vorraussetzungen

  • Linux u.�.
  • Compiler samt Werkzeuge (gcc, make, ld ...)
  • Bibliotheken und Headerdateien f�r verschiedene Programme. Je nach Distribution heissen sie libNAME, NAME-lib, NAME-dev bzw. NAME-devel.
    • Postgres 7.x
    • XML (expat, sax)
    • optional: BerkeleyDB4.1 (libdb4.1)
  • CVS Client
  • tar, gzip, unzip
  • Root-Rechte auf dem Server
  • Quellcode folgender Programme

Die Pakete herunterladen und auspacken. Der �bersichtlichkeit halber habe ich die Pakete mit wget nach ~/src/Python heruntergeladen und dann mit tar -xzf NAME.tar.gz bzw. unzip NAME.zip entpackt.

Pakete kompilieren und installieren

Die folgenden Befehle jeweils im Basisverzeichnis des Pakets ausf�hren. Wenn ein Root: vor dem Befehl steht, muss dieser als Root durchgef�hrt werden. Die Reihenfolge ist wichtig!

Es kann sein, dass je nach Distribution die Bibliotheken etwas anders hei�en. Besonders bei Postgres gibt es je nach Version und Distribution verschiedene Namen. Gebr�uchlich sind /usr/lib/pgsql und /usr/lib/postgresql und /usr/lib/postgres.

Python-2.2.2

  • $ ./configure
  • $ make
  • Root: $ make install
  • Der Python-Interpretor liegt unter /usr/local/bin/python2.2, die Erweiterungen unter /usr/local/lib/python2.2/

PyXML-0.8.1

  • $ /usr/local/bin/python2.2 setup.py build
  • Root: $ /usr/local/bin/python2.2 setup.py install

mxDateTime (f�r psycopg)

Anmerkung: mxDateTime.zip entpackt sich nach DateTime. Die Source-Codes liegen wieder unter mxDateTime

  • $ cd mxDateTime
  • Makefile.pre.in editieren und dort bei SETUP= $(LIBPL)/Setup.thread $(LIBPL)/Setup.local $(LIBPL)/Setup $(LIBPL)/Setup.thread l�schen
  • $ make -f Makefile.pre.in Makefile VERSION=2.2 installdir=/usr/local
  • $ make
  • Root: $ make install
  • Root: $ mkdir /usr/local/lib/python2.2/site-packages/mx/DateTime
  • Root: gesamtes Verzeichnis DateTime samt Unterverzeichnisse mit $ cd ..; cp -R /usr/local/lib/python2.2/site-packages/mx/DateTime* nach /usr/local/lib/python2.2/site-packages/mx/DateTime kopieren
  • Root: /usr/local/lib/python2.2/site.py editieren. Am Ende sys.path.append(/usr/local/lib/python2.2/site-packages/mx/DateTime) hinzuf�gen.

psycopg

  • $ ./configure --with-postgres-libraries=/usr/lib --with-postgres-includes=/usr/include/postgresql/ --with-python-version=2.2 --with-python-exec-prefix=/usr/local --with-python=/usr/local/bin/python2.2 --with-mxdatetime-includes=/usr/local/lib/python2.2/site-packages/mx/DateTime/mxDateTime/ --includedir=/usr/local/include/python2.2/
  • $ make
  • Root: $ make install

pyBSDDB3 (f�r ZODB BerkeleyDB Storage anstatt Filestorage)

libdb4.1 und libdb4.1-dev muss installieren sein. Falls BerkeleyDB-Storage nicht funktioniert, kann es sein, dass stattdessen libdb3-dev installiert sein.

  • $ /usr/local/bin/python2.2 setup.py --berkeley-db=/usr/lib/ build
  • $ /usr/local/bin/python2.2 setup.py --berkeley-db=/usr/lib/ install

Zope3 aus dem CVS installieren

  • Erster Login ins CVS. Bei der Password-Eingabe kein Passwort angeben. $ cvs -d :pserver::/cvs-repository login
  • In das Verzeichnis wechseln, in dem Zope3 installiert werden soll. Bei mir war es ~/src/ $ cd ~/src/
  • Zope3 aus dem CVS auschecken: $ cvs -z7 -d :pserver::/cvs-repository checkout Zope3
  • Ins Zope3 Source Verzechnis wechseln: $ cd ~/src/Zope3/src
  • Zope-Produkte auschecken: $ cvs -z7 -d :pserver::/cvs-repository checkout zopeproducts
  • Makefile editieren und am Anfang python = /usr/local/bin/python2.2 setzen
  • Wenn man Zope direkt mit $ ./z3.py starten will, muss man noch in z3.py die erste Zeile in #!/usr/local/bin/python2.2 �ndern. Ansonsten kann man Zope3 auch mit $ make run starten
  • $ make
  • zcml's nach der Doku anpassen (principials.zcml, products.zcml, zserver.zcml)
  • $ make run
  • Updates mit $ cvs -q up -P -d im Verzeichnis ~/src/Zope3. Anschlie�end sollte man mindestens ein $ make machen, besser ist noch $ make clean && make
  • Wenn man in ~/src/Zope3/src/CVS/Entries eine Zeile mit D/zopeproducts//// einf�gt, werden die Zope3 Produkte automatisch mit upgedatet

Gotcha: Es kann sein, dass Makefile und z3.py nicht �berschrieben werden, wenn man sie lokal ge�ndert hat, im CVS jedoch eine neuere Version ist. Da bin ich mir aber nicht so ganz sicher.

Geschrieben von Tiran . Letzte �nderung 07.05.2003 18:06.