We can discuss the details later!

This and that.

Calendar Server auf FreeBSD Howto

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)](http://undefined.org/python/#xattr)
* 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 gegen #include aus)

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

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

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
<strong>sys.path.extend(['','/usr/local/include'])</strong>
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