Auf Mac OS X habe ich meine PHP Scripte bisher mit XAMPP oder MAMP gemacht. Das funktioniert bei beiden sehr gut und man hat ein rundum sorglos Paket. Viel einfacher noch ist es aber, wenn man die internen Ressourcen von Mac OS X nutzt. Apache 2.2 und PHP 5.24 gehört ebenso wie Ruby on Rails zum Produktstandard. Aber wo finde ich das? Und wie aktiviere ich es? Nun denn!
1) Als erstes muss der Apache Webserver gestartet werden. In den Systemeinstellungen findet man unter Sharing den Punkt Web-Sharing. Wenn man diesen aktiviert, wird der Webserver gestartet. That’s it!

2) Nicht ganz, denn leider ist die Verbindung zwischen PHP und dem Webserver nicht aktiv, das heisst es werden keine Scripte ausgeführt. Um diesen Umstand zu ändern, muss man die Konfiguration des Apache Webservers ändern. Über das Finder Menü “Gehe zu -> Gehe zu Ordner…” gibt man “/etc/apache2″ ein. Es öffnet sich ein Finder Fenster. Darüber kann man die Datei httpd.conf mit einem Texteditor wie TextMate oder TextWrangler öffnen. Aus der Zeile:
#LoadModule php5_module libexec/apache2/libphp5.so
muss der Gartenzaun # entfernt werden. Beim Speichern muss das Admin Passwort eingegeben werden. Nun muss der Webserver neu gestartet werden. Das kann man über die Systemeinstellungen machen (Haken weg, Haken hin!) oder über das Terminal, in dem man
sudo apachectl restart
gefolgt vom Admin Passwort eingibt. Um festzustellen, ob alles läuft, legt man unter /Library/WebServer/Documents eine Datei mit der Endung .php an. Der beste Test ist folgender Code:
// info.php
<?php
phpinfo();
?>
Die Ausgabe zeigt alle PHP Information in der Übersicht. Ich hoffe es klappt. Viel Spaß beim Testen!

