StickyBits
CalendarServer
Mit Version 10.5 ermöglichte Apple unter Mac OS X Server die Verwaltung und Teilung von iCal-Kalendern im Netzwerk. Grundlage dafür ist zum einen der in OS X Server enthaltene Kalender-Dienst und zum anderen das Protokoll CalDAV. Der Dienst selbst beruht auf einem Programm, dem CalendarServer, der von Apple als Open Source Projekt konzipiert wurde. Wer sich die Server-Variante von Mac OS X nicht kaufen möchte, aber dennoch ein paar Kalender im Netzwerk nutzen möchte, der kann mit ein paar Handgriffen den CalendarServer auch auf einem normalen Mac OS X installieren und nutzen.
Ergänzung (18.3.2010): Ron Regev hat basierend auf diesem Artikel ein Tutorial Making Any Mac into a Calendar and Contacts Server erstellt.
Bei der zur Zeit verfügbaren Version des CalendarServer handelt es sich noch um eine sehr rohe Fassung. Das bedeutet, dass zum Beispiel kein Installationspaket vorhanden ist und man bei der Einrichtung an einigen Stellen selbst Hand anlegen muss. Ferner muss an einigen Stellen das Terminal zur Hilfe genommen werden. Auf den ersten Blick mag das etwas kompliziert wirken, aber es ist gar nicht mal so schwierig und am Ende können Kalender im Netzwerk von mehreren Benutzern gleichzeitig bearbeitet werden. Ich würde den Zeitaufwand für diese Installation bei weniger als einer halben Stunde ansetzen. Da die einzelnen Schritte hier im Detail beschrieben wurden, ist das Ganze natürlich etwas länger geraten.

