Als jahrelanger User von MAMP und XAMP welche Out of the Box eine Entwicklungsumgebung mit Apache2, Mysql und PHP bieten hat es mich durch meine Buchrezension von PHP für WordPress dazu bewegt es mal mit den Bordmitteln von OSX zu versuchen. Bis auf den MySQL Server ist alles schon in OSX integriert und läßt sich mit ein paar Terminal Befehlen als Entwicklungsumgebung nutzen. Auf  „doppelten“ Installationen (MAMP/XAMP) kann man somit getrost verzichten. Leider gibt es dabei auch ein paar Fallstrike im MySQL Paktet hat mich veranlasst, den Installationsweg einmal zu dokumentieren. Anfangen will ich mit dem Webserver: Systemsteuerung öffnen.

Im PrefsPane Freigaben die Webfreigabe aktivieren.

Der Webserver sollte nun funktionieren und kann unter http://Rechnername bzw. http://Rechnername/~Benutzername/ erreicht werden. Letztere ist das Verzeichnis Websites im eigenen Homeverzeichnis. Als nächstes kommt die Aktivierung von PHP5: Dazu muss die Apache Konfigurationsdatei httpd.conf konfiguriert werden, welche man unter Macintosh HD:private/etc/apache2 findet. Da sich diese Datei in einem verstecktem Verzeichnis (hidden) befindet ist ein Editor wie TextWrangeler hilfreich welche eine Option zum öffnen versteckter Dateien enthält.

In der Konfigurationsdatei sucht man nach

[php]#LoadModule php5_module        libexec/apache2/libphp5.so[/php]

und löscht einfach das Hash Zeichen am Anfang der Zeile.

[php]LoadModule php5_module        libexec/apache2/libphp5.so[/php]

Dadurch wird das Modul PHP5 aktiviert. Nach Speichern der Datei und Neustart des Webservers (Ab- und Anwählen der Webfreigabe in der Systemsteuerung) sollte ein Webserver mit funktionierendem PHP5 vorhandenden sein. Um dies zu überprüfen legt man eine Datei mit folgendem Quelltext an

Diese speichert man im eigen Websitesordner unter phpinfo.php. Im Webbrowser sollte nun unter

http://Rechnername/~Benutzername/phpinfo.php</a>

die Statusmeldung von PHP erscheinen.

Installation Mysql

Download des aktuellen 64-Bit Paketes (mysql-5.5.8-osx10.6-x86_64.dmg).

DiskImage mounten und das Paket mysql-5.5.8-osx10.6-x86_64.pkg installieren.

Danach die MySqlStartupItems.pkg und des PrefsPane MySQL.prefPane installieren.

Nach dem durchlaufen der einzelnen Pakete ist der MySQL Server installiert und sollte Einsatzbereit sein. Dem ist leider nicht so. Über die Systemsteuerung lassen sich neuere MySQL Server unter Snow Leopard nicht starten.

Mysql startet nicht über die Systemsteuerung

Wenn man frühere MySQL Pakete vergleicht fällt auf das es im Startup Skript einige Unterschiede gibt, welche den Start via PrefsPane unterbinden. Um auf eine funktionierende PrefsPane zurückgreifen zu können geht man fogendermaßen vor:

Öffnen der Datei

/usr/local/mysql/support-files/mysql.server

Suche nach nach: „Set some defaults

4 Zeilen darunter sollte die Zeile

[php]basedir=.

[/php]

mit

[php]

basedir=/usr/local/mysql[/php]

ersetzt werden. Danach sucht man den nach „Set pid file if not given“ 3 Zeilen darunter wird

[php]mysqld_pid_file_path=$datadir/hostname.pid[/php]

mit

[php]mysqld_pid_file_path=$datadir//bin/hostname.pid[/php]

ersetzt. Nach dem Speichern (unter Eingabe des root Passwortes) sollte der PrefPane den MySQL Server starten. Ein weiteres Problem erkennt man nach dem Neustart des Systems wenn der MySQL Server automatisch gestartet werden soll. Das Startup Skript hat leider eine falsche Gruppenberechtigung (staff statt wheel). OSX unterbindet den Start mit der Begründung das die Berechtigung nicht stimmt. Ein

[php]

sudo chown :wheel /Library/StartupItems/MySQLCOM

sudo chown :wheel /Library/StartupItems/MySQLCOM/MySQLCOM

sudo chown :wheel /Library/StartupItems/MySQLCOM/StartupParameters.plist

[/php]

hat zur Folge das die Systemgruppe wheel MySQLCOM starten darf. Ein Neustart sollte nun ohne Fehlermeldung mit gestartetem MySQL Server erfolgen.

Als Abschluß besitzt man ein fertiges Entwicklungssystem unter SnowLeopard. Für die Einrichtung und Administration der Datenbanken empfielt sich unter OSX die MYSQLWorkbench welche man sich bei MySQL.com herunterladen kann.

Ihr Partner für Systemintegration, Anwendungsentwicklung und Webdesign - Ihr Partner für Internet, Netzwerk und Entwicklung