Steve: Apache VirtualHosts

Hallo lieber Leser,
da ich ein derbe großes Problem mit meinem Apache habe, und im Forum von SelfHtml gesucht habe, jedoch keine Antwort fand,
muss ich hier um Hilfe bitten:

Die Rede ist von VirtualHost auf dem Apache (Version 1.3 und 2.0 beide durchprobiert)...
klar, mache ich gerne, doch ich beisse mir daran die Zähne aus. Selbst mit einer Bestimmung der Hosts von 127.0.0.1 bis 127.0.0.5 oder so (es geht um 2 VirtualHosts)
passiert ständig folgendes:

Entweder, mein Apache findet dann auch nicht mehr die Dateien für die HauptDomain (wenn man den VirtualHost wieder aus-# geht das wieder)
oder er leitet beide Domains zur HauptDomain.
Beides nicht im Sinne des Erfinders. Leider kam ich auch auf den Apache-Seiten nicht weiter, da die auf diese Probleme bei einem Apache unter
Windows hinweisen… nur, was nun tun ?

Ich wollte nun ebenfalls eine Lösung finden, um die Domains trennen zu können, komme aber nicht weiter…
Ich bin über jede halbwegs hilfreiche Idee dankbar, da ich schon seit Tagen stundenlang da dran sitze und zu keinem Ergebnis komme,
egal in welcher Form ich es ausprobiere.
Ebenfalls würde ich wenn es sein muss auch einen zweiten Server installieren, aber erst mal einen halbwegs vernünftigen finden für Windows
und dann sollen die sich ja auch nicht gegenseitig den Port klauen…

Vielen Dank im voraus für jede erdenkbare Hilfe,
Gruß, Steve

  1. Hi,

    du hast nicht genau das eigentliche Problem beschrieben...?

    Aber da du Probleme mit virtuellen Hosts hast und das diese nicht angesprochen werden sollen, laesst mich auf eines schliessen:

    Hast du, bevor du die ganzen

    <VirtualHost 111.222.333.444>
    Servname bla.fasel.com

    ..
    </virtualHost>

    definiert hast, auch ein

    NameVirtualHost 111.222.333.444

    gesetzt?

    Ciao,
      WOlfgang

    1. Danke für die Mühe erst mal.
      Das Problem ist, ich möchte 2 Domains unter dem Apache haben.
      Doch entweder beide Domains laufen in dasselbe Verzeichnis anstatt die zweite Domain in ein anderes oder es kommt die Meldung 404 oder
      403. Ich habe schon mehrere Sachen ausprobiert, doch es klappt einfach nicht.
      Der Host ist gesetzt mit NameVirtualHost 127.0.0.2, die Domain nimmt er an, aber er lenkt sie nicht in ihren eigenen Ordner sondern zur HauptDomain, obwohl ich einen anderen DocumentRoot angegeben habe.

      Falls da noch eine Idee ist, wäre ich sehr, sehr dankbar.
      Gruß, Steve

      Hi,

      du hast nicht genau das eigentliche Problem beschrieben...?

      Aber da du Probleme mit virtuellen Hosts hast und das diese nicht angesprochen werden sollen, laesst mich auf eines schliessen:

      Hast du, bevor du die ganzen

      <VirtualHost 111.222.333.444>
      Servname bla.fasel.com

      ..
      </virtualHost>

      definiert hast, auch ein

      NameVirtualHost 111.222.333.444

      gesetzt?

      Ciao,
        WOlfgang

      1. hallo Steve,

        Falls da noch eine Idee ist, wäre ich sehr, sehr dankbar.

        schreib einfach mal den gesamten "VirtualHost"-Abschnitt deiner httpd.conf her (so fürchterlich viel wirds ja nicht sein), dann kann man weiterschauen.

        Christoph S.

        1. Bitte nicht denken, dass der da so drinsteht, wenn ich es versuche...
          Ich habe aber schon so viele Varianten ausprobiert...

          Bei diesem dem letzten Versuch habe ich dann aufgegeben...

          #NameVirtualHost 127.0.0.2

          VirtualHost example:

          Almost any Apache directive may go into a VirtualHost container.

          The first VirtualHost section is used for requests without a known

          server name.

          #<VirtualHost nocenter.ath.cx>
          #    ServerName nocenter.ath.cx
          #    ServerAdmin administrator@to8.de
          #    DocumentRoot P:/http-nocenter
          #    ErrorLog P:/http-nocenter/nocenter-error_log
          #    CustomLog P:/http-nocenter/nocenter-access_log common
          #</VirtualHost>

          Alle Anfragen landen auf der Haupt-Domain to8.ath.cx...
          ... es würde auch schon reichen, wenn er nur ein anderen INDEX
          aufrufen könnte, bei der zweiten Domain, aber selbst das tut er nicht.

          Danke für Eure Mühe !!
          Schöne Grüße, Steve

          hallo Steve,

          Falls da noch eine Idee ist, wäre ich sehr, sehr dankbar.
          schreib einfach mal den gesamten "VirtualHost"-Abschnitt deiner httpd.conf her (so fürchterlich viel wirds ja nicht sein), dann kann man weiterschauen.

          Christoph S.

          1. wow, Steve ...

            #NameVirtualHost 127.0.0.2

            ja, was ist denn das alles, was hier folgt? Du hast _überall_ die Kommentarzeichen stehenlassen, also _KANN_ der Apache gar keine virtualHosts einrichten ...

            Grüße aus Berlin

            Christoph S.

            1. Die waren natürlich draussen als es um den VirtualHost ging.
              Jetzt habe ich sie wieder plaziert, damit der Server nicht beeinträchtigt wird, da er bei der letzten Versuchs-Variation nicht startete.
              Damit ich nicht vergesse, was ich bereits alles ausprobiert habe und vielleicht noch mal auf eine Idee komme plaziere ich die Zeichen wieder anstatt die Files zu löschen.

              wow, Steve ...

              #NameVirtualHost 127.0.0.2
              ja, was ist denn das alles, was hier folgt? Du hast _überall_ die Kommentarzeichen stehenlassen, also _KANN_ der Apache gar keine virtualHosts einrichten ...

              Grüße aus Berlin

              Christoph S.

              1. ok, Steve ...

                Die waren natürlich draussen als es um den VirtualHost ging.

                gut. Der möglicherweise entscheidende Fehler liegt darin, daß du zwar mit

                NameVirtualHost 127.0.0.2

                versucht hast, eine gemeinsame IP anzugeben. Aber dann hast du mit

                <VirtualHost nocenter.ath.cx>

                wieder auf die IP verzichtet. Hier hätte stehen müssen
                <VirtualHost 127.0.0.2>

                Ein Beispiel aus meiner eigenen (voll funktionsfähigen) httpd.conf:

                NameVirtualHost 192.168.0.1

                <Virtualhost 192.168.0.1>
                  DocumentRoot "E:/root"
                  ServerName ph1
                  Options Indexes +Includes FollowSymLinks All
                </Virtualhost>

                <Virtualhost 192.168.0.1>
                  DocumentRoot E:/ph1
                  ServerName www.christoph-schnauss.de
                  ScriptAlias /cgi-bin/ E:/ph1/cgi-bin/
                  Options  indexes  includes  followSymLinks  all
                </Virtualhost>

                Grüße

                Christoph S.

                PS: schau dir mal bei Gelegenheit in der FAQ an, wie hier zitiert werden sollte

                1. zwar hatte ich Deine Art wirklich noch nicht probiert gehabt, aber es funktioniert weder mit einer 192.168.0.xxx noch mit dem 127.0.0.xxx
                  Er läuft weiterhin auf die HauptDomain.
                  Woher soll er eigentlich wissen, welche Domain wohin soll ?
                  Es sind die Domains nocenter.ath.cx und to8.ath.cx (Haupt)

                  Die FAQ kann ich schon fast auswendig zitieren... sie wird mir leider nicht mehr helfen, aber mir schwant langsam das Problem...

                  Ich sprach von DynDNS...
                  DynDNS ersetzt den DoainNamen mit der IP... natürlich haben beide Domains dieselbe IP... und beim Aufruf einer meiner Domains geht der Request an DynDNS, dieser leitet den Request an meine aktuelle IP...
                  natürlich für beide Domains die gleiche...

                  Also woher soll der Apache wissen, welche Domain gemeint ist ?
                  Kann DAS das Problem vielleicht sein ?

                  Ich möchte mich bei allen für die Hilfe bedanken, insbesondere bei
                  Christoph S. für die große Mühe.
                  Da ich nun alle Möglichkeiten ausgeschöpft habe, werde ich nun wohl doch mal besser auf einen DSL-Router und einen zweiten Rechner sparen...

                  Vielen Dank und einen schönen Start in die Woche,
                  Steve

                  ok, Steve ...

                  Die waren natürlich draussen als es um den VirtualHost ging.
                  gut. Der möglicherweise entscheidende Fehler liegt darin, daß du zwar mit
                  NameVirtualHost 127.0.0.2
                  versucht hast, eine gemeinsame IP anzugeben. Aber dann hast du mit
                  <VirtualHost nocenter.ath.cx>
                  wieder auf die IP verzichtet. Hier hätte stehen müssen
                  <VirtualHost 127.0.0.2>

                  Ein Beispiel aus meiner eigenen (voll funktionsfähigen) httpd.conf:

                  NameVirtualHost 192.168.0.1

                  <Virtualhost 192.168.0.1>
                    DocumentRoot "E:/root"
                    ServerName ph1
                    Options Indexes +Includes FollowSymLinks All
                  </Virtualhost>

                  <Virtualhost 192.168.0.1>
                    DocumentRoot E:/ph1
                    ServerName www.christoph-schnauss.de
                    ScriptAlias /cgi-bin/ E:/ph1/cgi-bin/
                    Options  indexes  includes  followSymLinks  all
                  </Virtualhost>

                  Grüße

                  Christoph S.

                  PS: schau dir mal bei Gelegenheit in der FAQ an, wie hier zitiert werden sollte

                  1. hallo Steve,
                    <!-- das ist eine Anrede, auf die wir im Forum ziemlich viel Wert legen //-->

                    zwar hatte ich Deine Art wirklich noch nicht probiert gehabt, aber es funktioniert weder mit einer 192.168.0.xxx noch mit dem 127.0.0.xxx

                    was funktioniert da nicht? Was sagt die error.log dazu? Hast du daran gedacht, die "xxx" durch irgendeine Ziffernfolge zu ersetzen, und hast du berücksichtigt, daß du nach jeder Veränderung der httpd.conf deinen lokalen Apache _unbedingt_ neu starten mußt?

                    Er läuft weiterhin auf die HauptDomain.

                    Nein. Verwechsle bitte nicht "Hauptdomain" und "DocumentRoot"

                    Woher soll er eigentlich wissen, welche Domain wohin soll ?

                    das sieht Apache daran, welches DocumentRoot-Verzeichnis vorgegeben wurde

                    Es sind die Domains nocenter.ath.cx und to8.ath.cx (Haupt)

                    ja, na und?

                    Ich sprach von DynDNS...
                    DynDNS ersetzt den DoainNamen mit der IP...

                    soll das bedeuten, daß du einen _eigenen_ Domain Name Server noch nebenbei betreibst?

                    Also woher soll der Apache wissen, welche Domain gemeint ist ?

                    das liest er aus der Angabe für den virtuellen Host heraus, wobei ihm (in dem Beispiel, das ich dir gepostet habe) die IP relativ egal ist  -  sie muß nur in allen virtualHost-Containern dieselbe sein. Du kannst allerdings auch mit verschiedenen IP's arbeiten, wie das geht, steht in der Apache-Dokumentation (http://httpd.apache.org/docs-2.0/vhosts/)

                    Kann DAS das Problem vielleicht sein ?

                    kann es, _muß_ es aber nicht. Das hängt wirklich davon ab, was du in deiner httpd.conf stehen hast

                    Da ich nun alle Möglichkeiten ausgeschöpft habe, werde ich nun wohl doch mal besser auf einen DSL-Router und einen zweiten Rechner sparen...

                    Das wird dir nicht weiterhelfen. Und "ausgeschöpft" hast du noch lange nicht alles. Vielleicht kann dir Michael Schröpl noch was zum Problem sagen, was ich bisher nicht angeführt habe

                    Vielen Dank und einen schönen Start in die Woche

                    bittesehr, dir auch

                    Grüße aus Berlin

                    Christoph S.

                    PS: schau dir mal bei Gelegenheit in der FAQ an, wie hier zitiert werden sollte  -  du hast völlig überflüssigerweise mein gesamtes vorangegangenes posting an deine Nachfrage unten angehängt. Das bläht den posting-Umfang unnötig auf

                    PPS: du hast dich per mail an mich gewendet. Das ist zwar dein gutes Recht (ich hätte ja meine mail-Adresse verschweigen können), ich bitte dich aber nochmals dringlich, das so lange nicht zu tun, wie der ganze Thread im Forum steht (wenn er im Archiv verschwunden ist, sieht das anders aus), weil damit die "Transparenz" des Threads zerstört wird. In deiner mail hast du mir Dinge mitgeteilt, die hier im Thread erheblich dazu hätten beitragen können, daß auch andere Leser dein Problem verstehen und sich an der Problemlösung beteiligen können. Du versuchst zum Beispiel, deinen _lokalen_ Apache auf dieselbe IP auszurichten, die du auch _online_ hast. Das ist gar nicht nötig. Weil deine online-IP, die dir dein Provider zuweist, mit _dessen_ Server zu tun hat, aber absolut nichts mit _deinem lokalen_ Apache (es sei denn, du bist dein eigener Provider) usw.
                    Wichtig ist bei solchen Diskussionen, daß man im Forum nicht nur nachlesen kann, was der "Fragesteller" für (manchmal vielleicht "dumm" oder "naiv" wirkende) Fragen hat, sondern daß man auch nachlesen kann, ob und wie ein "Antworter" versucht, das Problem überhaupt zu verstehen und Lösungen vorzuschlagen. Solange ein Thread im aktuellen Forum vorhanden ist, ist es deshalb nicht gut, zum selben Thema auch mail-Auskünfte zu erbitten. Die "Transparenz" der Forumsdiskussion wird damit beeinträchtigt, und anderen Fachleuten wird die Möglichkeit genommen, an entscheidenden Stellen einzugreifen und hilfreiche Tips zu geben. Du darfst sicher sein, daß es unter den Besuchern des SELFHTML-Forums einige gibt, die vom Apache sehr viel verstehen und sehr schnell herausfinden können, wo es noch Lösungswege geben könnte, die mir noch nicht eingefallen sind bzw. die bisher noch nicht benannt wurden. Auch "Antworter" wie ich in diesem Thread können und wollen an der möglichen Beteiligung anderer "Antworter" etwas lernen. Dazu ist das Forum da, weil es "öffentlich" ist. Mails sind "nicht öffentlich", und wenn du mail-Nachfragen stellst, solange dein Problem noch im Forum zur öffentlichen Beratung ausgeschrieben ist, beraubst du dich selbst der Möglichkeit, auch den Rat anderer Fachleute einzuholen.

                    Christoph S.

  2. hallo Steve,

    dein Problem wird nicht ganz klar  -  es wird nur klar, daß du eines hast. Wenn es um den Apache geht und da irgendwas nicht klappt, ist es immer sinnvoll, mal in die error.log zu schauen und gegebenenfalls die entsprechende Fehlermeldung mit zu posten. Aber:

    Leider kam ich auch auf den Apache-Seiten nicht weiter, da die auf diese Probleme bei einem Apache unter
    Windows hinweisen…

    daraus müßte ich schließen, daß du ein anderes System als Windows benutzt, weiß aber nicht, welches.

    Ebenfalls würde ich wenn es sein muss auch einen zweiten Server installieren, aber erst mal einen halbwegs vernünftigen finden für Windows

    daraus ist nun wieder zu schließen, daß du doch Windows fährst (erstmal)

    vielleicht hilft dir http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf05.htm#a4 erstmal ein Stückchen weiter.

    Es ist nicht ganz nachvollziehbar, was du auf den Apache-Hilfeseiten nicht verstanden hast. Die Dokumentation ist sehr ausführlich und im Grunde genommen auch einigermaßen "idiotensicher".

    Christoph S.