Hostname zwingend erforderlich?

Riseofdead

Lt. Commander
Registriert
Jan. 2013
Beiträge
1.030
Hallo

Ich hab ja schon seit längerer Zeit einen Webserver im LAN hängen der auch aus dem Internet aus erreichbar ist.

In der /etc/hosts hab ich den Eintrag

127.0.0.1 localhost
10.0.0.30 www.meine-domain.at
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

10.0.0.30 ist auch meine IP die der Server im LAN hat.

Die /etc/hostname beinhaltet einfach den Namen server

Nun wenn ich in der hosts Datei
10.0.0.30 server.www.meine-domain.at server

oder
10.0.0.30 www.meine-domain.at server

eingib, ist mein Server nicht mehr erreichbar.

Wenn ich jedoch das
10.0.0.30 www.meine-domain.at

lasse, dann ist zwar mein Server erreichbar aber dann steht beim Start von Apache2 folgendes da

[....] Starting web server: apache2AH00557: apache2: apr_sockaddr_info_get() failed for server
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

wie gesagt wenn ich in der hosts was ändere dann kommt die Meldung nicht aber dann ist der Server auch nicht erreichbar.

Könnte das vielleicht auch das Problem sein das der FTP Client die Domain im LAN nicht findet? Ich bin mit meinem Handy z.b im WLAN bei mir daheim. Benutze ich www.meine-domain.at findet der FTP Client nix. Schalte ich jedoch vom WLAN ins 3G Netz um so wird der Server sofort gefunden.

Was müsste ich in der hosts oder hostname eingeben das

1. der FTP Client auch im LAN funktioniert ohne 2. Bookmark mit der LAN IP des Servers?
2. das der Apache das ganze als Fully Quality Domain Name kennt (also keinen Fehler mehr ausgibt)
3. der Server dann auch weiterhin über LAN und Internet aus erreichbar ist

PS: Hab noch was von resolv.conf gelesen. Die lautet bei mir so:

nameserver 8.8.8.8
nameserver 8.8.4.4

Sind halt die Google DNS Server. Die hab ich deswegen genommen da die DNS Server zum Provider A1 gehen und der ist in staatlicher Hand und die zensieren leider das Internet immer mehr.

Müsste ich da noch einen Eintrag vornehmen?
 
eth0 hat die Adresse 10.0.0.30 also IPv4 oder?

ifconfig eth0 sagt folgendes:

Code:
eth0      Link encap:Ethernet  Hardware Adresse 20:6a:8a:22:8a:d5
          inet Adresse:10.0.0.30  Bcast:10.0.0.255  Maske:255.255.255.0
          inet6-Adresse: fe80::226a:8aff:fe22:8ad5/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:169983 errors:0 dropped:181 overruns:0 frame:0
          TX packets:21760 errors:0 dropped:0 overruns:0 carrier:19
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:48863904 (46.6 MiB)  TX bytes:5548623 (5.2 MiB)
 
Der Eröffnungspost ist verwirrend. Da steht zwar viel zur Konfiguration, aber nicht, was das eigentliche Ziel des Ganzen ist. Soll der Apache-Webserver denn nun unter http://www.meine-domain.at oder http://server.www.meine-domain.at erreichbar sein. Das sind ja vollkommen verschiedene Dinge.

Damit AUF ANDEREN RECHNERN (z.B. dem Handy) laufende Clients (egal ob WWW oder FTP) den Server richtig finden, muß der entsprechende Eintrag im DNS stimmen. Den kann du nicht auf dem Webserver konfigurieren. Nur die Namensauflösung auf dem Server selbst kann du direkt auf dem Webserver beeinflussen.

Wenn du in die /etc/hosts zu IP-Adressen neben dem vollen Namen auch noch Kurznamen ohne Domain einträgst (z.B. "10.0.0.30 server.www.meine-domain.at server", musst du auch noch festlegen, in welcher oder welchen Domain(s) denn diese kurzen Namen gesucht werden sollen ("search"-Eintrag in resolv.conf). Wenn man die Auflösung des vollen Namens aus einer IP nicht über /etc/hosts oder DNS konfiguriert hat, kann man die Domain auch in der resolv.conf festlegen. Dann findet der Apache die auch heraus ohne ServerName-Eintrag) Einfaches Beispiel:

