Tipps & Tricks rund um Apple, Mac, iPhone, iPod, iPad und Apple Watch für Umsteiger, Einsteiger und Neugierige

Virtual-Hosts mit MAMP (Mac, Apache, MySQL, PHP) unter Mac OS X

Als Web-Entwickler wird gerne der lokale Webserver MAMP (Mac, Apache, MySQL, PHP) zur lokalen Entwicklung von Projekten eingesetzt. Sobald mehrere Projekte parallel entwickelt werden sollen, ist es sinnvoll, "Virtual-Hosts" zu verwenden – also unter einem Server bzw. einer IP-Adresse mehrere Domains parallel zu betreiben. Um mit MAMP Virtual-Hosts nutzen zu können, müssen Sie die die Apache-Konfiguration /Applications/MAMP/apache/conf/httpd.conf sowie die "hosts"-Datei /etc/hosts anpassen bzw. erweitern. Dabei werden in der Apache-Konfiguration die Verzeichnisse und Domains der Virtual-Hosts definiert. Diese Verzeichnisse können übrigens auch problemlos auf externen Festplatten liegen. Ein Beispiel für eine solche Virtual-Hosts-Konfiguration könnte wie folgt aussehen.

NameVirtualHost *

<VirtualHost *>
    DocumentRoot "/Applications/MAMP/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *>
    DocumentRoot "/Applications/MAMP/vhost/projekt1"
    ServerName projekt1
</VirtualHost>

<VirtualHost *>
    DocumentRoot "/Applications/MAMP/vhost/projekt2"
    ServerName projekt2
</VirtualHost>

Nun müssen Sie Mac OS X noch mitteilen, dass die Virtual-Hosts "projekt1" und "projekt2" auf die lokale IP-Adresse 127.0.0.1 (localhost) aufgelöst werden sollen, da dort ja ihr MAMP läuft. Hierfür müssen Sie die "hosts"-Datei unter Mac OS X öffnen und ändern. Wie dies funktioniert, finden Sie unter http://macs-moritz.com/hosts-datei-unter-mac-os-x-aendern. Ergänzen Sie die Zeile "127.0.0.1 localhost" der "hosts"-Datei dann einfach zu "127.0.0.1 localhost projekt1 projekt2". Damit die Änderungen wirken, müssen Sie noch den DNS-Cache leeren – wie dies funktioniert, finden Sie unter http://macs-moritz.com/dns-cache-leeren.

Nun können Sie in den beiden Ordnern "projekt1" und "projekt2" parallel arbeiten und diese auch parallel in Ihrem Browser öffnen (http://projekt1/ bzw. http://projekt2/).