Schuer: Mac OS + MAMP: Virtual Hosts, Apache startet nicht

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

--
Nachdem man versucht hatte, den Verlierer der ersten Staffel, Daniel Küblböck, im Dschungel aussetzen, fuhr er einen Gurkenlaster an, zauberte vor dunklen Kinoleinwänden, ließ sich die Ohren richten und behauptete, eine 33-jährige Bayerin geschwängert zu haben.
Medienrauschen, Popsuppenstars: Henn. Bohlen.
  1. hallo,

    1. 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.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. 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

      --
      Celebrity-Doku-Soap, was zur Hölle..? Im Grunde sowas wie eine Homestory mit Playback.
      Medienrauschen, In Love: Henne. Hahn.
      1. 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.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. 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

          --
          Dynamik: der Gegensatz zwischen sehr laut und sehr leise. Wer damit umgehen kann, schreibt oft schöne Lieder.
          Top 5-Blog, Smashing Pumpkins
          1. 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.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|
  2. 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

    --
    "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup
    1. 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

      --
      »Soviel Stress nur um die Welt zu retten, Jimbo?«
      Top 5-Blog, Schöne Sätze für den Alltag, Teil 7.
      1. Hallo Schuer,

        http://www.fb07.de/temp/httpd.conf

        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:

        <VirtualHost *>

        Ê ÊDocumentRoot "/Users/ds/Projekte/tsw/www"

        Ê ÊServerName tsw.dev

        </VirtualHost>

        Das Ê stört da irgendwie - und vmtl. bringt das den Apache durcheinander.

        Tritt übrigens in jedem <VirtualHost>-Block auf.

        Viele Grüße,
        Christian

        --
        "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup
        1. 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

          --
          Die Hauptdarsteller der 9-teiligen Serie lassen sich recht schnell überblicken: neben Sarah und Marc sind das vor allem Sarahs Mutter Soraya und der Hinterkopf von Söhnchen Tyler.
          Medienrauschen, In Love: Henne. Hahn.
          1. 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.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|
            1. 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

              --
              In Deutschland spricht Pretty Woman wie Ally McBeal und Sylvester Stallone wie John Travolta und Adriano Celentano.
              Top 5-Blog, 5 Dinge, die Deutsche noch lernen müssen
        2. 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

          --
          Die Bedienung eines Coffee Houses ist recht einfach. Es gibt keine. Man bestellt stattdessen direkt an der Theke.
          Top 5-Blog, Verhalten im Coffee House
      2. 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

        1. 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.

          --
          Visitenkarte
          ss:| zu:) ls:& fo:) va:) sh:| rl:|
  3. Hallo,

    1. 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

    1. 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

      --
      "Ey, Pocher! Was machsu in Berlin? Schwul... oder was?"
      Das kleine Seitenschwein, Schwuloderwas?
      1. 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

        1. 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.

          --
          Visitenkarte
          ss:| zu:) ls:& fo:) va:) sh:| rl:|