Dienstag, 1. September 2009

Apache und PHP unter Mac OS X einrichten

Hier ein kleines Kochrezept für das Einrichten eines virtual Hosts unter Apache wo auch PHP benötigt wird.

Schritt 1:
Der vorinstallierte Apache Webserver starten:
- In den Systemeinstellungen auf "Freigaben" klicken.
- "Webfreigabe" anwählen.

Jetzt erscheint in dem Dialog rechts die Adresse zu der persönlichen Webseite:
http://[ihre IP-Adresse]/[ihr USER]/
Und die Webseite ihres Computers:
http://[ihre IP-Adresse]

Die Webseite Ihres Computers erreichen sie auch mit dem vordefinierten Hostnamen "localhost":
http://localhost/

localhost hat, neben bei erwähnt, die IP-Adresse 127.0.0.1

Schritt 2:
Tragen Sie in /etc/hosts einen neuen Hostnamen ein, mit dem wir später eine Webseite unter einem eigenem (virtuellem) Host erreichen.
Beispiel:
127.0.0.1 meintestdomain.de

Nach ein neustart des Rechners erreichen wir mit "meintestdomain.de" die selbe Webseite wie mit "localhost", da wir für meintestdomain.de die selbe IP-Adresse wie für localhost vergeben haben.

Schritt 3:
Jetzt konfigurieren wir den Apache Webserver für den Betrieb mit unserem neuen (virtuellen) Host meintestdomain.de

In der Konfigurationsdatei /private/etc/apache2/httpd.conf
aktivieren wir die Zeile
#Include /private/etc/apache2/extra/httpd-vhosts.conf
indem wir das "#" entfernen.
Das ist die Konfigurationsdatei für virtuelle Hosts.

Damit wir eine Testwebseite zum anzeigen haben, legen wir erst das Verzeichnis "meintestdomain" z.B. in unserem "home-Ordner" an.
Neues Verzeichnis: /Users/[ihr User]/meintestdomain
In diesem Verzeichnis legen Sie dann irgend eine HTML Datei ab, mit dem Namen index.html
Kopieren Sie z.B. die Datei, die vom System angelegt worden ist:
http://[ihre IP-Adresse]/[ihr USER]/
Die befindet sich hier: /Users/[ihr USER]/Sites/index.html

In der Konfigurationsdatei
/private/etc/apache2/extra/httpd-vhosts.conf
konfigurieren wir nun unser virtueller Host:

<virtualhost>
ServerName meintestdomain.de
DocumentRoot "/Users/[ihr User]/meintestdomain"
DirectoryIndex index.html
<directory>
AllowOverride All
Allow from All
</directory>
</virtualhost>

Starten Sie jetzt Apache neu, in dem Sie in dem Einstellungen unter "Schritt 1" oben "Webfreigabe" ab- und wieder anwählen.

Jetzt erreichen Sie die Webseite unter:
http://meintestdomain.de/

Schritt 4:
PHP konfigurieren.

Zunächst müssen wir das PHP Modul in Apache aktivieren.
In der uns jetz bekannten Konfigurationsdatei
/private/etc/apache2/httpd.conf
aktivieren wir die Zeile
#LoadModule php5_module libexec/apache2/libphp5.so
in dem wir das "#" entfernen.

Starten Sie jetzt Apache neu, in dem Sie in dem Einstellungen unter "Schritt 1" oben "Webfreigabe" ab- und wieder anwählen.

Machen Sie jetzt ein erster Test. Erstellen Sie in dem Ordner, der in der virtual Host- Konfiguration "DocumentRoot" genannt wurde, die Datei test.php mit folgendem Inhalt:
<?php phpinfo(); ?>

Jetzt erreichen Sie diese Seite mit: http://meintestdomain.de/test.php
Sie sehen sämtliche PHP-Einstellungen.

Unter anderem sehen Sie, dass PHP in dem Ordner /etc nach eine Konfigurationsdatei sucht. Siehe "Configuration File (php.ini) Path"
Beachten Sie, dass "/etc" nur ein Verweis auf den physischen Ordner /private/etc ist!

Sie sehen, dass es keine php.ini in dem Ordner /private/etc gibt. PHP kommt auch ohne Konfigurationsdatei aus! Wenn Sie aber eigene Änderungen machen wollen, kopieren Sie die Datei php.ini.default nach php.ini und machen darin Ihre Einstellungen.

Fertig!

Viel Spaß :-)

Kommentare:

  1. Hallo Stefan!
    besten Dank für Deine POSTs - nun hab ich endlich eine Adresse wo ich die Lösungen zu meinen Problemen lesen kann :-)

    Viele liebe Grüße
    Stefan

    AntwortenLöschen
  2. Sehr gut und verständlich beschrieben! Hat mir sehr weitergeholfen.

    Danke

    AntwortenLöschen
  3. Bin relativ zufällig darauf gestoßen. Finde es sehr gut beschrieben und es hat mir gut weitergeholfen.

    Danke

    AntwortenLöschen