Um den Davical-Server für mein Apple-Universum am Laufen zu halten habe ich folgende Patches für DaviCal 1.1.1 eingespielt:

Unter Mac OS X (Lion?) konnten keine Gruppen mehr angelegt werden:
http://www.inf-it.com/fixes/davical_2012-11-01.tgz
Eine Kopie gibt’s auch unter:
http://www.rana.at/technical/davical/patches/davical_2012-11-01.tgz

Es kam eine Fehlermeldung ähnlich
[NSInvalidArgumentException] -[CoreDAVNullParser rootElement]: unrecognized selector sent to instance 0x600000018e50

OS X Mavericks: es konnten keine neuen Kontakte (oder Gruppen) angelegt werden:
https://github.com/DAViCal/davical/commit/03c34598e60f4766fb3bda492d7b4f9dc04cd54b
Eine Kopie gibt’s auch unter:
http://www.rana.at/technical/davical/patches/maverick-fix.tgz

Quelle: http://blogs.citrix.com/2013/10/31/citrix-on-osx-10-9-mavericks/

Offenbar wurde in OS X Mavericks ein neues Sicherheitsfeature eingespielt, dass beim Citrix-Viewer den ärgerlichen Nebeneffekt hat, dass es immer wieder zu Verzögerungen beim Arbeiten kommt. Dieses Feature validiert ARP-Pakete, u.a. die des Standard-Gateways. Offenbar führt es bei mir im Netzwerk, wo es keine Cisco-Komponenten mit aktiviertem HSRP gibt, zu einem ähnlichen Effekt, wie im Citrix-Blogg beschrieben.

Abhilfe:
sudo su
touch /etc/sysctl.conf
echo net.link.ether.inet.arp_unicast_lim=0 >> /etc/sysctl.conf
chown root:wheel /etc/sysctl.conf
chmod 0644 /etc/sysctl.conf

Danach ein Reboot und es funktionierte bei mir.

Hinweis:
Möglicherweise existiert die Datei /etc/sysctrl.conf bereits mit wichtigen Einstellungen, dann sollte die Datei nicht mit touch überschrieben werden. Dann einfach nur:
sudo su
echo net.link.ether.inet.arp_unicast_lim=0 >> /etc/sysctl.conf

Das hängt diesen Konfigurationsparameter an bereits andere an.

Die Anleitung gilt für ein neuinstalliertes OS X Mountain Lion! Bei einem Upgrade von Lion können schon teilweise Komponenten aktiv sein.

Beim OS X Mountain Lion kann der Webserver nicht mehr über die “Freigaben” in den “Systemeinstellungen” aktiviert werden. Es ist quasi ein Sicherheits-Feature, damit so wenig wie möglich Dienste auf einem Mac aktiv sind.
Wie vieles, kann man den Webserver trotzdem aktivieren. Ich mache das am liebsten mit vhosts, da ich mehrere Websites betreibe.

Zuerst für die verschiedenen lokalen Domains einen Eintrag (hier der Hostname dummy.host) in der Datei /etc/hosts erstellen:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost dummy.home
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

Wichtig: der Hostname localhost muss unbedingt bleiben, da sonst einige Dienste nicht funktionieren werden!

Kurz kann man die Funktion testen, indem man den Hostnamen anpingt:

host chris$ ping dummy.home
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.034 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.043 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.070 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.035 ms
…

In der Konfigurationsdatei /etc/apache2/httpd.conf folgenden Eintrag aktivieren (das Kommentarzeichen # vor dem Include entfernen):

…
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
…

In der gleichen Datei /etc/apache/httpd.conf kann auch gleich PHP5 aktiviert werden (das Kommentarzeichen # am Beginn der Zeile entfernen):

…
LoadModule php5_module libexec/apache2/libphp5.so
…

Jetzt kann der tatsächliche vhost angelegt werden. Dazu wird die Konfigurationsdatei /etc/apache/extra/httpd-vhosts.conf editiert:

…
<VirtualHost *:80>
ServerAdmin username@dummy.home
DocumentRoot "/Users/username/…"
ServerName dummy.home
ErrorLog "/private/var/log/apache2/dummy.home-error_log"
CustomLog "/private/var/log/apache2/dummy.home-access_log" common

<Directory "/Users/username/…">
Options -Indexes FollowSymLinks
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>

</VirtualHost>
…

Der entsprechend richtige Pfad ist bei DocumentRoot bzw. Directory einzutragen.

Am Schluss dann den Apache Webserver mit
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
starten.

Im Verzeichnis, das bei DocumentRoot angeben ist, eine Index-Datei index.html mit folgendem Inhalt erstellen:

<html><body><h1>My site works</h1></body></html>

Im Browser den Link http://dummy.home/ aufrufen und im Browser

My site works

sehen (hoffentlich).

Falls etwas nicht funktioniert, dann in den Logfiles

  • /var/log/sysgtem.log
  • /var/log/apache2/dummy.home-error_log
  • /var/log/apache2/error_log

kontrollieren, was nicht funktioniert. Leider ist der Apache am Mac OS X nicht besonders auskunftfreudig.