Apache-Webserver unter OS X 10.10 Yosemite

Als Webentwickler möchte man vielleicht auch den eingebauten Webserver unter OS X nutzen. Nach einem Upgrade auf OS X 10.10 Yosemite fällt auf, dass dieser nicht gestartet und nicht konfiguriert ist, um z.B. die Webseiten im eigenen Benutzer-Ordner anzuzeigen.

Ich möchte hier eine kleine Anleitung geben, wie man den Webserver unter OS X 10.10 Yosemite nutzt und konfiguriert. (Das Tutorial beruht auf der Golden Master Version (GM3) von OS X Yosemite.)

Dazu brauchen wir:

  • Das Programm „Terminal“
  • Einen Benutzer mit Admin-Rechten
  • Einen Web-Browser
apache und php

Anzeige der Versionen von PHP und Apache im Terminal.

Mit Yosemite wird der Apache in der Version 2.4.9 ausgeliefert. PHP liegt in der Version 5.5.14 vor.

Den Apache-Webserver starten

Der Apache-Webserver wird unter Yosemite nicht automatisch gestartet. Dies müssen wir manuell tun. Dafür öffnen wir das Programm „Terminal“ und geben folgenden Befehl ein:

sudo apachectl start

und geben ggf. unser Passwort ein, wenn wir danach gefragt werden. Ein Aufruf der Adresse http://localhost sollte dann schon mal zeigen, dass der Apache läuft.

localhost

„It works“ meldet der gestartete Apache-Webserver.

Webseiten in den Nutzerverzeichnissen

Die Webseiten im eigenen Nutzerverzeichnis werden in der Regel unter der Adresse http:localhost/~nutzername angezeigt, bei mir ist das also http://localhost/~cluedke.

Auch dies muss unter Yosemite erst wieder aktiviert werden. Dafür gehen wir wieder ins Terminal und öffnen die Datei: /etc/apache2/httpd.conf mit dem Aufruf

sudo vi /etc/apache2/httpd.conf

Dort suchen wir die Zeile:

#LoadModule userdir_module libexec/apache2/mod_userdir.so

und entfernen die Raute # vor der Zeile (wenn der Cursor auf der Raute ist, einfach ‚x‘ drücken), damit das Modul von Apache aktiviert und geladen wird.
Wenn wir auch PHP nutzen wollen, dann müssen wir auch das PHP-Modul aktivieren, in dem wir ebenfalls in der Zeile

LoadModule php5_module libexec/apache2/libphp5.so

die Raute # entfernen.

httpd

/etc/apache2/httpd.conf mit aktiviertem Modul für die Nutzerordner und für PHP

Außerdem müssen wir noch die Zeile

Include /private/etc/apache2/extra/httpd-userdir.conf

aktivieren, in dem wir auch hier die Raute # entfernen.

httpd2

Dann speichern und schließen die Datei (durch die Eingabe ‚:wq‘ ENTER).

Als nächstes Konfigurieren wir das Modul „userdir“ in dem wir die Datei /etc/apache2/extra/httpd-userdir.conf öffnen.

sudo vi /etc/apache2/extra/httpd-userdir.conf

Dort vergewissern wir uns, dass die die Zeile

Include /private/etc/apache2/users/*.conf

aktiviert ist, also ohne Raute # davor notiert ist. Ansonsten löschen wir auch hier die Raute #.

httpf-userdirAnschließend öffnen wir die Datei /etc/apache2/users/nutzername.conf (bei mir also /etc/apache2/users/cluedke.conf). Sollte diese Datei noch nicht vorhanden sein, legen wir sie an.

sudo vi /etc/apache2/users/cluedke.conf

Dort sollte in etwa stehen

<Directory "/Users/cluedke/Sites/">
Options Indexes FollowSymLinks Multiviews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>

Auch hier wieder den Nutzernamen ersetzen.

cluedke

Anschließend den Apache-Webserver neustarten

sudo apachectl restart

Das war es auch schon.

 

 

Speichere in deinen Favoriten diesen permalink.

2 Kommentare

  1. Danke fuer die praezise Anleitung — klar und einfach!

    Statt im Terminal zu arbeiten, habe ich mit [Gehe zum Ordner …] den Ordner /private/etc/apache2 aufgemacht und die Dateien im TextWrangler bearbeitet. Um’s Terminal kommt man allerdings nicht herum wg apachectl restart.

  2. Hallo Christian,

    Danke für die gute Anleitung, die bei mir auch unter El Capitan funktionierte. Allerdings erst nachdem ich unter meinem User den Ordner /Sites angelegt hatte.

    Vielleicht könnte man diesen Hinweis noch ergänzen?

    Gruß
    Philipp

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.