agaenssler
Goto Top

Apache Webserver per Hostname ansprechen

Hallo,

ich muss für die Berufsschule einen VM Apache Server aufsetzten. Das hab ich auch schon gemacht.

Per IP kann ich diesen auch schon im Browser ansprechen. Ich soll aber auch möglich machen dass er per Hostname anzusprechen ist. Ich hab in der .conf Datei gesucht aber keine passende passenden Konfigurationen gefunden.

Weiß einer wo und wie ich das zusätzlich einstelle?

Schonmal Danke!

Content-ID: 2961590842

Url: https://administrator.de/contentid/2961590842

Ausgedruckt am: 24.11.2024 um 00:11 Uhr

MirkoKR
MirkoKR 18.01.2024 um 09:56:14 Uhr
Goto Top
"VirtualHost" !
Cleanairs
Cleanairs 18.01.2024 aktualisiert um 10:04:11 Uhr
Goto Top
Oder in /etc/hosts einen Eintrag mit 192.168.1.100 name.local eintragen. IP Name natuerlich anpassen.

Bei Windows in der C:\Windows\System32\drivers\etc\hosts
SlainteMhath
SlainteMhath 18.01.2024 um 10:16:46 Uhr
Goto Top
Moin,

eigentlich wäre dein Stichwort dazu ja "DNS" face-smile

lg,
Slainte
MirkoKR
MirkoKR 18.01.2024 um 10:24:15 Uhr
Goto Top
Zitat von @Cleanairs:

Oder in /etc/hosts einen Eintrag mit 192.168.1.100 name.local eintragen. IP Name natuerlich anpassen.

Bei Windows in der C:\Windows\System32\drivers\etc\hosts

Nein,

Apache unterscheidet Websites über "VirtualHosts" !
Da /etc/hosts, etc. nur eingeschränkt was mit zu tun ...
Michi91
Michi91 18.01.2024 um 10:30:45 Uhr
Goto Top
Hallo,
du musst

1. wie von @Cleanairs erwähnt die Hosts datei auf deinem PC anpassen, damit die Auflösunf von Name zu IP passt. IP vom Webserver und dann dein gewünschter Name. Ich denke DNS-Server wird nicht Teil der Aufgabe sein.

2. in der Apache Config einen Virtual Host wie von @MirkoKR erwähnt erstellen. Dies ist eventuell optional, solange du nur die Default Webseite auf deinem Apache2 nutzt und nicht weitere Webseiten unter unterschiedlichen Hostnamen auf dem selben Server betreiben willst. Ein Apache2 kann nämlich über den Hostnamen auch unterschiedliche Webseiten zuordnen und ausgeben.

Sind in Prinzip zwei Aufgaben. Einmal eine Netzwerktechnische (Auflösung des korrekten Hostnamens zur IP) und eine Serveranwendungsseitige (Anlage eines VHOST um die passende Website zum Hostnamen auszugeben)
Lochkartenstanzer
Lochkartenstanzer 18.01.2024 aktualisiert um 10:35:23 Uhr
Goto Top
Moin,

RTFM:

https://kb.isc.org/docs/aa-01031
https://httpd.apache.org/docs/

Erst sorgst Du dafür, daß der name korrekt auf die IP-Adresse aufgelöst wird, z.B. einen nameserver aufsetzen oder im DNS eine a-record oder Alias eintragen, notfalls pre Eintrag in der hosts-Datei.

Dann definierst Du einen "virtualhost" im Apache.

lks
MirkoKR
MirkoKR 18.01.2024 um 10:40:06 Uhr
Goto Top
Lasst doch den Quatsch mit /etc/hosts, etc.

Was nützt ein solcher Eintrag am Webserver den anderen PCs, die die Website aufrufen...

Richtig ist die von @lks genannte Nameserver Bekanntgabe ... !
Cleanairs
Cleanairs 18.01.2024 um 10:55:21 Uhr
Goto Top
Zitat von @MirkoKR:

Lasst doch den Quatsch mit /etc/hosts, etc.

Was nützt ein solcher Eintrag am Webserver den anderen PCs, die die Website aufrufen...

Richtig ist die von @lks genannte Nameserver Bekanntgabe ... !

Jein!

Wenn die Aufgabe lautet, dass er von SEINEM Rechner erreichbar sein soll, reicht die hosts Lösung von oben ebenfalls aus.

Wenn du den Server auch von anderen Geräten im Internet aus erreichen möchtest, musst du einen virtuellen Host in der Apache-Konfigurationsdatei erstellen. Dazu öffnest du die Datei /etc/apache2/sites-available/default und fügst den folgenden Code hinzu:

<VirtualHost *:80>
ServerName meinserver.local
DocumentRoot /var/www/html
</VirtualHost>
Ersetze meinserver.local durch den gewünschten Hostnamen.
aqui
aqui 18.01.2024 aktualisiert um 11:02:51 Uhr
Goto Top
einen Eintrag mit 192.168.1.100 name.local
Besser nicht denn .local ist bekanntlich TABU und sollte man als Netzwerker eigentlich auch wissen!! face-sad
Hinweise zur Verwendung der Domäne .local in DNS und mDNS

