Dank meines neuen Intel basierten Macs ist es für mich noch einfacher geworden mit den aktuellsten PHP Versionen zu entwickeln, die mir sonst beim Compilieren unter OSX regelmässig Probleme bereitet haben. Ich habe mir bei Arktis eine Lizenz von Parallels Desktop gekauft - DER Virtualisierungs Lösung für Mac OS X. In einer Parallels Instanz läuft nun mein Test-Server auf Basis von Ubuntu Linux, dem aktuellsten Snapshot von PHP 5.2, dem aktuellsten LightTPD sowie MySQL 5.
Die eigentliche Entwicklung findet bei mir unter OSX statt. Mein bevorzugter Editor ist TextMate, der für gerade einmal 39€ Lizenzgebühr erstaunlich leistungsfähig ist. Code-Folding, Code-Cempletion (wer’s mag), Tabs, Projektverwaltung, erweiterbar durch Macros und Scripts, Support für 50+ Sprachen, SubVersion Integration und eine ganze Reihe nützlicher und schnell erreichbarer Tools sind nur einige der Features, die einem TextMate bietet.
Mein Projektverzeichnis ist über Samba freigegeben. Freigaben sind unter OSX nicht immer einfach zu verwalten. Deshalb nehme ich hierfür das kostenlose Tool SharePoints welches sich wahlweise als ‘Preference Pane’ in die Systemeinstellungen einbinden lässt, aber auch als normale Applikation benutzbar ist. Über SharePoints lassen sich einfach Samba (SMB) und Apple File Server (AFS) Freigaben auf beliebige Verzeichnisse einrichten. Wichtig ist, dass man in den OSX Systemeinstellungen unter ‘Sharing’ noch die Einstellung ‘Windows Sharing’ aktiviert.
Auf Linux Seite in der Parallels Instanz müssen evtl. die SMB Tools installiert werden, um SMB Shares mounten zu können. Dies geschieht wie immer ganz bequem per ‘apt-get install smbfs’. In der Datei ‘/etc/fstab’ kann man dann das von OSX freigegebene Verzeichnis eintragen und über einen Mountpoint unter Linux mounten (siehe Screenshot).
Ich verwende für meine Rechner in meinem lokalen Netz statische IP Adressen, die mein WLAN Router - eine Fritz!Box - von Haus aus leider nicht unterstützt. DHCP Adressen für die Fritz!Box sind ab Adresse 20 reserviert - z.b. 192.168.178.20, sodass die IP Adressen 192.168.178.3 - 192.168.178.19 gefahrlos als statische Adressen verwendet werden können, ohne dass es zu Konflikten kommt, wenn im Netz noch ein paar Rechner hängen, die ihre Adressen per DHCP beziehen.
Auf einem alten Rechner, auf dem ebenfalls ein Ubuntu Linux läuft und den ich als Print-Server verwende, habe ich noch einen DNS installiert, sodass ich auf meine Rechner nicht über die IP Adresse zugreifen muss, sondern Namen verwenden kann. Hier kommt bei mir die Software dnsmasq zum Einsatz, die mir die von mir benötigte Namensauflösung bietet und supereinfach zu Installieren und Konfigurieren ist. Wenn dnsmasq nicht per ‘apt-get’ zu bekommen ist, kann man sich die Sourcen auch einfach über die verlinkte Seite besorgen und problemlos selbst compilieren und installieren.
Nachdem dnsmasq installiert ist, kann man die Namen der im Netzwerk vorhandenen Rechner einfach über die Datei ‘/etc/hosts‘ pflegen. Ausserdem muss man unter OSX und in der Parallels Linux Instanz noch den Server, auf dem dnsmasq läuft, als Nameserver eintragen - dies geschiet am einfachsten über die Datei ‘/etc/resolv.conf‘. Wenn man an mehreren Projekten arbeitet, möchte man diese wahrscheinlich in der WebServer Konfiguration als virtuelle Hosts anlegen. Damit man nicht alle Hosts in ‘/etc/hosts‘ anlegen muss, kann man auch eine Wildcard als Subdomain für den Hostname des Entwicklungsservers konfigurieren.
Als angenommene IP Adresse 192.168.178.12 und Hostname devel.homeserver.org für den Entwicklungsserver müsste man die Datei ‘/etc/dnsmasq.conf‘ durch den Eintrag ‘address=/devel.homeserver.org/192.168.178.12 erweitern. Danach kann man über beliebige Subdomains auf diesen Rechner zugreifen, z.b. project1.devel.homeserver.org.