el capitan, apache, php & MySQL

im netz finden sich sehr viele anleitungen zum einrichten einer lokalen entwicklungsumgebung (lamp) auf os x elcapitan:

ich hielt mich ausschliesslich an den ersten link bei der einrichtung der eintwicklungsumgebung (mac book pro, os x 10.11.6). dabei gab es einige probleme, die in der anleitung nicht erwähnt bzw. erläutert wurden.

welche hürden sich stellten und welche lösung ich fand möchte ich hier aufzeigen:

localhost

nach dem start vom apache-server (sudo apachectl start) funktionierte “localhost” nicht.
die diagnose (apachectl configtest) gab folgenden fehler aus:

Syntax error on line 20 of /private/etc/apache2/extra/httpd-mpm.conf:
Invalid command ‘LockFile’, perhaps misspelled or defined by a module not included in the server configuration

eine lösung fand ich hier :
in der datei /etc/apache2/extra/httpd-mpm.conf musste ich den unten dargestellte abschnitt auskommentieren (wie dargestellt).
#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
#
#
#LockFile “/private/var/log/apache2/accept.lock”
#
#
der configtest (apachectl configtest) zeigte nun: Syntax OK
und nach dem neustart von apache (sudo apachectl restart) war der localhost (localhost)gefixt und “It works!” erschien auf dem bildschirm.

virtual hosts

um virtual hosts nutzen zu können folgte ich weiter den anweisungen des tutorials von alphansotech.
zusätzlich musste ich in der datei http-vhosts.conf folgende zeile kommentieren:
#
# Use name-based virtual hosting.
#
#NameVirtualHost *:80 <= diese zeile

php

um das problem “warning – it is not safe to rely on the system’s timezone settings …” zu lösen, musste in der datei etc/php.ini die linie mit date.timezone auskommentiert und die passende timezone eingesetzt werden.
ad php.ini: nach der standart-installation von os x gibt es im system nur eine etc/php.ini.default datei => diese datei dublizieren und php.ini umbenennen.

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; date.timezone =
zu
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = “Europe/Zurich”
dann diedatei speichern und den apache-server neu starten (sudo apachectl restart).

als nächstes aktualisierte ich die php-version. entsprechend diesen anleitungen installierte ich die version 5.6.29. um die neu php-version auch im terminal verwenden zu können muss der pfad in der .bash_profile (oder nur .profile) -datei angepasst werden. ist keine solche datei vorhanden (unsichtbare dateien anzeigen lassen) eine neue erstellen und den pfad einfügen:

export PATH=/usr/local/php5/bin:$PATH