Für die Freigabe von Kalendern wird normalerweise ein MobileMe-Konto benötigt.
Das Problem bei iCal im Netzwerk besteht darin, dass die Freigabe beziehungsweise Veröffentlichung von Kalendern entweder ein MobileMe-Konto benötigt oder einen Webserver, bei dem Freigaben über WebDav möglich sind. Mit dem CalendarServer, wenn er denn installiert ist, können recht unproblematisch Kalender im Netzwerk von mehreren Rechnern aus bearbeitet werden.
Der CalendarServer bietet neben der Freigabe von Kalendern noch eine ganze Reihe von weiteren Funktionen wie die Verwaltung von Räumen oder die Arbeit in Gruppen. Da das Projekt noch in einem sehr frühen Stadium ist und zumindest die letzt genannten Fähigkeiten einen funktionierenden Verzeichnisdienst wie OpenDirectory oder LDAP voraussetzen, beschränkt sich diese Installationsanleitung auf die Einrichtung von mehreren Kalendern. Diese Kalender werden über einzelne Benutzerkonten realisiert. Dafür sind die Benutzerkonten natürlich nicht gedacht, aber es ist die einfachste Möglichkeit, um schnell zu einem Kalender im Netzwerk zu gelangen.
Voraussetzungen
Für die Einrichtung und Konfiguration des CalendarServers muss zuvor die Entwicklungsumgebung Xcode von der Mac OS X Installations-DVD installiert werden. Benötigt wird unter anderem der Property List Editor für die Bearbeitung einiger Konfigurationsdateien aber es müssen auch einige Programme aus dem Quellcode übersetzt werden.
Aktualisierung (16.12.2009)
Der CalendarServer entwickelt sich wie so vieles andere in der IT-Welt sehr schnell. Mittlerweile ist er bei Version 3 angekommen, während sich diese Anleitung auf die Version 2 bezieht. Zwischenzeitlich hat sich auch diese etwas geändert, was beim Abarbeiten dieser Anleitung zu einigen Fehlschlägen führte, wie die unten stehenden Kommentare belegen.
Ich habe die Anleitung nun so überarbeitet, dass sie nicht mehr auf die aktuellste Version im trunk sondern auf die mehr oder weniger finale Version 2.3 zurückgreift. Ebenfalls überarbeitet wurde der LaunchDaemon. Die weiteren Installationsschritte sind gleich geblieben, ich habe allerdings nicht alle Abbildung aktualisiert. Insofern kann die Darstellung der Verzeichnisse etwas abweichen. Nicht mehr aktuelle Anweisungen wurden durchgestrichen, der Download des Servers mit dem Befehl svn wurde aktualisiert.
Drei Möglichkeiten der Installation
Um den CalendarServer zu installieren, gibt es zur Zeit mehrere Möglichkeiten und diese Anleitung beschreibt zwei davon. Auf die dritte, die »richtige« Installation des CalendarServers wird abschließend kurz eingegangen.
Der Installationsvorgang umfasst vier wesentliche Schritte. Erstens muss der Quellcode des CalendarServers mit dem Befehl svn herunter geladen werden. Zweitens muss der Quellcode übersetzt und ausführbar gemacht werden. Drittens wird der Server mit der Bearbeitung von einigen Konfigurationsdateien eingerichtet und Benutzerkonten für Kalender angelegt. Viertens wird über einen LaunchAgent oder LaunchDaemon dafür gesorgt, dass der Server entweder nach der Anmeldung eines Benutzers oder nach dem Start des Systems im Netzwerk zur Verfügung steht.
Bei der Übersetzung des Quellcodes im zweiten Schritt installiert der Server noch eine ganze Reihe von weiteren Programmen und Bibliotheken. Der CalendarServer wurde in wesentlichen Teilen in der Programmiersprache Python geschrieben und nutzt als technische Grundlage den ebenfalls in Python geschriebenen Server twisted. Hierzu benötigt der Server noch eine Reihe von Python-Modulen und Bibliotheken, die unter Mac OS X in der Standardversion nicht vorhanden sind. Diese werden ebenfalls herunter geladen und installiert.
Installation in einem Benutzerordner
Um den Server unterhalb eines Benutzerkontos zu installieren, kann im persönlichen Ordner ein eigener Ordner für das CalendarServer-System erstellt werden. Dieser neue Ordner mit der Bezeichnung Kalender ist zunächst noch leer.
Noch ist der für den CalendarServer vorgesehene Ordner leer.
Download und erste Installation
Der Ordner Kalender dient als eine Art Container, der in mehreren Unterordnern sowohl den eigentlichen CalendarServer als auch die unterstützenden Bibliotheken enthält. Um den Server herunter zu laden, wird am Terminal zunächst mit der Eingabe
cd ~/Kalender
in den Ordner gewechselt. Daraufhin wird mit der Zeile
svn checkout http://svn.calendarserver.org/repository/calendarserver/CalendarServer/tags/release/CalendarServer-2.3 CalendarServer
der Quellcode des Servers herunter geladen. Dieser Vorgang kann ein bis zwei Minuten in Anspruch nehmen und währenddessen gibt der Befehl svn den Fortschritt am Terminal aus. Anschließend befindet sich im Ordner Kalender ein Unterordner CalendarServer und in diesem befinden sich die Dateien des eigentlichen Servers.
Der Quellcode des CalendarServers wird aus dem Internet herunter geladen.
Nachdem der Quelltext vorliegt, muss der Server übersetzt und installiert werden. Im Vollzug dieser Installation werden auch die zuvor angesprochenen Bibliotheken aus dem Netzwerk herunter geladen und ebenfalls installiert. Hierzu wird mit
cd CalendarServer/
zunächst in das Verzeichnis gewechselt und anschließend der Befehl
./run -s
aufgerufen. Bei diesem Aufruf ist der Punkt und der Schrägstrich zu Beginn wichtig. Der Befehl run ist eigentlich nichts anderes als ein Shell-Skript, dem über die Option -s mitgeteilt wird, dass der Server noch nicht ausgeführt sondern zuerst installiert werden soll.
Mit der Eingabe von ./run -s wird der Server installiert.
Es werden dann eine ganze Reihe von Bibliotheken und Diensten wie PyXML, twisted, memcached und libevent herunter geladen und in ausführbare Programme übersetzt. Letzteres wird am Terminal zu einigen sehr kryptischen Ausgaben führen. Hierbei handelt es sich um die Ausgaben des Compilers und wenn die letzte Zeile Using python as Python lautet, ist die Installation erfolgreich gewesen.
Die herunter geladenen und übersetzten Bibliotheken befinden sich im gleichen Ordner wie der CalendarServer.
In dem Ordner Kalender befinden sich jetzt eine ganze Reihe von weiteren Ordnern. Diese enthalten die Bibliotheken, auf die der Server zurück greift.
Konfiguration des Servers
Vor dem ersten Start muss zunächst eine Konfigurationsdatei angepasst werden. Im Verzeichnis CalendarServer befindet sich ein Unterordner conf, der mehrere Konfigurationsdateien enthält. Hier finden sich unter anderem caldavd.plist, caldavd-test.plist und caldavd-apple.plist. Dabei handelt es sich um verschiedene Konfigurationsmöglichkeiten des Servers. In diesem Beispiel wird auf die Datei caldavd-test.plist zurück gegriffen. Im Finder können Sie die Datei caldavd-test.plist einfach duplizieren und die Kopie in caldavd-dev.plist umbenennen.
Die Datei caldavd-test.plist wird dupliziert und die Kopie in caldavd-dev.plist umbenannt.
Mit einem Doppelklick auf die Datei caldavd-dev.plist wird diese im Property List Editor geöffnet und mit einem Klick auf den Pfeil vor dem Eintrag root können die untergeordneten Werte eingeblendet werden. Hier findet sich auch ein Eintrag BindAddresses vom Typ Array. Klicken Sie auf den Pfeil links davon, so dass er nach unten deutet, und dann auf die Schaltfläche Add Child in der Symbolleiste. In dem nun vorhandenen Eintrag Item 1 muss als Wert in der rechten Spalte die IP-Adresse des Rechners, auf dem der CalendarServer installiert wurde, eingetragen werden. In diesem Beispiel hat der Rechner die Adresse 192.168.0.2. Speichern Sie abschließend die Änderungen über file • Save und beenden den Property List Editor.
Die IP-Adresse des Rechners muss als Wert unter BindAddresses eingetragen werden.
Benutzerkonten für Kalender erstellen
Bevor der Server für einen ersten Test gestartet werden kann, müssen noch die Benutzerkonten, die später die Kalender darstellen werden, angelegt werden. Das Verzeichnis conf enthält auch einen Unterordner auth, in dem sich die Konfigurationsdateien für die Benutzerkonten befinden. Bei den Dateien accounts-test.xml und accounts.xml handelt es sich, der Name deutet es bereits an, um einfache XML-Dateien, die mit einem beliebigen Text-Editor wie TextEdit, TextMate, BBEdit oder jEdit bearbeitet werden können. In dieser Beispielkonfiguration greift der Server auf die Datei accounts-test.xml zurück.
Das Verzeichnis auth enthält die Konfigurationsdateien für die Benutzerkonten.
Öffnen Sie diese Datei in einem Editor und Sie werden feststellen, dass die Datei bereits eine Reihe von beispielhaften Benutzerkonten und Gruppen enthält. Das erste Benutzerkonto in dieser Liste, dass von den XML-Tags <user> und </user> umschlossen wird, wird als administratives Benutzerkonto verwendet. Hier sollten Sie zunächst die Zeile <password>admin</password> ändern und ein anderes Passwort etwa in der Form <password>Neues_Passwort</password> vergeben.
Die Datei accounts-test.xml enthält einige vorgefertigte Benutzerkonten und Gruppen.
Löschen Sie dann alle Zeilen, die auf den ersten Eintrag </user> folgen bis zur letzten Zeile </accounts>, wobei diese Zeile erhalten bleibt.
Unnötige Einträge aus der Datei accounts-test-xml wurden entfernt.
Der Bereich zwischen <user> und </user> kann in die Zwischenablage kopiert und oberhalb der Zeile </accounts> eingefügt werden. Jeder dieser Blöcke stellt ein eigenes Benutzerkonto und somit auch einen eigenen Kalender dar. Bei den einzelnen Einträgen können Sie für die Werte uid, guid, password, name sowie first-name und last-name gemäß Ihren eigenen Vorstellungen anpassen. Eine Konfigurationsdatei, die zwei Kalender mit den Bezeichnungen kalender1 und kalender2 zusätzlich zum administrativen Konto einrichtet, könnte folgendermaßen aussehen:
<accounts realm="Test Realm">
<user>
<uid>admin</uid>
<guid>admin</guid>
<password>Neues_Passwort</password>
<name>Super User</name>
<first-name>Super</first-name>
<last-name>User</last-name>
</user>
<user>
<uid>kalender1</uid>
<guid>kalender1</guid>
<password>Ein_Passwort</password>
<name>Der Ferienkalender</name>
<first-name>Ferien</first-name>
<last-name>Kalender</last-name>
</user>
<user>
<uid>kalender2</uid>
<guid>kalender2</guid>
<password>Nochein_Passwort</password>
<name>Der Arbeitskalender</name>
<first-name>Arbeit</first-name>
<last-name>Kalender</last-name>
</user>
</accounts>
Testlauf
Speichern Sie die so konfigurierte Datei und der Server kann für einen ersten Test gestartet werden. Am Terminal wechseln Sie mit der Eingabe
cd ~/Kalender/CalendarServer/
zunächst in das Verzeichnis des Servers und Sie können dann mit der einfachen Eingabe von
./run
den Server starten. Während des Startvorgangs erhalten Sie eine ganze Reihe von Ausgaben, die Sie über den Fortschritt des Startvorgangs sowie die Einbindung der Module informiert. Wenn Sie zuletzt eine Zeile in der Form
2009-05-07 15:23:25+0200 [-] [caldav-8010] [-] AMP connection established (HOST:UNIXSocket(None) PEER:UNIXSocket('logs/caldavd.sock'))
erhalten und der Prompt am Terminal nicht erscheint, dann wurde der Server erfolgreich gestartet. Mit der Eingabe von cmd + . können Sie den Server wieder beenden. Sie erhalten dann als letzte Zeile den Hinweis 2009-05-10 05:24:34+0200 [-] Server Shut Down. und mit einem Druck auf Return erscheint der Prompt des Terminals wieder.
Der erste Testlauf wurde mit der Tastenkombination cmd + . beendet.
Ein LaunchAgent zum Start
Wenn Sie den Server nicht jedes Mal von Hand durch die Eingabe von ./run starten und das jeweilige Terminal-Fenster geöffnet haben möchten, dann können Sie mit einem LaunchAgent dafür sorgen, dass der Server im Hintergrund gestartet wird, wenn Sie sich mit diesem Benutzerkonto anmelden. Schauen Sie zunächst im Ordner Library in Ihrem persönlichen Ordner nach, ob sich dort bereits ein Unterverzeichnis LaunchAgents befindet. Sofern dies nicht der Fall ist, erstellen Sie im Finder einfach einen neuen Ordner und geben Sie ihm die Bezeichnung LaunchAgents. Starten Sie dann aus dem Verzeichnis /Developer/Applications/Utilities das Programm Property List Editor und erstellen eine neue Datei.
Hier können Sie zunächst den Eintrag Root auswählen und dann über die Schaltfläche Add Child einen neuen Untereintrag erzeugen. Vergeben Sie als Bezeichnung in der linken Spalte ProgramArguments und wählen Sie in der mittleren Spalte den Typ Array aus. Klappen Sie dann den Pfeil vor der Bezeichnung aus und die Schaltfläche Add Item ändert sich in Add Child. Fügen Sie über diese Schaltfläche zwei neue Elemente hinzu, die vom Property List Editor automatisch mit Item 1 und Item 2 benannt werden. Geben Sie als Wert für den ersten Eintrag ~/Kalender/CalendarServer/run ein und als Wert für den zweiten -d. Wählen Sie dann erneut den Eintrag Root aus und fügen Sie klicken Sie dreimal auf die Schaltfläche Add Child. Damit werden drei weitere Elemente auf der obersten Ebene hinzugefügt.
Geben Sie als Wert für den ersten Eintrag Label vor und als Type wählen Sie String. Als Wert unter Value können Sie etwas in der Form org.apple.calendar eingeben. Die Bezeichnung für den zweiten Eintrag lautet EnableGlobbing und er ist vom Type Boolean. Die nun vorhandene Checkbox in der Spalte Value muss aktiviert werden. Die Bezeichnung für den dritten Eintrag lautet RunAtLoad und er ist ebenfalls vom Type Boolean und auch hier muss die Checkbox aktiviert werden. Das Ergebnis sollte der nachfolgenden Abbildung exakt entsprechen. Sie können die Datei auch hier herunter laden. Speichern Sie diese Datei im Verzeichnis LaunchAgents in der Library Ihres persönlichen Ordners mit dem Dateinamen org.apple.calendar.plist.
Der LaunchAgent wird im Property List Editor erstellt.
Wenn Sie sich mit Ihrem Benutzerkonto nun ab- und wieder anmelden, wird der CalendarServer automatisch im Hintergrund gestartet. Sie können alternativ auch am Terminal
launchctl load ~/Library/LaunchAgents/org.apple.calendar.plist
eingeben und so den Server sofort von Hand starten.
Test
Um zu prüfen, ob der Server im Hintergrund läuft, müssen Sie nicht in iCal irgendwelche Einstellungen vornehmen. Sie können auch im Browser die Adresse http://192.168.0.2:8008 aufrufen, wobei Sie die Angabe 192.168.0.2 durch die IP-Adresse ersetzen, die Sie in der Voreinstellungsdatei caldavd-dev.plist eingegeben haben. Sofern der Server aktiv ist, erhalten Sie eine Auflistung von verschiedenen Verzeichnissen.
Wenn der Server aktiv ist, erscheint im Browser eine Auflistung der Verzeichnisse.
Deinstallation
Um den auf diese Weise installierten Server zu löschen, können Sie einfach den Ordner Kalender und, sofern Sie den LaunchAgent erstellt haben, die Datei org.apple.calendar.plist in den Papierkorb legen. Wenn Sie sich ab- und wieder anmelden ist der Server nicht mehr aktiv und der Papierkorb kann geleert werden.
Installation als Systemdienst
Die Installation des CalendarServers innerhalb eines Benutzerkontos geht recht schnell von der Hand, hat aber den Nachteil, dass dieser Benutzer immer angemeldet sein muss, damit andere im Netzwerk auf den Server zugreifen können. Dabei lässt sich der CalendarServer auch als Dienst in Form eines LaunchDaemon installieren. Er wird dann sofort aktiviert, wenn das System gestartet wurde und läuft im Hintergrund unabhängig von den am Rechner angemeldeten Benutzern. Diese Installationsanleitung hat folgende Ziele:
- • Der CalendarServer und die ihn begleitenden Module werden im Verzeichnis /Library/Kalender installiert.
- • Der Server wird anschließend konfiguriert.
- • Die Zugriffsrechte des Verzeichnisses /Library/Kalender werden so geändert, dass der Zugriff über ein normales Benutzerkonto nicht mehr möglich ist. Alle enthaltenen Dateien und Ordner werden dem Benutzerkonto _calendar zugewiesen.
- • Es wird ein LaunchDaemon erstellt, der den Server aus diesem Verzeichnis automatisch beim Hochfahren des Systems startet.
Da im folgenden der Befehl sudo mehrfach genutzt wird und ferner Schreibrechte am Verzeichnis /Library benötigt werden, muss diese Installation mit einem Benutzerkonto erfolgen, das über administrative Rechte verfügt.
Download und Installation
Im Finder wechseln Sie zunächst in das Verzeichnis Library auf der obersten Ebene des Dateisystems und erstellen dann einen neuen Ordner mit der Bezeichnung Kalender.
Der Ordner Kalender wird in der Library des Systems erstellt.
Anschließend können Sie das Terminal starten und dort mit der Eingabe
cd /Library/Kalender
in das neu erstellte Verzeichnis wechseln. Der weitere Verlauf der Installation entspricht der innerhalb eines Benutzerordners. Mit der Eingabe von
svn checkout http://svn.calendarserver.org/repository/calendarserver/CalendarServer/tags/release/CalendarServer-2.3 CalendarServer
laden Sie den Quelltext des Servers herunter, der sich anschließend im Unterordner CalendarServer befindet. Wechseln Sie nun mit
cd CalendarServer
in dieses Verzeichnis und rufen Sie mit
./run -s
die Installationsroutine des CalendarServers auf. Anschließend werden die benötigten Bibliotheken und Programme herunter geladen und installiert. Der Vorgang entspricht der ersten Installationsanleitung, nur dass jetzt die Dateien und Verzeichnisse unter /Library/Kalender abgelegt werden.
Die Bibliotheken und Programme des CalendarServers werden in der allgemeinen Library installiert.
Konfiguration
Für die Konfiguration des Servers gelten die oben erläuterten Schritte. Duplizieren Sie die Datei caldavd-test.plist, benennen Sie die Kopie in caldavd-dev.plist um und fügen Sie dann im Property List Editor unter BindAddresses den Eintrag mit der IP-Adresse des Rechners hinzu. Ebenso können Sie in der Datei accounts-test.xml die Benutzerkonten, die später die einzelnen Kalender darstellen, wie oben beschrieben anlegen.
Wenn Sie die Konfigurationsdateien angelegt und bearbeitet habe, müssen Sie vor der Übernahme des Starts durch einen LaunchDaemon einen Testlauf durchführen. Wechseln Sie hierzu am Terminal zunächst mit
cd /Library/Kalender/CalendarServer
zunächst in das Verzeichnis des Servers und führen Sie durch die Eingabe von ./run einen Start durch. Sie können dann im Browser mit der Angabe http://192.168.0.2:8008 oder ähnlich prüfen, ob der Server gestartet wurde. Stellen Sie anschließend ebenfalls sicher, dass nun im Verzeichnis /Library/Kalender/CalendarServer ein Unterordner logs existiert.
Zugriffsrechte
Nachdem Sie den Server auf diese Weise konfiguriert haben, müssen die Zugriffsrechte für dieses Verzeichnis korrigiert werden. In der aktuellen Form gehört der Ordner Kalender und alle Unterverzeichnisse zu Ihrem Benutzerkonto und der Benutzergruppe admin. In der Benutzerdatenbank von Mac OS X gibt es bereits ein Benutzerkonto und eine Gruppe mit der Bezeichnung _caldav, die für den CalendarServer vorgesehen sind. Unter diesem Benutzerkonto soll der Server auch später ausgeführt werden. Am Terminal können Sie mit dem Befehl
sudo chown -R _calendar:_calendar /Library/Kalender
und der anschließenden Eingabe Ihres Passworts den Ordner Kalender und alle Unterverzeichnisse diesem Benutzerkonto und der Gruppe zuweisen. Mit der Eingabe ls -l /Library können Sie anschließend prüfen, ob die Zuweisung erfolgreich vorgenommen wurde. In der Zeile Kalender müsste anstelle von root und admin jeweils _calendar stehen.
Das Verzeichnis Kalender wurde dem Benutzerkonto _calendar zugeordnet.
Wenn Sie die Datei accounts-test.xml auch nachträglich noch bearbeiten möchten, ohne zuvor die Zugriffsrechte immer wieder korrigieren zu müssen, können Sie sich die Access Control Lists zu Nutze machen. Wählen Sie die Datei im Unterzeichnis auth des Ordners conf aus und rufen Sie über Ablage • Informationen das Info-Fenster des Finders auf. In dem Bereich Sharing & Zugriffsrechte können Sie zunächst auf das kleine Schloss klicken und Ihr Passwort eingeben. Mit einem Klick auf das Plus-Zeichen erscheint ein Fenster, in dem Sie aus den Benutzerkonten des Systems auswählen können. Wählen Sie hier Ihr Benutzerkonto aus. Abschließend ändern Sie die Rechte von Nur Lesen auf Lesen & Schreiben und schließen das Fenster wieder.
Der LaunchDaemon
Bei der Erstellung LaunchDaemon, der den CalendarServer automatisch starten soll, gibt es nun einige Punkte zu berücksichtigen. Die Entwickler des Servers empfehlen, den Server nicht über das Skript run zu starten sondern durch einen direkten Aufruf des Programms caldavd im /Library/Kalender/CalendarServer/bin. Bei diesem Aufruf müssen als Parameter sowohl die zu verwendende Konfigurationsdatei als auch der Name des so genannten Reaktors für den twisted-Daemon übergeben werden. Ferner müssen beim Start des LaunchDaemon zwei Umgebungsvariablen gesetzt werden, damit caldavd die im Verzeichnis /Library/Kalender abgelegten Bibliotheken und Programme findet.
Im Property List Editor können Sie eine neue leere Datei erstellen und als erstes einen neuen Eintrag mit der Bezeichnung ProgramArguments erzeugen. Dieser ist vom Type Array. Der Aufruf des Programms caldavd muss in der Form /Library/Kalender/CalendarServer/bin/caldavd -X -R caldav_kqueue -f /Library/Kalender/CalendarServer/conf/caldavd-dev.plist /Library/Kalender/CalendarServer/bin/caldavd -X -f /Library/Kalender/CalendarServer/conf/caldavd-dev.plist erfolgen. Dementsprechend benötigen Sie sechs vier Elemente unterhalb von ProgramArguments und Sie können dann die einzelnen Parameter des Aufrufs, wie sie durch Leerzeichen getrennt werden, als Item 0 bis Item 3 eingeben.
Die notwendigen Pfadangaben für die Bibliotheken werden durch den Aufruf von run -p ermittelt.
Dann gilt es, die beiden Umgebungsvariablen beim Start des Servers zu setzen. Hierzu können Sie im Property List Editor wieder den Eintrag Root auswählen und mit der Schaltfläche Add Child einen Untereintrag erzeugen. Benennen Sie diesen als EnvironmentVariables und wählen Sie unter Type die Option Dictionary aus. Wenn Sie den Pfeil in dieser Zeile nach unten ausklappen, können Sie über Add Child zwei Untereinträge erzeugen. Beide sind vom Type String und die Bezeichnung des ersten lautet PATH, die des zweiten PYTHONPATH. Zum Glück verfügt das Skript run mit der Option -p über eine Funktion, die benötigten Pfade zu ermitteln. Wenn Sie am Terminal das Skript mit
/Library/Kalender/CalendarServer/run -p
aufrufen, erhalten Sie anschließend eine mehrfach umgebrochene Zeile. Diese können Sie in die Zwischenablage kopieren und im Property List Editor in der Spalte Value des Eintrags PYTHONPATH einfügen.
Die Angabe für den Eintrag PATH setzt sich zusammen aus den Standardpfaden, die am Terminal verwendet werden, sowie den Pfad zur ausführbaren Datei von memcached. Letztere gehört zu den Dateien und Bibliotheken, die über den Aufruf von ./run -s installiert wurden. Die Angabe für den Pfad lautet
/bin:/sbin:/usr/bin:/usr/sbin:/Library/Kalender/memcached-1.2.6
Bevor Sie diese Zeile unter Value für den Eintrag PATH einfügen, sollten Sie kontrollieren, ob sich wirklich ein Verzeichnis memcached-1.2.6 im Ordner /Library/Kalender befindet. Da der Name des Verzeichnisses die aktuelle Versionsnummer des Daemons memcached enthält, kann es sein, dass bei einer aktuelleren Installation der Name beispielsweise memcached-1.3.1 oder ähnlich lautet. Sie müssten dann die Pfadangabe entsprechend anpassen.
memcache wird in der aktualisierten Fassung nicht mehr benötigt.
Die weiteren Einträge innerhalb der Property List sind nicht weiter spektakulär. Der Reihe nach:
| Bezeichnung | Type | Value |
| Label | String | org.apple.calendarserver |
| UserName | String | _calendar |
| GroupName | String | _calendar |
| KeepAlive | Boolean | Aktiviert |
| ThrottleInterval | Number | 60 |
| WorkingDirectory | String | /Library/Kalender/CalendarServer |
Ferner können Sie mit zwei Einträgen HardResourceLimits und SoftResourceLimits vom Typ Dictionary die maximale Belastung des Systems, die durch den CalendarServer verursacht werden kann, beeinflussen. Hierzu erstellen Sie bei beiden Einträgen jeweils einen Untereintrag mit der Bezeichnung NumberOfFiles, dem Typ Number und einem Wert von 12000. Damit wird vermieden, dass ein aus dem Ruder laufender CalendarServer Ihr System vollständig blockiert.
Eine weitere Möglichkeit der Konfiguration besteht darin, die Ausgaben des CalendarServers auf der Konsole umzulenken. Der Server ist recht geschwätzig wenn es um Auskünfte über seine aktuelle Arbeit geht und so kann es leicht passieren, dass die Konsolenmeldungen im Dienstprogramm Konsole mit den Ausgaben des CalendarServers regelrecht verstopft werden. Fügen Sie der Property List noch zwei Einträge vom Typ String hinzu und weisen Sie diesen als Bezeichnungen StandardOutPath und StandardErrorPath zu. Geben Sie bei beiden als Wert /dev/null vor, so verschwinden die Ausgaben des Servers im virtuellen Nirvana. Die fertige Property List sollte nun der folgenden Abbildung entsprechen.
Die Property List für den LaunchDaemon besteht aus einer Reihe von Einträgen.
Damit der CalendarServer als LaunchDaemon bei jedem Start des Systems automatisch aktiviert wird, muss er im Verzeichnis /Library/LaunchDaemons gespeichert werden. Sie können die zuvor erstellte Datei auf Ihrem Schreibtisch mit der Bezeichnung org.apple.calendarserver.plist speichern. Am Terminal können Sie sie nun durch die Eingabe von
sudo cp ~/Desktop/org.apple.calendarserver.plist /Library/LaunchDaemons/
in das entsprechende Verzeichnis kopieren. Um den CalendarServer als LaunchDaemon zu aktivieren, können Sie Ihren Rechner entweder neu starten oder Sie geben am Terminal
sudo launchctl load /Library/LaunchDaemons/org.apple.calendarserver.plist
ein.
Test und Deinstallation
Um zu prüfen, ob der CalendarServer jetzt im Hintergrund als LaunchDaemon aktiv ist, können Sie zunächst im Browser die Adresse http://192.168.0.2:8008 aufrufen. Erscheint die Auflistung der Verzeichnisse, dann ist die Installation erfolgreich gewesen. Ferner können Sie im Dienstprogramm Aktivitätsanzeige prüfen, ob es dort einen Prozess memcached und mehrere Prozesse Python gibt, die dem Benutzerkonto _calendar zugeordnet sind.
Der aktive CalendarServer wird in der Aktivitätsanzeige unter dem Benutzer _calendar aufgeführt.
Wenn Sie irgendwann den so konfigurierten CalendarServer nicht mehr benötigen, dann können Sie im Finder den Ordner Kalender aus der Library sowie die Datei org.apple.calendarserver.plist aus dem Unterordner LaunchDaemons der Library in den Papierkorb ziehen. In beiden Fällen werden Sie vom Finder aufgefordert, sich mit Ihrem Admin-Passwort zu identifizieren. Wenn Sie dann einen Neustart ausführen, ist der Server nicht mehr aktiv und Sie können den Papierkorb entleeren.
Die »richtige« Installation und darüber hinaus
Die beiden hier beschriebenen Installationsmethoden haben den Vorteil, dass sich alle Dateien, die irgendwie zum CalendarServer gehören, in einem Oberverzeichnis befinden. Wird dieses Verzeichnis zuzüglich der Datei des LaunchAgent oder LaunchDaemon gelöscht, dann ist der Server einwandfrei deinstalliert. Die eigentlich vorgesehene Installationsmethode besteht in dem Aufruf von sudo ./run -i anstelle von ./run -s. Hierbei werden die benötigten Bibliotheken ebenfalls herunter geladen, compiliert und installiert, wobei die Installation allerdings in den eigentlichen Verzeichnissen des Systems vorgenommen wird. So befinden sich dann die Python-Bibliotheken dort, wo sich auch andere Bibliotheken dieser Programmiersprache befinden. Die Voreinstellungsdateien finden sich dann im Verzeichnis /etc und die Daten der Kalender unter /Library/CalenderServer. Diese Installation sauber wieder zu entfernen, erfordert deutlich mehr Handarbeit am Terminal als die oben beschriebene Installation des Servers als LaunchDaemon. Ferner werden bei dieser Installation andere Dateien für die Konfiguration genutzt. So greift der Server für die allgemeine Konfiguration auf die Datei caldavd.plist im Unterordner conf zurück, als Datenbank für die Benutzerkonten wird die Datei accounts.xml konsultiert.
Diese Installationsanleitung kratzt nur an der Oberfläche dessen, was der Server zu leisten vermag. Auf die Benutzerkonten, Gruppen und Orte geht diese Installation nicht ein. Der CalendarServer ist in der Lage, bei diesen Daten nicht auf eine XML-Datei sondern auf einen Verzeichnisdienst wie OpenDirectory oder LDAP zurückzugreifen. Die Beschreibung dieser Installation und deren Administration würde aber weit, sehr weit über diese Webseite hinaus führen. Wenn Sie die Datei caldavd.plist durchsehen, werden Sie eine Reihe von selbst erklärenden Parametern finden. So finden Sie zum Beispiel einen Eintrag DirectoryService, über den Sie den Zugriff auf OpenDirectory konfigurieren könnten. Die Pfade zu den Daten und Protokollen lassen sich hier ebenfalls konfigurieren. Das Wiki der Entwickler unter http://trac.calendarserver.org/ kann für diese Art von Experimenten einen ersten Einstieg bieten.
iCal und Sunbird einrichten
Wenn der Server aktiv ist, gilt es natürlich die Programme, die auf den Server zugreifen sollen, entsprechend einzustellen. Diese Anleitung beschränkt sich auf iCal unter Mac OS X 10.5 und Sunbird unter Windows / Linux. Weitere Informationen können unter http://trac.calendarserver.org/wiki/CalendarClients eingesehen werden.
In iCal können Sie über den Menüpunkt iCal • Einstellungen die Voreinstellungen des Programms aufrufen und dort in die Ansicht Accounts wechseln. Mit einem Klick auf das Plus-Zeichen erscheint ein Fenster. Hier können Sie eine frei wählbare Beschreibung für diesen Kalender eingeben. Geben Sie dann den Kurznamen des Kalenders sowie dessen Passwort an. Mit einem Klick auf den Pfeil können Sie die Server-Optionen ausklappen.
Der Zugriff auf den Server wird in der Ansicht Accounts konfiguriert.
Als URL müssen Sie bei iCal nur die IP-Adresse des Servers gefolgt von :8008 angeben. Wenn Sie nun auf Hinzufügen klicken, erhalten Sie zunächst den Hinweis, dass die Kommunikation mit dem Server nicht verschlüsselt erfolgt. Für den Einsatz im lokalen Netzwerk ist die fehlende Verschlüsselung aber nicht so schlimm, so dass Sie sich Trotzdem verbinden können. Anschließend steht Ihnen dieser Kalender in iCal zur Verfügung. Alle Einträge und Änderungen, die Sie an diesem Kalender vornehmen, werden auf dem Server gespeichert und sind auch auf anderen Rechnern im Netzwerk, die auf diesen Kalender zugreifen, sichtbar. In den Standardeinstellungen gleicht iCal die Änderungen auf dem Server alle 15 Minuten ab. Über den Menüpunkt Kalender • Aktualisieren können Sie den Abgleich auch von Hand ausführen. Diesen Vorgang können Sie für jeden Kalender, den Sie über ein Benutzerkonto in der Datei accounts-test.xml realisiert haben, wiederholen.
Bei der Einrichtung von Mozilla Sunbird funktioniert die automatische Erkennung der URL zum Kalender nicht. Diese müssen Sie von Hand gemäß den Vorgaben (http://trac.calendarserver.org/wiki/CalendarClients) eingeben. Hierzu können Sie zunächst den Menüpunkt Datei • Neuer Kalender auswählen. In dem folgenden Assistenten wählen Sie Im Netzwerk und im nächsten Schritt dann das Protokoll CalDAV. Die Adresse setzt sich folgendermaßen zusammen:
http://IP-Adresse:8008/calendars/users/NAME/calender
Hier müssen Sie IP-Adresse durch die IP-Adresse des Servers ersetzen und NAME durch den Namen des Kalenders. Abschließend werden Sie nach dem Benutzerkonto und dem Passwort für diesen Kalender gefragt. Der Kalender steht Ihnen nun zur Verfügung.
Der »Ferienkalender« wird gleichzeitig in iCal... |
... und Sunbird angezeigt und im Netzwerk auf dem Server gespeichert. |
- Anmelden oder Registrieren um Kommentare zu schreiben



































03.07.2009
iCal: Verbindung mit CalDAV-Server klappt nicht
Hallo Kai, schöne Beschreibung. Im großen und ganzen scheint es auch zu funktionieren, allerdings gelingt es iCal sich nur dann zu verbinden, wenn ich den Standard-Account "admin" verwende. Wenn ich einen anderen Account verwende klappt es nicht. Das Verzeichnis (.../principals/users/andereruser) zu dem anderen Account ist vorhanden, es steht aber nichts drin, sprich es gibt keine Principal Details. Der Server meldet beim Versuch einen neuen Account in iCal anzulegen „HTTP/1.1 500 Internal Server Error“. Angeblich gibt es den Account nicht. Hast Du einen Tipp woran das liegen könnte?
Kay
19.12.2004
run -s
Hi kay,
gute Frage, der CalendarServer ist schon noch ziemlich bleeding edge, wie das ja schön heißt. Ich würde an Deiner Stelle mal mit ./run versuchen das Ding zu starten und dann mal einen sehr genauen Blick auf die Ausgaben am Terminal werfen. Wenn Du ihn schon als LaunchAgent instaliert hast, ist natürlich die gute alte Konsole der Adressat für die Fehlermeldungen. Dann schauen wir mal weiter.
So long, Kai
03.07.2009
Hallo Kai, hab gerade mal in
Hallo Kai,
hab gerade mal in die Konsole geschaut.
> 03.07.09 16:45:48 org.apple.calendarserver[43] 2009-07-03 16:45:48+0200 [-] [caldav-8009] [-] [twisted.web2.dav.method.propfind#error] Error reading property ('urn:ietf:params:xml:ns:caldav', 'calendar-home-set') for resource /principals/users/kay/: Directory record has an invalid GUID: 'kay?' > 03.07.09 16:45:48 org.apple.calendarserver[43] 2009-07-03 16:45:48+0200 [-] [caldav-8009] exceptions.AssertionError: Directory record has an invalid GUID: 'kay?'
Was mich dabei etwas stutzig macht ist, das dort 'kay?' steht, sich das Fragezeichen also innerhalb der Zeichenkette befindet. Ist die Darstellung der Fehlermeldung einfach nur komisch? Ich hätte ja 'kay'? erwartet. Müssen der User und die Gruppe im System existieren? Da das ganze später im Internet funktionieren soll, ist das für den Testaccount "kay" natürlich nicht der Fall. In meinem OS X gibt es keinen User und keine Gruppe "kay". Die stehen lediglich in "accounts-test.xml" drin.
Kay
PS: Ich habe die Installationsvariante in /Library/... gewählt.
19.12.2004
GUID
Also zunächst ganz allgemein: accounts.xml ist von der Benutzerverwaltung von OS X gänzlich unabhängig. Das ist ja auch der Kunstgriff meiner Installationsanleitung, dass anstelle von Ressourcen einfach Benutzer eingerichtet werden, die dann als Kalender fungieren. Mit GUID war da irgendwas. Ändere doch mal bei dem Benutzerkonto anstelle von kay die UID und GUID in zum Beispiel testbenutzer987 ab und probier das mal.
03.07.2009
UID != GUID
Hallo Kai,
guter Tipp, jetzt klappt es. Scheinbar müssen UID und GUID unterschiedlich sein. "http://192.168.0.2:8008/principals/users/kay/" ist jetzt auch erreichbar.
Vielen Dank
Kay
19.12.2004
UID != GUID?
Komisch, bei mir war das genau umgekehrt oder trügt mich meine Erinnerung? Naja, wenn's jetzt funktioniert. BTW: Wenn Du das Ding in freier Wildbahn (=Internet) verfügbar machst, behalte bitte im Hinterkopf, dass das Teil nicht fertig ist. Es kann also durchaus sein, dass Du Dir da eine Sicherheitslücke einfängst oder Dein System anderweitig angreifbar machst. Meine Hand leg' ich hier nicht ins Feuer.
16.07.2009
CalendarServer auf PPC
Hi, vielen Dank für das Tutorial. Hatte keine Probleme bei der Einrichtung auf Intel-Mac. Nur im Betrieb nutzen wir zwei Dual G5. Bei diesen Rechnern ließ sich der memcached Server nicht in Betrieb nehmen. Ich musste caldavd-dev.plist ergänzen. Ich öffne die Datei mit plist editor des iphone/x-tools sdk und öffne das array "Memcached". Ich lösche MaxClient und ersetze es durch den Eintrag "User" mit dem Wert "root" (String). Danach verschwand auch die Memcached Meldung: cant startet with -u option oder so ähnlich....
Auf jeden Fall läuft der kleine Racker bis jetzt zufriedenstellend.
15.11.2009
Alles klappt
auf Anhieb - vielen Dank für diese Anleitung. Der Server läuft bei mir auf einem Mini zusammen mit einigen anderen Programmen (eyeTV, iTunes, iPhoto, ..) als lokaler Server. Jetzt wär's natürlich schön den WebDav Server noch weiter konfigurieren zu können, auch wenn das "den Umfang der Seite" sprengt. Kennt noch jemand Links/Seiten mit weiter führenden Hinweisen dazu? Danke!
15.11.2009
..oder doch nicht: Autostart
..oder doch nicht: Autostart funktioniert nicht nach Neustart obwohl ich Alles nach Anleitung erledigt habe. Ich habe nochmals den Pfad in "org.apple.calendar.plist" überprüft, aber der Server startet dennoch nicht, nur manuell über ./run im Terminal. Was mache ich falsch? Oder muss man den Pfad nicht anpassen?
19.12.2004
Also
Links zu weiterführenden Seiten außer der Hauptseite des Projekts habe ich eigentlich nicht. Da findet sich, wenn ich das richtig in Erinnerung habe, auch eine Mailingliste und ein Archiv. Was den Start angeht: Schau doch mal mit der Konsole ins Protokoll, ob z.B.unter system.log irgendeine Fehlermeldung erscheint. Ansonsten müsstest Du mir bzgl. der Pfadangabe noch verraten, wo Du den Server installiert hast.
15.11.2009
Re: Also
Schade, aber ich kann ja mal googlen. Das mit den Usern war ja recht einfach, aber ich suche halt noch Hilfen dazu was ich mit den Gruppen anfangen kann, oder wie man mehrere Kalender für verschiedene Aspekte einrichtet.
Zu meinem anderen Problem: in der Konsole habe ich folgendes gefunden: Nov 15 19:29:55 Mac-mini com.apple.launchd[152] (org.apple.calendar[217]): Exited with exit code: 1 Nov 16 15:54:55 Mac-mini org.apple.calendar[209]: /Users/multimedia/Kalender/CalendarServer/run: line 38: support/build.sh: No such file or directory
Also Pfad hatte ich zunächst folgendes angeben: /Users/multimedia/Kalender/CalendarServer/run aber damit startete der Server nicht. Auch mit der Version/String aus der Anleitung -/Kalender/CalendarServer/run startet er nicht. Kann ja sein das ich betriebsblind bin, aber vielleicht findest du ja für mich den Bug. Wie du aus dem obigen Pfad entnehmen kannst habe ich ihn erst einmal in meinem Benutzer-Account angelegt. Es sit ein Autostart-Account auf unserem Mac mini den wir mal Mutimedia-Server zum Fernsehen und FileServer etc. nutzen mit Admin-Rechten.
Gruss J.
29.11.2009
Problem nach Zugriffsrechte konfigurieren
Hallo Kai
Super Tutorial, sogar für mich als absolutem Terminal-Neuling problemlos verständlich und nachvollziehbar! Ein grosses DANKE dafür!
Allerdings habe ich ein Problem bei der Installation auf OS X 10.6 (Snow Leopard): Nach dem Schritt mit der Konfiguration der Zugriffsrechte lässt sich der Server nicht mehr starten. Nach Eingabe des ./run-Befehls gibt Terminal die folgenden Zeilen aus:
iMac:CalendarServer Christoph$ ./run
Building PyXML...
Building PyKerberos...
Building PyOpenDirectory...
Building Twisted... [overrides system, building egg-info metadata only] error: Twisted.egg-info/requires.txt: Permission denied
Using python as Python
Starting server... exec python /Library/Kalender/Twisted/bin/twistd -n caldav -f /Library/Kalender/CalendarServer/conf/caldavd-dev.plist -o ProcessType=Combined /Library/Kalender/Twisted/twisted/mail/smtp.py:10: DeprecationWarning: the MimeWriter module is deprecated; use the email package instead import MimeWriter, tempfile, rfc822 /Library/Kalender/CalendarServer/calendarserver/tap/caldav.py:48: DeprecationWarning: mktap and related support modules are deprecated as of Twisted 8.0. Use Twisted Application Plugins with the 'twistd' command directly, as described in 'Writing a Twisted Application Plugin for twistd' chapter of the Developer Guide. from twisted.scripts.mktap import getid Traceback (most recent call last): File "/Library/Kalender/Twisted/bin/twistd", line 19, in run() File "/Library/Kalender/Twisted/twisted/scripts/twistd.py", line 27, in run app.run(runApp, ServerOptions) File "/Library/Kalender/Twisted/twisted/application/app.py", line 689, in run config.parseOptions() File "/Library/Kalender/Twisted/twisted/application/app.py", line 669, in parseOptions usage.Options.parseOptions(self, options) File "/Library/Kalender/Twisted/twisted/python/usage.py", line 231, in parseOptions self.subOptions.parseOptions(rest) File "/Library/Kalender/Twisted/twisted/python/usage.py", line 241, in parseOptions self.postOptions() File "/Library/Kalender/CalendarServer/calendarserver/tap/caldav.py", line 219, in postOptions self.checkConfiguration() File "/Library/Kalender/CalendarServer/calendarserver/tap/caldav.py", line 279, in checkConfiguration create=(0750, config.UserName, config.GroupName), File "/Library/Kalender/CalendarServer/calendarserver/tap/caldav.py", line 337, in checkDirectory % (description, dirpath) twistedcaldav.config.ConfigurationError: Insufficient permissions for server on Data root directory: data/ launchctl bsexec failed: No such file or directory
VOR der Konfiguration lässt sich der Server problemlos starten.
Ist Dir dieses Problem bekannt und weisst Du eventuell eine Lösung?
Grüsse, Newbie
19.12.2004
Re: Problem nach Zugriffsrechte konfigurieren
Du hast die Installation als LaunchDaemon unter /Library/Kalender vorgenommen? Dann ist diese Fehlermeldung nicht nur nachvollziehbar sondern sogar gewünscht. Der Grund besteht darin, dass der Server zukünftig nur noch unter dem Benutzerkonto
_calendarausgeführt werden soll. Startest Du ihn eigenhändig unter dem BenutzerChristopham Terminal, dann wird der Server unter Deiner Benutzerkennung ausgeführt und darf in diesem Fall auf die Dateien nicht mehr zugreifen, denn diese wurden durch den Befehlchownja dem Benutzer_calendarzugewiesen. Du müsstest die Installation wie beschrieben fortsetzen und den Server als LaunchDaemon starten lassen, dann müsste es eigentlich klappen. Der eigenhändige Start ist bei der Konfiguration als LaunchDaemon nicht vorgesehen.19.12.2004
Re: Also
Also die Pfadangabe lautet: ~/Kalender/CalendarServer/run. Wichtig ist die Tilde ~ (alt + N) und kein Minuszeichen. Klappt es denn mit der von mir zum Download angebotenen Datei? p.s. - Sry für die Wartezeit, Manuskriptabgabe und so.
29.11.2009
Hallo Kai Besten Dank für die
Hallo Kai
Besten Dank für die prompte Antwort! Ich habe nun Deine Anleitung weiter befolgt (Installation als LaunchDaemon unter /Library/Kalender) und stehe vor dem nächsten Problem:
Bei mir existiert in /Library/Kalender/ KEIN Verzeichnis mit dem Namen "memcached"... es hat lediglich folgende Verzeichnisse:
CalDavTester
CalendarServer
Pyflakes
PyKerberos
PyOpenDirectory
PyXML-0.8.4
Twisted
vobject
Entsprechend gibt der LaunchDaemon die Fehlermeldung "org.apple.calendarserver: Invalid Argument" aus.
Vielleicht stelle ich mich aber auch einfach nur extrem unbeholfen an?
Grüsse Newbie
19.12.2004
Vielleicht stelle ich mich
Nein. Mir ist gerade aufgefallen, dass die Version, die mit dem Befehl
svn checkoutvom Server geladen wird, eine viel aktuellere (3.0) ist als die, die ich beschreibe (2.3). Ich müsste die Tage mal die Anweisung anpassen, damit die ältere Version geladen wird. Eingangs wird ja erwähnt, dass es sich bei den verfügbaren Fassungen um eine sehr rohe Version handelt und die Entwickler stricken heftig dran. Hoffentlich finde ich in den nächsten Tagen die Zeit, die Beschreibung anzupassen. Sry für den Fehlschlag, das hätte ich vielleicht eher merken können.29.11.2009
Version 2.3 noch verfügbar?
Ach so, danke.
Kann ich die ältere Version vielleicht noch irgendwo abrufen? Ansonsten kein Problem, ist ja nicht hyperdringend.
*Edit*: Hat sich erledigt, habe die Passage mit "Anweisung anpassen, damit die ältere Version geladen wird" übersehen... Sry!
05.03.2010
gcc-4.2 failed
Hallo,
ich stehe schon bei der Installation vor dem Problem, dass folgende Fehlermeldung kommt:
... Building PyXML... unable to execute gcc-4.2: No such file or directory error: Command 'gcc-4.2' failed with exit status 1
Gibt es dafür auch schon einen Lösungsansatz? Ich stecke da leider noch nicht soweit in der Materie, dass ich da selbst weiter komme.
Gruß Andy
19.12.2004
Xcode installiert?
Es scheint so, als dass der Fehler auftritt, weil der GNU C Compiler (gcc) nicht installiert oder gefunden wurde. Xcode von der Installations-DVD wurde installiert? Das müsste dem Problem eigentlich schon abhelfen.
05.03.2010
Ist drauf, aber...
Hallo Kai,
vielen Dank für Deinen Hinweis. Ich habe Xcode installiert, allerdings nicht von der DVD, sondern eine aktuelle Version aus dem Netz.
Macht das einen Unterschied? Denn auch hier bekomme ich wieder eine Fehlermeldung im zusammenhang mit gcc-4.2. Dieses Mal "failed with exit status 1".
Gruß Andy
19.12.2004
Wie lautet die Fehlermeldung
Wie lautet die Fehlermeldung denn jetzt?
05.03.2010
Da steht......
Hallo Kai,
ich denke ich habe den Fehler gefunden, er versucht gcc-4.2 auszuführen, installiert ist aber nur gcc-4.0. Jetzt muss ich versuchen auf 4.2 zu gehen und dann sollte es wohl laufen. Eine neue Installation von Xcode ist leider fehlgeschlagen.
Gruß Andy
Nachtrag: Habe gerade Xcode für 10.6 nachinstalliert, die Installation lief danach super durch. Jetzt kann ich weiter mit dem CalendarServer kämpfen!
Vielen Dank!
05.03.2010
Rennt...
Hallo Kai,
es war zwar ein wenig Fummelarbeit aber jetzt läuft er super. Ist bereits eingebunden in iCal(s) und macht einen guten Eindruck.
Danke nochmal für Deine Hilfe!
Gruß Andy