Mac OS X: Apache und FileVault – 403 Forbidden Error

Nach der installation von Snow Leopard auf meinem MacBook habe ich mich dazu entschlossen die mitgelieferten Versionen von Apache und PHP zu verwenden. Ich habe dazu eine sehr übersichtliche Anleitung zur Installation von Apache, PHP und MySQL auf Mac OS X 10.6 „Snow Leopard“ gefunden. Leider war es mir damit jedoch nicht möglich auf meinen Websites-Ordner im Home-Verzeichnis zuzugreifen. immer wieder tauchte der Fehler 403 Forbidden auf. Es hat lange gedauert, bis ich darauf gekommen bin, daß meine Entscheidung für die Verschlüsselung meines Home-Verzeichnisses mittels FileVault die Ursache für diesen Fehler ist.

Google hat mich zu einer Lösung von Mac OS X Hints geführt, die ich hier für Snow Leopard angepaßt und reduziert wiedergebe.

The following statement grants the user _www the right to look into known sub-directories, provided their permissions allow such access:

chmod +a "_www allow search" /Users/username

You can check the ACLs by using the ls command with the -e option:

ls -alske /Users

Jetzt muß nur noch sichergestellt sein, daß das Verzeichnis ~/Sites Lese- und Schreibrechte für Other hat. Das geht mit dem Befehl chmod -R o+rwX ~/Sites/
Jetzt funktioniert der Apache von Snow Leopard problemlos zusammen mit FileVault. Das der Nutzer _www jetzt in mein Home-Directory gucken kann sehe ich nicht als Sicherheitsproblem an. Erstens können nur Verzeichnisse mit Leserechten für die Welt (Other) angeguckt werden, zweitens sehe ich FileVault weniger als Schutz bei laufendem System, sondern vielmehr als Datenschutz bei Verlust meines Rechners.

Alias für TextEdit, Programme aus dem Terminal starten

Bei meinen bisherigen Versuchen ein Alias für TextEdit im Terminal einzurichten, gab es immer irgendwelche Unbequemlichkeiten.

Ein Vorschlag, der auch auf vielen anderen Seiten zu finden ist, war
alias te '/Applications/TextEdit.app/Contents/MacOS/TextEdit'
Grundsätzlich funktioniert das zwar, aber das gibt (bei mir) häßliche Fehlermeldungen. Außerdem ist das Terminal blockiert, solange TextEdit geöffnet ist. Der Hinweis, ein & hinter den Befehl zu setzen funktioniert (bei mir) nicht. Auch startet jedes mal eine komplett neue Insstanz von TextEdit, die sich im Dock niederläßt.

Die Lösung ist
alias te=' open /Applications/TextEdit.app/'

Das entscheidende Fundstück brachte mal wieder wiederholtes googlen. Der Befehl open öffnet eine Applikation wie über die graphische Oberfläche. Keine fehlermeldungen, das Terminal ist nicht blockiert und auch kein mehrfacher Start der Applikation. Super! 🙂

Fügt man oben genannte Zeile in ~/.bash_profile ein, läßt sich jede (lokale) Datei im Terminal mit te foo.txt öffnen und bearbeiten, ohne auf eine komfortable grafische Oberfläche verzichten zu müssen.

Warum eigentlich der Alias, wenn open doch eine Datei direkt entsprechend Ihres Types öffnet? Ganz einfach. So können auch Shell-Skripte, die sonst ausgeführt würden sowie Dateien ohne (passende) Dateiendung im Texteditor geöffnet werden. Zu guter Letzt ist te natürlich nur halb so viel zu tippen wie open. 😉

TextMate fügt übrigens automatisch den Befehl (genauer: das Programm) mate hinzu. Der Befehl mate foo.txt öffnet dieses in TextMate.

Upgrade subversion client on Mac OS X

Bei Gridshore habe ich eine sehr gut funktionierende Anleitung gefunden, wie man den bei Mac OS X mitgelieferten svn Client (Version 1.4.4) aktualisieren kann:

# Download the binaries from the website : http://subversion.tigris.org/getting.html#osx. I used the openCollabnet version. [http://downloads.open.collab.net/binaries.html] You do have to provided your details to download, just leave everything empty.

# Use the downloaded installer to install all the subversion binaries.

# Make sure that the new binaries are on the path before the original subversion libraries. Issue the following command in a terminal.

export PATH=/usr/local/bin:$PATH

via Gridshore » Upgrade subversion client on mac osx.

Dauerhaft erhalten bleibt der Spaß, wenn man den letzgenannten Befehl in die Datei .bash_profiles einfügt – vorausgesetzt, man nutzt bash als shell im Terminal. Sonst ist vermutlich .profiles der richtige Ort dafür. Jetzt Terminal neustarten und mit svn –version testen.