#/etc/hosts
1.1.1.1 www1.domain.tld www1

#/etc/resolv.conf
domain domain.tld
search domain.tld
nameserver 8.8.8.8

In dem Fall ist die search-Zeile optional, weil da Voreinstellung ist, was in der domain-Zeile steht. In der search-Zeile können aber ggf. mehrere Domains stehen, in denen man Kurznamen suchen lassen möchte. Damit finden auf dem gleichen Rechner laufende Clients was sie brauchen. Damits auch von anderen Rechnern aus funzt, müssen die Daten ins DNS (oder manuell in die lokale Konfiguration des Clients).

Dem Apache trotzdem seinen "ServerName" manuell konfigurieren, wie in der Fehlermeldung steht, kann nicht schaden, wenn du dir mit der Konfiguration der lokalen Namensauflösung auf dem Rechner nicht sicher bist. Dann bringst du erstmal der Apache orgendlich zum laufen, dass lokal auf dem Server alles funktioniert wie es soll. Dann kümmerst du dich ums DNS, damit der Webserver auch von aussen gefunden wird.
 
Zuletzt bearbeitet:
Der Post des TE ist aber immer noch sehr verwirrend - da sollte er doch mal mehr aufklären !
 
glaub ich euch gern das ich verwirrend geschrieben hab xD Hab ja selbst keine Ahnung für was ich den Hostnamen eigentlich brauch. Alles soll unter www.meine-domain.at erreichbar sein. Server ist der Name des Rechners. Der muss ja vor der Domain stehen oder?

Aja jetzt mein Server komischerweise nimmer ins Internet. Kann laut apt-get update nix mehr auflösen. Hat das was mit der DHCP Leasetime zu tun? Aber mein Server ist ja in keiner DHCP Range.
 
Im Zweifel hast du deine resolv.conf kaputt gespielt.
Und nein, der Name des Servers muss nicht irgendwie "vor der Domain" stehen. Der Name des Servers ist sein FQDN. Wie genau der lautet hängt von deiner Netzwerkstruktur ab.
 
Der Rechnername (was in /etc/hostname steht) ist fürs den Betrieb als Webserver total egal. Für den Betrieb als Webserver ist wichtig, dass www.meine-domain.at zu der IP-Adresse aufgelöst wird, an der der der Apache lauscht.

Ich hoffe, deine 10.0.0.30 ist nur ein Beispiel, denn das Netz 10.irgendwas wird im Internet nicht geroutet, wird also nur aus deinem LAN erreichbar bleiben.
 
an welchem Port sollte der Apache dann sonst lauschen? Das Modem gibt ja das ganze an 10.0.0.30 weiter oder nicht? Hab ja eine Portweiterleitung drin.
 
Ja, WENN du eine Port Redirection machst...
Aber mal ganz ehrlich: Bist du dir der Problemstellung "Unqualifiziertes Betreiben eines Servers im Internet" auch nur ansatzweise bewusst? Im Zweifel: Finger weg!
 
Glaubst du das mich wer angreift wenn ich hinter einem Router mit Firewall häng? Port 80,443,21 und meinen geheimen SSH Port wire nicht so die Gefahr sein. Außerdem ist SSH only RSA key gesichert und fail2ban ist auch aktiv. Kenn mich halt nur mit dem hosts nicht so aus weil man Überfall was anderes liest
 
Es gibt durchaus auch automatisierte Exploits, die auf HTTP(S) abzielen, v.a. auf ältere Apache- oder PHP-Versionen.

Und trotzdem: Deine Maschine "heißt" gemäß ihres FQDN. Der Rest ist eine VHost-Konfiguration und vollkommen unabhängig vom FQDN. Dafür sinds ja VHosts.
 
Zurück
Oben