{ 36 Kommentare… lese sie unten oder schreibe selbst einen }
ich hab nicht mal ne minute gebraucht.. und es läuft! schöner beitrag, danke!
Und wann lernen wir wie man MySQL installiert und vHosts realisiert? ;-P
Ist nämlich auch ohne weiteres möglich und mit wirklich recht wenig Verwaltungaufwand machbar… – Gerade vHosts sind – so finde ich – auf einem System auf dem Projekte entwickelt werden durchaus sinnvoll, die Gründe muss man hierfür nicht aufzählen denke ich. Fängt bei den Cookies an, geht über ne eigene error_log bishin zum besseren darstellen. projekt.local ist immer noch angenehmer und einfacher zu merken als localhost/production/projekt. Finde ich.
@Nicki…Danke!
@Timo…bin gerade dabei eine Lösung ohne kompilieren zu suchen. MySQL ist nicht so einfach wie es aussieht. Und es soll ja auch alltagstauglich sein! Ich bin mal mutig und verspreche zeitnah eine zweite Version.
vHosts kann man einfach in die httpd.conf eintragen. Denk aber daran die gewünschten Servernamen in die /etc/hosts einzutragen. Mehr dazu später….
Hm, MySQL ist:
Binary laden
Installieren
Starten
Für die Anbindung an php war IIRC noch ein Symlink nötig.
@Matt… Es gibt bei dev.mysql.com eine 5.045 DMG, aber das läuft noch nicht auf 10.5.1 – Bei dir ja?
I’m shocked! Aufgrund von Matts Einwurf habe ich das 5.045 DMG nochmal installiert. Lief nicht ! Gebootet Lief! Das ist doch eigentlich eine Windows-Domäne, das mit dem Booten meine ich. Also dann gehe ich jetzt ins Bettchen, teste morgen die Anbindung an PHP und vervollständige den Artikel
http://dev.mysql.com/downloads/mysql/5.0.html#macosx-dmg- 5.0.45 ist das aktuell.
Ist wie Matt gesagt hat: laden, installieren erstmal soweit fertig.
Gestartet wird mysql mit:
sudo /usr/local/mysql/bin/mysqld_safe &
Ich hab bei meiner Installation die “sudo /usr/local/mysql/scripts/mysql_install_db” nochmals neu ausgeführt, da die Data-Tabelle etwas komisch war. Für die einfachheit phpMyAdmin installieren, root-Passwort für MySQL setzen und fertig.
Ein vHost pro Projekt:
z.B.: könnte man die httpd.conf mit einem weiterem Parameter versehen wie
“Include /Users/timo/Sites/conf/vHosts/*.conf”
(hierbei kann die Pflege z.B. auf Textmate auslagern, wenn man nano nicht mag…) und einen vHost pro Projekt anlegen, oder einfach alles in die “/private/etc/apache2/users/[benutzername].conf” packen (die existiert eh schon…). Die erste Lösung ist übersichtlicher und erfüllt bei mir komplett ihren Zweck. Übersicht & Flexibilität.
apachectl confitest sagt mir ob alles okay ist: Ansonsten eben vHosts anpassen und ändern. Ja, soweit. Mal leblos zusammengeschrieben, aber es ist spät… Bei Fragen hierzu gerne fragen. Oder so.
MySQL lief bei mir auf anhieb. Das das für 10.4 “optimiert” ist, ist – meines erachtens nach Schwachfug.
Wie gesagt nach dem Booten lief mysql bei mir auch aber PHP & mysql nicht! Ich musste erste eine my.cnf in /etc anlegen, die anstatt /tmp /var/mysql für die sockets verwendet. Wie habt ihr das ohne diese Änderung hinbekommen? Das geht eigentlich nur wenn man PHP kompiliert. Komisch!
Hier
Interessant, danke
Guten Morgen
Danke für die Informationen!
Das hättet ihr aber auch mal früher rausblasen können! Habe gestern beim Spiel gegen Wales mich danach umgesehen und bin dann bei MAMP gelandet. 2 Stunden früher und ich hätte mir 15 Minuten suchen erspart
Scherz beiseite, hier im Teich gibt es immer wieder tolle Info’s und interessante Neuigkeiten.
thx
Unter 10.4.11 hab ich einfach einen Symlink von /var/lib/mysql/mysql.sock nach /tmp/mysql.sock gelegt. Funktioniert einwandfrei.
Wenn ich Ruby und Ruby on Rails zum Laufen bringen möchte, reicht es dann die entsprechenden Zeilen in der httpd.conf auszukommentieren?
Ruby läuft bereits. Du kannst entweder den RoR Server starten, oder mit einem vHost auf dein Rails App Verzeichnis zeigen. siehe hier
Ruby lief ja unter 10.4 schon
Für Rails habe ich damals Locomotive verwendet, das ging gut…
Mich würde interessieren, Ruby OHNE Rails für ganz kleine Webapplikationen zu verwenden…
Aber danke für den Link, werd ich mir bei Gelegenheit mal zu Gemüte führen…
Mh … ob es von Hand einfacher ist? Ich bin jedenfalls ganz zufrieden mit MAMP (und MAMP PRO). Da kann ich bequem über eine Benutzeroberfläche meine Hosts verwalten, PHP-Version zwischen 4 und 5 wechseln, Apache-Module aktivieren/deaktivieren usw. … klar, dass kann man auch alles selbst konfigurieren, aber wenn man mehr entwickelt und sich weniger mit der Einrichtung der entsprechenden Umgebung befassen möchte -> Mein Tipp: MAMP PRO.
Und ja … ich arbeite bei der Firma (living-e AG) von der der MAMP (MAMP PRO) stammt, aber ganz unabhängig davon würde ich ihn trotzdem einsetzen. Klar – meine Sichtweise ist nicht ganz subjektiv, aber ich bin mit dem MAMP sehr glücklich.
nicht ganz subjektiv ist echt witzig^^
Mach dir nix draus, uns macht es einfach Spaß und wir haben ja nix Böses über euch gesagt. Und die Idee ein Gui zum vHosts konfigurieren, Starten und Stoppen als PRO zu verkaufen finde ich ok, wenn ich es brauche – Tu ich aber nicht!
Ich bin nach dem Leopard-Update einfach bei Fink geblieben. Im Moment ist die OS-X-eigene Version zwar aktuell, aber die Erfahrung hat mir zumindest gezeigt, das das nur ein vorübergehendes Phänomen ist. Außerdem möchte ich mir nicht noch über MySQL, PEAR, diverse Module, ImageMagick, etc Gedanken machen.
… wenn es nur diese Funktionalitäten wären … man kann aber viel mehr über den MAMP PRO konfigurieren. Einfach mal ausprobieren (http://www.mamp.info/de/downloads.html) … Testversion läuft 2 Wochen.
Hey, habe jetzt heute mal ein wenig gebastelt, funktionierte auch soweit ganz gut, habe sogar mysql und phpmyadmin zum laufen gebracht.
dann habe ich nen vhost erstellt, auch soweit so gut, wollte dann jedoch joomla in diesem ordner installieren, allerdings waren alle ordner “unwriteable”. Ich mach rechtsklick-informationen auf den ordner und geb “everyone” lesen&schreiben und blub, phpinclude fehler
wie vergeb ich die richtigen rechte für die einzelnen ordner?
Hast mit Blub “Auf alle Unterobjekte anwenden” gemeint oder hast du das evtl. vergessen?
Einfacher ist übrigens im Terminal ein sudo chmod -R 777 <directory> einzugeben.
Hallo,
in dem php Code fehlt ein ? am Anfang des Scripts
Aber danke für die gute Anleitung!
Grüße
p.s. es reicht auch den php-teil in den sites ordner zu legen…
Hab das Fragezeichen gleich dazu gemacht
Danke!
Hey,
danke für das Tutorial. XAMPP war bisher auch mein begleiter auf dem Mac, was nun wesentlich schicker gelöst ist.
Und den Apache kann man sich ja trotzdem ganz normal einrichten mit Document Root etc.
Hallo!
Danke für die Anleitung. Ich meine, alles richtig gemacht zu haben. Offensichtlich ist das ein Irrtum, denn ich sehe am Ende die Testseite nicht. Habt Ihr Tipps, welche – typischen – Fehler ich gemacht haben könnte?
Danke und Grüße
Christine
Geht denn der Webserver? Sprich, wird eine einfache HTML Seite angezeigt?
Ja, der Webserver geht anscheinend. Eine Html-Seite wird angezeigt, die im selben Verzeichnis wie die php-Seite liegt. Websharing ist aktiv.
Bei der php-Seite zeigt er mir einfach nur den Code. Ich vermute, dass ich da irgendwas falsch mache, habe leider keine Erfahrung im Aufsetzen von Apache etc., habe bisher immer nur die “fertigen” dynamischen Pakete beim Provider genutzt und die Seiten online getestet.
Es hört sich so an also ob das # Zeichen vor dem LoadModule nicht weg ist oder der Webserver nicht restartet wurde. Versuche im Terminal mal den Befehl php auszuführen.
Danke für den Hinweis!
Also das Gitter ist weg, habe ich nochmal überprüft (oder gibt es da irgendwo anders noch eine Datei? Müsste ich checken).
Gebe ich im Terminal einfach “php” (ohne die Anführungszeichen) ein? Was müsste dann passieren? Auf dem eben beschriebenen Weg passiert nämlich gar nichts, soweit ich das beurteilen kann. Bin im Terminal aber überhaupt nicht fit, kann nur Einträge kopieren und einfügen und dann auf Enter drücken.
Muss ich den Rechner evtl. neu starten? Habe ich nämlich noch nicht gemacht.
Probiers mal mit neu starten! Ansonsten sollen wir mal off topic gehen. Hast du einen Messenger?
Nochmal danke fürs Kümmern. Kann leider gerade nicht neu starten, weil ich ganz dringend was fertig machen muss. Danach versuchs ichs gleich.
Ach ja: bin ich bei Skype. *****
Hallo zusammen
Hat jemand schon mal versucht, passenger von phusion im MAMP PRO zu installieren?
MAMP PRO überschreibt mir dauernd die httpd.conf und so kann das Modul gar nie geladen werden.
Mehr dazu hier:
http://groups.google.com/group/phusion-passenger/browse_thread/thread/1f810d73d5a0a33a
Gruss
Martin
@Martin: Die httpd.conf kannst du beim MAMP PRO über Ablage > Vorlage editieren > httpd.conf bearbeiten.
@Dirk: Herzlichen Dank für den Tip.
{ 1 Trackback }