Gedächtnisstützen IT

Apple, Mac OS X, Server

Webserver aktivieren auf Mac OS X Mountain Lion (mit vhosts)

Die Anleitung gilt für ein neuinstalliertes OS X Mountain Lion! Bei einem Upgrade von Lion können schon teilweise Komponenten aktiv sein.

Beim OS X Mountain Lion kann der Webserver nicht mehr über die “Freigaben” in den “Systemeinstellungen” aktiviert werden. Es ist quasi ein Sicherheits-Feature, damit so wenig wie möglich Dienste auf einem Mac aktiv sind.
Wie vieles, kann man den Webserver trotzdem aktivieren. Ich mache das am liebsten mit vhosts, da ich mehrere Websites betreibe.

Zuerst für die verschiedenen lokalen Domains einen Eintrag (hier der Hostname dummy.host) in der Datei /etc/hosts erstellen:

##
# 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 dummy.home
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

Wichtig: der Hostname localhost muss unbedingt bleiben, da sonst einige Dienste nicht funktionieren werden!

Kurz kann man die Funktion testen, indem man den Hostnamen anpingt:

host chris$ ping dummy.home
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.034 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.043 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.070 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.035 ms
…

In der Konfigurationsdatei /etc/apache2/httpd.conf folgenden Eintrag aktivieren (das Kommentarzeichen # vor dem Include entfernen):

…
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
…

In der gleichen Datei /etc/apache/httpd.conf kann auch gleich PHP5 aktiviert werden (das Kommentarzeichen # am Beginn der Zeile entfernen):

…
LoadModule php5_module libexec/apache2/libphp5.so
…

Jetzt kann der tatsächliche vhost angelegt werden. Dazu wird die Konfigurationsdatei /etc/apache/extra/httpd-vhosts.conf editiert:

…
<VirtualHost *:80>
ServerAdmin username@dummy.home
DocumentRoot "/Users/username/…"
ServerName dummy.home
ErrorLog "/private/var/log/apache2/dummy.home-error_log"
CustomLog "/private/var/log/apache2/dummy.home-access_log" common

<Directory "/Users/username/…">
Options -Indexes FollowSymLinks
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>

</VirtualHost>
…

Der entsprechend richtige Pfad ist bei DocumentRoot bzw. Directory einzutragen.

Am Schluss dann den Apache Webserver mit
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
starten.

Im Verzeichnis, das bei DocumentRoot angeben ist, eine Index-Datei index.html mit folgendem Inhalt erstellen:

<html><body><h1>My site works</h1></body></html>

Im Browser den Link http://dummy.home/ aufrufen und im Browser

My site works

sehen (hoffentlich).

Falls etwas nicht funktioniert, dann in den Logfiles

  • /var/log/sysgtem.log
  • /var/log/apache2/dummy.home-error_log
  • /var/log/apache2/error_log

kontrollieren, was nicht funktioniert. Leider ist der Apache am Mac OS X nicht besonders auskunftfreudig.

Schreibe eine Antwort

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.