Besser also meinserver.intern oder wenn man Standard konform sein möchte agaensslersrv.home.arpa in die /etc/hosts eintragen. face-wink
Michi91
Michi91 18.01.2024 aktualisiert um 11:06:25 Uhr
Goto Top
Zitat von @MirkoKR:

Lasst doch den Quatsch mit /etc/hosts, etc.

Was nützt ein solcher Eintrag am Webserver den anderen PCs, die die Website aufrufen...

Richtig ist die von @lks genannte Nameserver Bekanntgabe ... !

und auf welchem Nameserver soll er das machen?
Wir reden hier von einer Testumgebung eines Schülers und einer simplen Schulaufgabe...
Den DNS-Servers der Schule? Oder extra ne Domain kaufen, die er nächste Woche schon nicht mehr braucht?
MirkoKR
MirkoKR 18.01.2024 um 11:07:17 Uhr
Goto Top
@aqui: das mit der etc/hosts ... von dir ? Überraschend 😉

Gehen wir davon aus, das der Schüler seine Website im Schulungsnetz bereit stellen soll, bringen jedwede Eintragungen in /etc/hosts genau: gar nix, außer am lokalen Rechner ...
SlainteMhath
SlainteMhath 18.01.2024 um 11:12:27 Uhr
Goto Top
@Cleanairs
Wenn du den Server auch von anderen Geräten im Internet aus erreichen möchtest, musst du einen virtuellen Host in der Apache-Konfigurationsdatei erstellen. Dazu öffnest du die Datei /etc/apache2/sites-available/default und fügst den folgenden Code hinzu:

Sorry, aber das bringt bei der Fragestellung genau GAR NICHTS face-sad

1. Wenn, und davon ist auszugehen, auf dem Apache nur eine Website läuft braucht man keinen VirtualHost
2. Die Änderung bewirkt immer noch nicht, das die WebSite per Hostname aufgerufen werden kann. Dazu braucht es eine Eintrang in die HOSTS Datei des aufrufenden Rechners oder einen Eintrag im DNS.
MirkoKR
MirkoKR 18.01.2024 um 11:13:16 Uhr
Goto Top
Wir wissen NICHT, WAS vor Ort möglich ist.
Die Fragestellung sagt klar, das die Website unterschieden werden soll ...

... mehr ist nicht bekannt ...
Cleanairs
Cleanairs 18.01.2024 um 11:21:32 Uhr
Goto Top
Zitat von @SlainteMhath:

@Cleanairs
Wenn du den Server auch von anderen Geräten im Internet aus erreichen möchtest, musst du einen virtuellen Host in der Apache-Konfigurationsdatei erstellen. Dazu öffnest du die Datei /etc/apache2/sites-available/default und fügst den folgenden Code hinzu:

Sorry, aber das bringt bei der Fragestellung genau GAR NICHTS face-sad

1. Wenn, und davon ist auszugehen, auf dem Apache nur eine Website läuft braucht man keinen VirtualHost
2. Die Änderung bewirkt immer noch nicht, das die WebSite per Hostname aufgerufen werden kann. Dazu braucht es eine Eintrang in die HOSTS Datei des aufrufenden Rechners oder einen Eintrag im DNS.

In Kombi mit DNS schon und das wurde bereits gesagt
manuel-r
manuel-r 18.01.2024 um 11:42:40 Uhr
Goto Top
Zitat von @MirkoKR:
Zitat von @Cleanairs:
Oder in /etc/hosts einen Eintrag mit 192.168.1.100 name.local eintragen. IP Name natuerlich anpassen.
Bei Windows in der C:\Windows\System32\drivers\etc\hosts
Nein,
Apache unterscheidet Websites über "VirtualHosts" !
Da /etc/hosts, etc. nur eingeschränkt was mit zu tun ...

Das ist nur ein Teil der Wahrheit.
Er kann in seinem Apache so viele VirtualHosts anlegen wie er will. Wenn sein Client und damit der Browser nicht weiß unter welcher IP er https://meinedemoseite/start.php erreicht nutzt ihm das ziemlich genau gar nichts.
Und da er schreibt er kann seinen Webserver mit der IP erreichen und er liefert Seiten aus ist der Verweis auf die Namensauflösung richtig. Ob er das jetzt lokal über die hosts-Datei macht, mit einem lokalen DNS oder mit einem DNS der ihm im Netzwerk zur Verfügung steht hängt dann sehr stark von den Gegebenheiten und der Aufgabenstellung ab.

Manuel
MirkoKR
MirkoKR 18.01.2024 um 11:46:18 Uhr
Goto Top
Im Falle der hosts-Datei müsste er das ja bei jedem Rechner machen, wo drauf zugreifen soll...

Aber, wie gesagt: Das zu beurteilen fehlen uns weitere Informationen ...
Lochkartenstanzer
Lochkartenstanzer 18.01.2024 um 13:42:31 Uhr
Goto Top
Zitat von @Michi91:

