Calendar Server auf FreeBSD

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

Kommentieren