Mac OS + MAMP: Virtual Hosts, Apache startet nicht
Schuer
- webserver
Hallo,
das offizielle MAMP-Forum verwaist mehr und mehr, deshalb frage ich parallel auch mal hier:
Es geht um die Einrichtung von Virtual Hosts. Folgende Situation:
1. Ich installiere MAMP und starte. Läuft.
2. Ich ändere auf die Standardports 80/3306 und starte erneut. Läuft.
3. Ich richte mich im folgenden nach http://forum.mamp.info/viewtopic.php?p=256#256 und lege die zwei Verzeichnisse /htdocs/sitea und /htdocs/siteb an, jeweils mit einer index.php
4. Ergänze /etc/hosts wie beschrieben um localhosta und localhostb
5. Ergänze die httpd.conf um den Abschnitt mit den Virtual Hosts:
NameVirtualHost *
<VirtualHost *>
DocumentRoot "/Applications/MAMP/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *>
DocumentRoot "/Applications/MAMP/htdocs/sitea"
ServerName localhosta
</VirtualHost>
<VirtualHost *>
DocumentRoot "/Applications/MAMP/htdocs/siteb"
ServerName localhostb
</VirtualHost>
Und wenn ich jetzt MAMP starte, bleibt der Apache leider stumm. Entferne ich den Abschnitt mit den vhosts wieder, startet er wie gewohnt.
Kann mir jemand erklären, wo der Fehler liegt?
10.4 Intel-Mac übrigens, Personal Web Sharing inaktiv. Im Apache-Errorlog finden sich keine Einträge.
Danke und viele Grüße!
_ds
hallo,
- Ergänze die httpd.conf um den Abschnitt mit den Virtual Hosts:
NameVirtualHost *
Das Sternchen dürfte der Übeltäter sein. Wenn du eine "private" IP (z.B. 192.168.0.1) festgelegt hast, dann notiere die überall anstelle der Sternchen. Wenn nicht, nimmst du stattdessen eben 127.0.0.1.
Grüße aus Berlin
Christoph S.
Das Sternchen dürfte der Übeltäter sein. Wenn du eine "private" IP (z.B. 192.168.0.1) festgelegt hast, dann notiere die überall anstelle der Sternchen. Wenn nicht, nimmst du stattdessen eben 127.0.0.1.
Danke für den Hinweis, aber leider funktioniert es weder mit 192.168.178.22, noch mit 127.0.0.1
Das Sternchen stammt aus der Hilfestellung eines Entwicklers im MAMP-Forum und hat schon bei vielen Nutzern funktioniert - nur eigenartigerweise bei mir nicht.
Viele Grüße!
_ds
hallo Dirk,
Das Sternchen stammt aus der Hilfestellung eines Entwicklers im MAMP-Forum und hat schon bei vielen Nutzern funktioniert - nur eigenartigerweise bei mir nicht.
Bei mir noch nie (übrigens habe ich mir den angegebenen Thread durchgelesen) - aber ich habe auch keinen Mac. Dann zeig doch bitte noch zusätzlich, was in deiner hosts-Datei steht.
Grüße aus Berlin
Christoph S.
Dann zeig doch bitte noch zusätzlich, was in deiner hosts-Datei steht.
127.0.0.1 localhost localhosta localhostb
255.255.255.255 broadcasthost
::1 localhost
Das ist die Standard-Hosts von Mac OS X um die beiden Einträge localhosta und localhostb ergänzt.
Viele Grüße!
_ds
hallo Dirk,
127.0.0.1 localhost localhosta localhostb
Das sieht korrekt aus. aber probiere doch mal, ob sich was ändert, wenn du
127.0.0.1 localhost
127.0.0.1 www.schuer.test
127.0.0.1 www.dirk.test
einträgst (natürlich müssen dann die Servernamen deiner virtuellen hosts auch wieder mit diesen Namen versehen werden)
255.255.255.255 broadcasthost
Das wird in der Regel nicht benötigt.
::1 localhost
Das ist eine IPV 6-Eintragung. Kommentiere die mal aus und vergewissere dich, daß IPV 4 genutzt wird.
Wenn das dann nicht reicht, muß das Problem irgendwoanders in deiner Apache-Konfiguration versteckt sein.
Grüße aus Berlin
Christoph S.
Hallo Schuer,
Und wenn ich jetzt MAMP starte, bleibt der Apache leider stumm. Entferne ich den Abschnitt mit den vhosts wieder, startet er wie gewohnt.
Kann mir jemand erklären, wo der Fehler liegt?
Was sagt das Logfile? (im Normalfall liegen Logfiles auf UNIXen irgendwo in /var/log rum, MAMP selbst kenne ich persönlich nicht)
Ferner: Wo genau ergänzt Du die httpd.conf? Kannst Du die komplette Konfigurationsdatei mal irgendwo hochladen?
Viele Grüße,
Christian
Was sagt das Logfile? (im Normalfall liegen Logfiles auf UNIXen irgendwo in /var/log rum, MAMP selbst kenne ich persönlich nicht)
MAMP hat ein eigenes Logfile für den Apachen. Darin steht aber im aktuellen Fall nichts, was auf Fehler hinweist. Wenn ich allerdings z.B. falsche Verzeichnisse angebe, wird ein Fehler geloggt. Grundsätzlich ist das Error-log also aktiv.
Ferner: Wo genau ergänzt Du die httpd.conf? Kannst Du die komplette Konfigurationsdatei mal irgendwo hochladen?
http://www.fb07.de/temp/httpd.conf
Viele Grüße!
_ds
Hallo Schuer,
Zuerst einmal nur ein paar grundsätzliche Vereinheitlichungen: Mach
| NameVirtualHost 127.0.0.1
raus und füge stattdessen ein
| NameVirtualHost *
ein. Beides zusammen ist zwar nicht unbedingt falsch (hängt IIRC auch von der Reihenfolge ab), aber vmtl. nicht das, was Du willst.
Dann: Wenn Du NameVirtualHost * definiert hat, müssen alle <VirtualHost>-Blöcke auch mit * definiert sein, <VirtualHost 127.0.0.1> ist bei NameVirtualHost * nicht wünschenswert (geht aber, führt dann nur zu etwas, was Du vmtl. nicht haben willst).
Und zu Deinem eigentlichen Problem: So wie ich das sehe, fügt Dein Editor komische Zeichen ein, nämlich ASCII 202. Bei mir lese ich nämlich:
Das Ê stört da irgendwie - und vmtl. bringt das den Apache durcheinander.
Tritt übrigens in jedem <VirtualHost>-Block auf.
Viele Grüße,
Christian
Sorry, ich hatte die komplett falsche httpd.conf hochgeladen. Hab jetzt nochmal geupdatet, vielleicht kannst du nochmal schauen.
Dann: ich muss dummerweise ganz schnell los, bin später zurück. *hetz*
Viele Grüße!
_ds
hallo Dirk,
Sorry, ich hatte die komplett falsche httpd.conf hochgeladen. Hab jetzt nochmal geupdatet, vielleicht kannst du nochmal schauen.
Du hast sowohl in der httpd.conf selbst wie auch im virthost-Abschnitt jeweils dasselbe Verzeichnis als DocumentRoot definiert. Eines davon reicht. Kommentiere aus deinen virtuellen hosts mal bitte "localhost" völlig aus.
Wenn du "server-info" aktivierst, bekommst du noch etliche zusätzliche Informationen.
Ist es richtig, daß das ein Apache 2.0.5x ist?
Grüße aus Berlin
Christoph S.
Du hast sowohl in der httpd.conf selbst wie auch im virthost-Abschnitt jeweils dasselbe Verzeichnis als DocumentRoot definiert. Eines davon reicht. Kommentiere aus deinen virtuellen hosts mal bitte "localhost" völlig aus.
Es funktioniert jetzt und lag wirklich an dem Problem mit den komischen Zeichen, die im Texteditor nicht erkennbar waren.
Danke auch dir für die vielen guten Hinweise!
Ist es richtig, daß das ein Apache 2.0.5x ist?
Genau, 2.0.55
Viele Grüße!
_ds
Und zu Deinem eigentlichen Problem: So wie ich das sehe, fügt Dein Editor komische Zeichen ein, nämlich ASCII 202. Bei mir lese ich nämlich:
<VirtualHost *>
Ê ÊDocumentRoot "/Users/ds/Projekte/tsw/www"
Ê ÊServerName tsw.dev
</VirtualHost>
Perfekt, du hast mein Problem erkannt und gelöst :-)
Es lag an den falschen Zeichen, die in meinem TextWrangler - und auch im normalen TextEdit - nicht zu sehen waren, und die wohl beim Copy & Paste aus dem MAMP-Forum entstanden sind.
Jetzt funktioniert alles wie gewollt, herzlichen Dank!
Viele Grüße!
_ds
habe d'ehre Schuer
Muessen die Virtuals nicht auch explizit auf Port 80 gestellt sein?
NameVirtualHost *:80
<VirtualHost *:80>
Bei mir ist es so eingestellt, die Apachedoku sagt dies eigentlich auch.
Allerdings sind Deine komische Zeichen immer noch da. (siehe Christian)
man liest sich
Wilhelm
hallo Wilhelm,
Muessen die Virtuals nicht auch explizit auf Port 80 gestellt sein?
Nur dann, wenn "NameVirtualHost" ebenfalls explizit einen port vorgibt.
Grüße aus Berlin
Christoph S.
Hallo,
- Ich ändere auf die Standardports 80/3306 und starte erneut. Läuft.
Heißt das, Du hast
Listen 80
Listen 3306
in der httpd.conf stehen? Am Port 3306 lauscht normalerweise MySQL, nicht der Apache.
Gibt es keine Fehlermeldung beim Start des Apache?
viele Grüße
Axel
Am Port 3306 lauscht normalerweise MySQL, nicht der Apache.
Ja, MAMP kommt normalerweise mit den Ports 8888 (Apache) und 8889 (MySQL), lässt sich jedoch per Kick auf die Standardports 80 (Apache) und 3306 (MySQL) umstellen. Das habe ich gemacht, war etwas blöd ausgedrückt im anderen Posting.
Gibt es keine Fehlermeldung beim Start des Apache?
Nope. Leider nicht.
Viele Grüße!
_ds
Hallo,
Ja, MAMP kommt normalerweise mit den Ports 8888 (Apache) und 8889 (MySQL), lässt sich jedoch per Kick auf die Standardports 80 (Apache) und 3306 (MySQL) umstellen. Das habe ich gemacht, war etwas blöd ausgedrückt im anderen Posting.
Ich hatte beim Schreiben das MAMP verdrängt. Nach dem Abschicken und Nochmallesen hatte ich mir dann schon sowas gedacht.
Gibt es keine Fehlermeldung beim Start des Apache?
Nope. Leider nicht.
Eventuell bei /var/log/messages (siehe Christian, leider kenne ich keinen Mac persönlich ;-))
Unter Windows kann man mit dem Schalter -t einen "syntax check for config files" fahren. Wenn das Apache/bin-Verzeichnis im Path ist einfach mit:
apache -t
Unter Linux mit
httpd -t
Eventuell bringt auch der Start in einer Textkonsole einige Meldungen:
Windows:
apache -k stop
apache -k start
Linux:
httpd stop
httpd start
viele Grüße
Axel
hallo Axel,
Windows:
apache -k stop
apache -k start
Linux:
httpd stop
httpd start
Nicht unbedingt. Wie die ausführbare Datei heißt, hängt von der installierten Version ab, und nicht vom Betriebssystem. Und der Mac hat eine Linux sehr ähnliche Verzeichnisstruktur. Bei Dirk lauten die Konsolenbefehle vermutlich
apache2 -k stop
apache2 -k start
(oder "httpd2" anstelle von "apache2").
Grüße aus Berlin
Christoph S.