PHP / MySQL Entwicklung unter OS X
Tags: Apache, Einrichten, FLOW3, MySQL, OSX, PHP, Webentwicklung, Webserver
Gestern habe ich mich mit der Einrichtung von PHP/MySQL unter OS X beschäftigt. Da es um die Entwicklung von FLOW3 ging, braucht ich ein PHP >= 5.3.2. In dem, anscheint nicht mehr weiterentwickelten, XAMPP Package ist die Version 5.3.1 enthalten, weshalb ich nach einer Alternative gesucht habe. Es gibt inzwischen auch Alternativen zu XAMPP als “rundumsorglos” Pakete für OS X, jedoch liefen diese bei mir nicht rund oder waren nicht so schön im Handling. Somit habe ich mich nun für System Komponenten entschieden.
Apache
Warum einen Apache installieren?! OS X wird bereits mit einem Apache ausgeliefert, welcher in das OS X System integriert ist. Dieser lässt sich über die Systemeinstellungen => Freigaben => Webfreigabe einschalten.
Eine direkte URL um die passenden Verzeichnisse zu erreichen wird einem direkt nach der Aktivierung angezeigt. Wer sich eher an der Konsole orientieren möchte, dem helfen folgende Befehle:
sudo apachectl start sudo apachectl stop sudo apachectl restart
Um in die genauere Konfiguration des Apaches einsehen zu können, sollte man einen Blick in die “/etc/apache2/httpd.conf”-Datei werfen! Hier können Anpassungen vorgenommen werden, welche nach dem Neustart des Apache direkt greifen.
PHP
OS X wird bereits auch mit einer PHP Version ausgeliefert. Diese war jedoch zu niedrig und ein wenig alt. Die Lösung habe ich auf php-osx.liip.ch gefunden. Mit einem einfachen Befehl…
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4
… lässt sich die aktuelle PHP Version 5.4.x installieren. Innerhalb weniger Minuten wurde das passende Paket heruntergeladen und passend abgelegt. Nach einem Neustart des “Indianer” (über die Systemeinstellungen oder per Befehl) war die aktuelle PHP Version im Apache geladen. Top!
MySQL
MySQL wird NICHT direkt mit OS X ausgeliefert und muss nachträglich installiert werden. Ich habe mir dazu den Community Server direkt von dev.mysql.com geladen. Die Installation ist reibungslos und es gibt sogar eine Einstellungsdatei, sodass man den Server über die Systemeinstellungen starten und beenden kann. Achtung: Diverse “rundumsorglos” Pakete haben mir eine my.cnf Datei in “/etc” abgelegt, sodass der Server nicht starten wollte (total falsche Konfigurationsdatei). Nach dem Löschen der Datei ging alles bestens. Programme wie MySQL Workbench und MySQL Administrator runden die Datenbank Installation ab.
Virtual Hosts und weitere Tools
Im Anschluss hatte ich einen lokalen Webserver mit einer aktuelle PHP 5.4.x Version und einem MySQL5 Server. Um das ganze jedoch noch für die Entwicklung perfekt zu machen, fehlen noch ein paar Tools. Als erstes wäre da “git” zu nennen. Dieses habe ich mir einfach über den Paket Manager Homebrew installieren können. Falls “brew” nicht richtig läuft, fehlt vielleicht der “gcc”-Compiler, welchen ihr hier bekommt. Mit dem Befehl “brew install git” ist dann direkt “git” installiert und bereit für den Einsatz (SVN ist schon in OS X verfügbar). Weitere Tools lassen sich mit “brew” ebenfalls gut nachinstallieren.
Zu guter letzte wollte ich dann noch die VirtualHosts anpassen. Anstatt die Projekte in Ordnern liegen zu haben (z.B. http://localhost/PROJEKTNAME/), kann man dann z.B. “PROJEKTNAME.dev” in der URL aufrufen, um das passende Projekt zu finden. Dazu sind einige Anpassungen nötig. Als erstes muss mittels “sudo vi /etc/hosts” die hosts-Datei angepasst werden. Dort muss ein Eintrag “127.0.0.1 PROJEKTNAME.dev” vorliegen (das “.dev” ist optional, fand ich aber für passend). Im Anschluss muss dem Apache noch gesagt werden, wo der neue Host zu finden ist. Der selbe Host wird in folgende Apache Konfigurations-Datei eingetragen: “/etc/apache2/extra/httpd-vhosts.conf”. Damit die Datei auch geladen wird, muss diese in der “/etc/apache2/httpd.conf”-Datei aktiviert werden. Wenn es die “extra”-Datei nicht gibt, kann man den Host auch direkt in die httpd.conf aufnehmen. Das klingt alles kompliziert, ist aber ganz einfach :) Die genau Beschreibung des Vorgehen könnt ihr nochmal hier nachlesen. Ein Beispiel für einen VirtualHost ist dieser Eintrag:
<VirtualHost *:80> ServerName flow3.dev DocumentRoot "/Users/.../Sites/flow3.dev/Base/Web" ErrorLog "/Users/..../Sites/flow3.dev/error.log" Options +FollowSymLinks </VirtualHost>
Ich hoffe ihr konntet damit ein passendes System für euch aufsetzen. Ich bin sehr zufrieden damit und bin auf Feedback gespannt. Wie habt ihr es gemacht?
“Ich bin sehr zufrieden damit und bin auf Feedback gespannt. Wie habt ihr es gemacht?” ->
*hust*, ich habe den easy-mode gewählt…VirtualBox installiert und mir ein Image von Ubuntu-Server heruntergeladen und aufgesetzt…somit wurde alles fix und fertig eingerichtet und mit apt-get update bleibe ich immer auf dem aktuellen Stand ;-))
Abschliessend noch WebMin installieren, wenn man die ganz faule Nudel ist (so wie ich) :-)
Gruß,
Hendrik
Ist natürlich auch eine gute Möglichkeit. Gerade wenn man sich mit Ubuntu gut auskennt. Nachteil den ich sehe ist, dass ein ganzes Betriebssystem + VM-Emulator dazwischen hängt und auch Ressourcen braucht. Glaube dafür hätte mein derzeitiges MacBook nicht genug Power ;)
[…] OS X fit für PHP & MySQL machen. Interessant für Web-Dev- oder OS X-Einsteiger. (Klick) […]
Mit brew lassen sich übrigens nicht nur ‘weitere Tools’ installieren sondern auch gleich der komplette MAMP-Stack, also auch direkt PHP und MySQL in aktuellen Versionen (für PHP: https://github.com/josegonzalez/homebrew-php). Als SQL-Verwaltungs/Abfrage-Tool kann ich SequelPro empfehlen. Schick, schnell, solide.
Hey Steffen, habe keine Versions-Infos gefunden. Aber in der Readme stand noch was von 5.3.x, was für FLOW3 z.B. zu alt ist :( Wenn es auch ein aktuelles PHP (5.4.x) ist, dann werde ich mir den Weg auch nochmal anschauen… Beste Grüße, Tim
Danke für die Ausführungen, danach habe ich ein stück lange gesucht!
Dankr für die mühe,
liebe Grüße,
Claudio