derzeit namenlos

Update 6.10.08 eGroupWare scheint mir die sinnvollere Alternative zu sein.

Darwin Calendar Server auf FreeBSD installieren

Benötigt wird (Stand 14.1.2008 kleine Fehler mit Anführungszeichen behoben, Danke an Ben!):

* Python 2.4
* Zope Interface 3.1.0c1
* PyXML 0.8.4
* pyOpenSSL 0.6
* python-dateutil-1.0
* xattr 0.2 (Bob Ippolito’s implementation)
* pysqlite 2.2.2
* Twisted
* vObject
* PyKerberos
* PyOpenDirectory

Der größte Teil läßt sich schnell per ports installieren

Python 2.4

# cd /usr/ports/lang/python24
# make install clean

PYTHON_DEFAULT_VERSION=python2.4 in /etc/make.conf ergänzen spart viel Ärger

Zope Interface 3.1.0c1

# /usr/ports/www/zope3
# make install clean

PyXML 0.8.4

# cd /usr/ports/textproc/py-xml
# make install clean

Calendar Server

braucht die bash:

# cd /usr/ports/shells/bash
# make install clean

pyOpenSSL 0.6

# cd /usr/ports/security/py-openssl
# make install clean

python-dateutil-1.0

# cd /usr/ports/devel/py-dateutil
# make install clean

xattr 0.2 (Bob Ippolito’s implementation)

basiert auf setuptools 0.6c7:
von http://cheeseshop.python.org/pypi/setuptools/ neustes python egg für python 2.4 runterladen und mittels

# sh setuptools-0.6c7-py2.4.egg

von http://cheeseshop.python.org/pypi/xattr
xattr-0.4.tar.gz runterladen, entpacken und mittels

# cd xattr-0.4
# python2.4 setup.py install

installieren

pysqlite 2.2.2

# cd /usr/ports/databases/py-pysqlite22
# make install clean

installiert auch sqlite3 und tcl-8.4

Twisted

# cd /usr/ports/devel/py-twisted
# make install clean

vObject

# cd /usr/ports/deskutils/py-vobject
# make install clean

Sourcen von Apple auschecken:

In beliebigem Verzeichnis:

# svn co http://svn.calendarserver.org/repository\
/calendarserver/CalendarServer/trunk CalendarServer
# svn co http://svn.calendarserver.org/repository\
/calendarserver/PyKerberos/trunk PyKerberos
# svn co http://svn.calendarserver.org/repository\
/calendarserver/PyOpenDirectory/trunk PyOpenDirectory

PyKerberos

benötigt Kerberos

# cd /usr/ports/security/krb5
# make install clean

installiert unter anderem tetex und was-weiss ich noch (ein WITHOUT_X11=true in /etc/make.conf ist sicher keine schlechte Idee)

Wer Kerberos auch wirklich bnutzen möchte, kommt nun ums Kerberos konfigurieren nicht herum. Viel Spaß!

PyKerberos per Hand “patchen”:

# cd PyKerberos/src
# sed -i _old -e "s/<python\//</" kerb*

(tausch in allen Dateien #include <Python/Python.h> gegen #include <Python .h> aus)

jetzt in PyKerberos/setup.py die mittlere folgende Zeile ergänzen:

import sys
import commands
sys.path.extend([' ', '/usr/local/include '])

setup (

dann

# cd ..
# python2.4 setup.py build
# python2.4 setup.py install

und PyKerberos wäre installiert

PyOpenDirectory

cd ../PyOpenDirectory

wieder in setup.py Zeile ergänzen

import sys
sys.path.extend(['','/usr/local/include'])
if sys.platform in ["darwin", "macosx"]:

Wieder Python.h dingsda:

# sed -i _old -e "s/<python\//</" src/C*
# sed -i _old -e "s/<python\//</" src/P*

(Wie kann ich alle ausser .dfiles erfassen? .svn stört)
und wieder:

# python2.4 setup.py build
# python2.4 setup.py install

Calendar Server

setzt die bash und curl vorraus:

# cd /usr/ports/shells/bash
# make install clean
# cd /usr/ports/ftp/curl
# make install clean

in

CalendarServer/bin/caldavd
CalendarServer/run 

/bin/bash in /usr/local/bin/bash ändern
mit

# cd CalendarServer
# ./run -s

den Server initialisieren (oder so…)
mit

#cp ./conf/caldavd-test.plist ./conf/caldavd-dev.plist

schnell die erste Testconfiguration an Ort und Stell kopieren, noch schnell in

  <key>BindAddresses</key>
  <array>
    <string>127.0.0.1</string>
  </array>

noch schnell die IP ändern (falls man nicht eh direkt vor der Kiste sitzt
und mit

$ ./run

den Calendar Server starten.

Alles weiter zur Configuration gibts auf:
http://trac.calendarserver.org/projects/calendarserver/wiki