Apache Virtual Host - Could not resolve host name

Hinweis: In dem Thema Apache Virtual Host - Could not resolve host name gibt es 10 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hallo liebe Ersthelfer,


    als kleiner Webentwickler arbeitete ich mit Xampp unter Windows 8.1 bis dieses zerbröselte und mich die Aussicht, auf Windows 10 umzusteigen, zu Linux trieb.
    Nach ein paar Tagen Recherche und Tests habe ich mich für openSuse Leaf 15.1 entschieden und bin mit dem Gnome-Desktop sehr zufrieden.


    Aufgabe ist einen Webserver mit lokalen Domains zur Webentwicklung einzurichten so wie ich es mit Xampp unter Windows hatte.
    Das habe ich so mit Yast gemacht, daß in den Konfigurationsdateien in etwa das gleiche steht wie in denen von Windows.
    Zwei vhosts hab ich unter Yast Http-Server Hosts definiert, die aber nicht gefunden werden.


    Chrome 77.0.3865.90 zeigt für domain.local:
    Die Server-IP-Adresse von domain.local wurde nicht gefunden.
    ERR_NAME_NOT_RESOLVED


    Ansonsten kommt keine Response vom Webserver, auch kein Status-Code.


    In Yast Netzwerkeinstellungen hab ich weder unter Hostname/DNS noch Routing etwas eingetragen.
    Müssen die vHosts da noch eingetragen werden?



    Vielen Dank schon mal
    Mife

    Für den Inhalt des Beitrages 136314 haftet ausdrücklich der jeweilige Autor: mife

  • Moin zusammen,


    was bitte ist domain.local für eine Domäne? Nebenbei bemerkt interpretiert Linux .local als sich selber.


    Deine Linux Mühle kennt das Ding schlichtweg nicht (DNS) und darum --> Bauchklatscher.
    2 Möglichkeiten - entweder in die entsprechende vhost Datei eine saubere korrekte und auflösbare Domäne eintragen oder den quick und dirty Weg gehen und unter /etc/hosts das Ding mit einer IP verknüpfen - sinnigerweise die Deines Rechners. Aber dann rennt das NUR lokal auf der Kiste und nirgendwo sonst - sprich man kommt von nirgendwo sonst da dran.
    Wenns nur lokal auf der Mühle laufen soll ok ... wenns aber irgendwann auch in der WeitenWelt abrufbar sein soll ist das nix. Da braucht es eine korrekte und vor allem korrekt eingetragene Domain, die dann in der entsprechenden vhost Datei unter ServerName gelistet sein muss. Sprich der Indianer weiss dann schon was er tun muss wenn einer mit blablablubb.de im Browser ankommt.


    Ich empfehle dringend, die Config Dateien unter /etc/apache2/.... anzuschauen und zu studieren und das entsprechende Howto zu lesen (gibts wie Sand am Meer wenn man Tante Gockel fragt). mit clicki-Micki-Bunti wird das sonst nix und Du nicht glücklich.

    Viele Grüße,
    T.

    Für den Inhalt des Beitrages 136316 haftet ausdrücklich der jeweilige Autor: Tamerlain

  • Danke für die Antwort tamerlain,


    domain.local ist eine lokale Domäne für die Webentwicklung, also nicht von außen erreichbar.
    Config-Dateien hab ich mich bereits ausgiebig beschäftigt. Die kann ich natürlich manuell ändern, aber da vhosts auch im Handbuch von Yast erwähnt werden, sollte das doch damit funktionieren, oder?



    Muß man nichts in den Yast Netzwerkeinstellungen für Hostname/DNS und Routing eintragen?

    Für den Inhalt des Beitrages 136320 haftet ausdrücklich der jeweilige Autor: mife

  • Moin zusammen,


    mife im Ernst - wertungsfrei - verabschiede Dich von der Clickerei. Das bringt nix und am Wenigsten Wissen was sich da tut und warum.


    Was die Namensauflösung angeht, verwendet nahezu jedes System einen DNS Server. Und wenn dem domain.local nicht bekannt ist, dann kommt exakt der Fehler raus, den Du beschrieben hast.


    Da ich nicht annehme, dass Du Zugriff auf den DNS Server hast, hast Du hier an der Stelle verloren - es sei denn, Du bringst den DNS Admin dazu Dir dieses Ding einzutragen - was ich nicht annehme dass er das tut!


    Da wären wir also bei der quick and dirty Lösung - das Ding mit der IP Adresse Deines Rechners (da wo der Apache serviert) in die /etc/hosts des Rechners eintragen, von dem aus der Zugriff auf die Webseite erfolgen soll.

    Viele Grüße,
    T.

    Für den Inhalt des Beitrages 136329 haftet ausdrücklich der jeweilige Autor: Tamerlain

  • Lösung


    Local hosts mit Yast einstellen:
    Yast > Netzwerkdienste > Rechnername
    in englisch Yast > Network Services > Hostnames

    Code
    # default
    127.0.0.1 localhost
    
    
    # local domain
    127.0.0.2 domain.local
    127.0.0.3 anotherdomain.local


    Yast wollte ich dafür nutzen, nicht zuletzt weil es genau dafür gemacht wurde. Verrückt, nicht wahr ;)

    Für den Inhalt des Beitrages 136332 haftet ausdrücklich der jeweilige Autor: mife

  • Moin zusammen,


    den Quellcode, den du da gepostet hast hat aber auch rein gar nichts mit dem Rechner- oder hostnamen zu tun!
    Das ist die Einstellung in /etc/hosts - und zwar die Standard Einstellung für die Loopbacks - sprich LOKALE Rechnerinterfaces.


    In der Hosts Datei KANN man DNS 'übergehen' und dort Address-IP Beziehungen eintragen, die im generellen DNS nicht bekannt sind.


    Sprich wenn ich dort eintrage 1.2.3.4 utzelbruzzel.de und dann auf der Maschine ein ping utzelbruzzel.de absetze, wird genau die Adresse 1.2.3.4 aufgelöst.


    Sowas macht man gerne mal um Datenbankcluster abzusichern für den Fall dass DNS mal ausfällt (was durchaus passieren kann).


    Hätte man alles wunderbar sehen können wenn man nicht im yast rumclickt sondern sich die Dateien auch mal anschaut und sich merkt wo was steht.


    Im Leben wirst Du da von ausserhalb des Rechners keine HTML Connection aufbekommen!


    Ergo - Apache auf ein RICHTIGES Interface lauschen lassen und im DNS eine Testdomäne im Intranet anlegen lassen, die auf Deinen Rechner zeigt und 3x bei Teufel nicht irgendwas .local verwenden! Das interpretiert Linux IMMER als -bin ich selber-.

    Viele Grüße,
    T.

    Für den Inhalt des Beitrages 136334 haftet ausdrücklich der jeweilige Autor: Tamerlain

  • Tamerlain: Mglw gabs da ein Mißverständnis.
    Ziel war es, vhosts auf einem lokalen (=NICHT von außen erreichbar) Webserver einzurichten.
    Yast benutze ich, um die Konfigurationsdateien schreiben zu lassen, die ich dann prüfe.


    Als TLD für die lokale Entwicklungsumgebung bin ich von .local auf .lan umgestiegen.
    Ziel bei der Wahl der TLD ist, möglichst ähnliches Verhalten wie live hinzukriegen.


    Damit funktionieren jetzt auch Subdomains bei laufendem Ahavi.

    Für den Inhalt des Beitrages 136337 haftet ausdrücklich der jeweilige Autor: mife

  • Moin zusammen,


    trotzdem wird der Linux Rechner IMMER zuerst seinen DNS Server fragen nach der Domäne.
    Kennt dieser den nicht, steigt Linux normal auf seine /etc/hosts um und guckt da nach ob er Einträge dazu findet.


    Nur mit .local hat der halt richtig Probleme.


    Wenn Du Live Bedingungen simulieren willst, solltest Du LOKAL in der /etc/hosts eine Domäne angeben wie z.B. livetest.woauchimmer.die.liegt.de, den Apache auf dem normalen Interface lauschen lassen und per Firewall von aussen Webzugriffe auf dieses Interface verbieten.


    Nur dann hast Du in etwa Life Bedingungen.


    Über Loopback wird das nix!

    Viele Grüße,
    T.

    Für den Inhalt des Beitrages 136338 haftet ausdrücklich der jeweilige Autor: Tamerlain

  • @Tamerlain, vermutlich hätte ich es oben beim Post "Lösung" dazu schreiben sollen:
    Die /etc/hosts wird von Yast geschrieben wenn man in Netzwerkdienste unter Rechnernamen Angaben macht und speichert.


    Das war ja genau das, was ich von Anfang an gesucht habe. Auf Windows-Seite hatte ich das ja alles manuell gemacht. Daher sind mir die Dateien bekannt.

    Für den Inhalt des Beitrages 136340 haftet ausdrücklich der jeweilige Autor: mife