Wenn man Webseiten entwickelt ist es manchmal sehr angenehm eine lokale SQL Datenbank zu haben. Da ich mein Powerbook manchmal mitnehme und auch ohne Internetverbindung arbeiten möchte ist eine lokale Datenbank eine Notwendigkeit. Ein Apache Webserver ist bei OS X bereits mitgeliefert und vorkonfiguriert. Aktivieren kann man den Webserver in den Systemeinstellungen unter Sharing. Das DocumentRoot liegt unter
/Library/WebServer/Documents
PHP wird ebenfalls mit ausgeliefert, muss jedoch in der Apache Konfiguration aktiviert werden. Die Konfigurationsdatei befindet sich in
/etc/httpd/httpd.conf
dort müssen zwei Zeilen entkommentiert werden (das # entfernen) und zwar folgende:
LoadModule php4_module libexec/httpd/libphp4.so
AddModule mod_php4.c
Falls nicht bereits geschehen, sollte man dem Apachen noch mitteilen, dass index.php eine gültige Index-Seite ist. (Es wird nur index.php hinzugefügt, der Rest ist schon vorhanden)
DirectoryIndex index.html index.php
danach den Apachen neu starten (z.B. unter Sharing, das Websharing einmal deaktivieren und wieder aktivieren).
Sharing Preferences
Zum Abschluss wird noch MySQL installiert. Am einfachsten lädt man sich das fertige Paket von der
MySQl Webseite herunter. Die Installation sollte selbsterklärend sein. Es gibt 3 Objekte, einmal den Datenbankserver selbst, einmal ein Startobjekt, welches ermöglicht, den Server beim Betriebssystemstart zu starten und ein Plugin für die Systemeinstellungen, welche zum Starten/Stoppen benutzt werden kann.
MySQL Preferences
Zur Administration des MySQL Servers empfehle ich das Tool
MySQL Administrator ebenfalls direkt von der MySQL Webseite zu beziehen.
MySQL Administrator
Damit ist es einfach z.B. Benutzer einzurichten oder Datenbankbackups zu erstellen.
Bleibt noch ein Problem. Will man PHP 4.x mit MySQL 4.1.x benutzen, so wird die Authentifizierung am Server fehlschlagen, da MySQL ab der Version 4.1 andere Hash-Algorithmen benutzt. Der Server besitzt aber einen Kompatibilitätsmodus. Dazu setzt man das Passwort des Users, der per PHP auf die Datenbank zugreifen soll wie folgt:
mysql> SET PASSWORD FOR 'user'@'host' = OLD_PASSWORD('pass');
Diese Eingabe erfolgt in der MySQL-Shell, erreichbar mit
mysql -u root -p
oder, wenn kein Passwort für den User root gesetzt ist mit
mysql -u root
(Das schnellstens ein Passwort gesetzt werden sollte ist selbstverständlich.)
Nun sollte man ein lauffähiges Mamp-System haben. Fragen und Anregungen bitte direkt unter diesem Artikel als Kommentar.