Zitat von @MirkoKR:

Lasst doch den Quatsch mit /etc/hosts, etc.

Was nützt ein solcher Eintrag am Webserver den anderen PCs, die die Website aufrufen...

Richtig ist die von @lks genannte Nameserver Bekanntgabe ... !

und auf welchem Nameserver soll er das machen?

Auf seinem testserver?

Wir reden hier von einer Testumgebung eines Schülers und einer simplen Schulaufgabe...

Naja, da hat sich der Lehrer nicht viel dabei gedacht.

Oder der Lehrer hat mehr Infos geliefert, als wir zu sehen bekommen.

Den DNS-Servers der Schule? Oder extra ne Domain kaufen, die er nächste Woche schon nicht mehr braucht?

Lokal auf dem apache genügt vollkommen. Und für Testzwecke muß man keine kaufen. Die kann man sich "ausdenken".

lks
AGaenssler
Lösung AGaenssler 19.01.2024 um 09:47:04 Uhr
Goto Top
Hallo schonmal danke für alle antworten.

Ich sollte auf einer VM einen Apache Server aufsetzten und diesen entweder von einem VM Client oder einem PC aus per IP und Hostname ansprechen können. Per IP hat von vorne rein ohne Probleme funktioniert. Dann wollte ich einen VM Client mit Debian aufsetzten aber aus irgendeinem Grund hatte ich da nach der Installation einfach nur ein Black Screen, das gleich Problem hatte ich auch bei Ubuntu Desktop. Also ist die Variante ausgefallen. Dann wollte ich Lokal auf meinem Laptop die Hosts Datei unter Windows anpassen. Könnte aber die Datei nicht via Admin öffnen, ergo nicht die Rechte um diese anzupassen.

Dann hab ich auf dem Apache Server Bind9 installiert um das als DNS Server zu benutzen. Habe hier eine Zonen Datei angelegt und diese in der named.conf.default-zones hinzugefügt. Aber irgendwie ist der Server immer noch nicht per Name ansprechbar. IP Adressen überprüft alles, keine Fehler gefunden.

Dann habe ich heute morgen nochmal geschaut ob ich die Hosts Datei auf meinem Laptop nicht doch mit Admin rechten öffnen könnte. Und mit Google wird man fündig. Also einen Editor mit Adminrechten starten und dann mit der Tastenkombi STRG + O kann man dann eine Datei einlesen und diese ist dann auch mit Adminrechten geöffnet. Also konnte ich dann hier die IP mit meinem Hostname anlegen und schon konnte ich besagte Apache Seite per Name wie auch per IP ansprechen.

Das ist jetzt mein Lösungsweg. geht bestimmt einfacher, aber ich bin gestern wirklich an dem Bind verzweifelt und umso froh dass es jetzt doch irgendwie geht.
Lochkartenstanzer
Lochkartenstanzer 19.01.2024 um 09:56:11 Uhr
Goto Top
Zitat von @AGaenssler:


Das ist jetzt mein Lösungsweg. geht bestimmt einfacher, aber ich bin gestern wirklich an dem Bind verzweifelt und umso froh dass es jetzt doch irgendwie geht.

Hast Du Deinen Kisten auch gesagt, daß sie als Nameserver den bind nutzen sollen?

lks
MirkoKR
MirkoKR 19.01.2024 um 09:59:03 Uhr
Goto Top
Zitat von @AGaenssler:

Dann wollte ich einen VM Client mit Debian aufsetzten aber aus irgendeinem Grund hatte ich da nach der Installation einfach nur ein Black Screen, das gleich Problem hatte ich auch bei Ubuntu Desktop. Also ist die Variante ausgefallen.

In der VM-Konfig die Security-Option ausschalten!
aqui
aqui 19.01.2024 aktualisiert um 10:04:48 Uhr
Goto Top
Dann hab ich auf dem Apache Server Bind9 installiert um das als DNS Server zu benutzen.
Hast du denn zumindestens darauf geachtet das Server und Client dann auch diesen Nameserver nutzen für ihre DNS Anfragen? Spricht, steht der in der /etc/resolv.conf ??

Hier sind die Tools nslookup und dig (apt install bind-utils) immer deine besten Freunde um zu checken welchen DNS Server der Client nutzt und ob die Antwort korrekt ist!
AGaenssler
AGaenssler 30.01.2024 um 17:24:05 Uhr
Goto Top
Zitat von @aqui:

Dann hab ich auf dem Apache Server Bind9 installiert um das als DNS Server zu benutzen.
Hast du denn zumindestens darauf geachtet das Server und Client dann auch diesen Nameserver nutzen für ihre DNS Anfragen? Spricht, steht der in der /etc/resolv.conf ??

Hier sind die Tools nslookup und dig (apt install bind-utils) immer deine besten Freunde um zu checken welchen DNS Server der Client nutzt und ob die Antwort korrekt ist!

hi ja hatte ich, aber ich hatte in der Zonen Datei leider einen Tippfehler. Nachdem ich den behoben hatte ging es aber vielen dank für die Hilfe