Kurz und knapp erkläre ich euch, wie Ihr mit einem MacBook (Pro), iOS und der Standardinstallation von MAMP virtuelle Hosts für eure lokalen Projekte in der Entwicklungsumgebung einstellt. Dazu müsst Ihr MAMP zuvor installiert haben.

Zuerst müsst Ihr einen Projektordner anlegen, dieser wird im Laufe der Projektentwicklung mit den notwendigen Dateien oder einer zu installierenden Appliaktion gefüllt. Diesen wollt Ihr unter Umständen nicht unter http://localhost/project aufrufen, sondern über einen echten lokalen Domainnamen wie zum Beispiel http://project.de/

Zuerst sollten wir die hosts Datei unter /etc/ anpassen, dazu öffnen wir das Terminal und steuern den Ordner an:

GOD:/ dude$ cd /etc/

Dann loggen wir uns als super user ein:

GOD:etc dude$ sudo -s
Password:
bash-3.2#

Wir öffnen die hosts Datei mit:

bash-3.2# vi hosts

Dann hinterlegen wir eine neue Zeile mit "127.0.0.1 project.de" und sagen damit das die virtuelle Domain "project.de" auf unseren lokalen Computer auflösen soll, also die "127.0.0.1" (sich selbst):

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

127.0.0.1       project.de

Neben "project.de" können unendlich viele weitere virtuelle Domainnamen auf die "127.0.0.1" auflösen, dabei ist jeder weiterer Eintrag eine eigene Zeile. Die Namen können project.de, project.dev.local oder nur project lauten.

Nach der hosts Datei passen wir die httpd-vhosts.conf Datei der MAMP Applikation unter /MAMP/conf/apache/extra/ an. Diese Datei muss grundsätzlich in der httpd.conf Datei unter /MAMP/conf/apache/ aktiviert werden.

# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

Sobald diese Zeile aktiviert und MAMP neu gestartet wurde, schaut die Applikation in der httpd-vhosts.conf nach ob für die Projektordner unter /htdocs/ Domainnamen zur Auflösung hinterlegt wurden.

Zuletzt müssen wir genau diesen Eintrag in der httpd-vhosts.conf hinterlegen, dieser erfolgt ganz unten:

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# 
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any  block.
#

<VirtualHost *:80>
    DocumentRoot "/Users/dude/Documents/MAMP/htdocs/project/"
    ServerName project.de
</VirtualHost>

Der "DocumentRoot" Tag pointet auf den Projektordner und der "ServerName" deklariert den zuvor in der /etc/hosts Datei definierten Domainnamen der auf die "127.0.0.1" auflöst. Das war es auch schon mit der Konfiguration.