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.