Christoph Schnauß: Windows, Apache, SubDomains

Beitrag lesen

guten Abend wolftalker,

Erklär mal genauer was du meinst!

wegen deines "Kürzest-postings" hab ich nicht viel Lust dazu, aber weil ich mir im Thread einen Denk- und Artikulierfehler geleistet habe, muß es jetzt wohl sein.

Also: ob du den Apache oder einen anderen Webserver nun grade mit Windows laufen hast oder mit einem anderen System, spielt eigentlich keine Rolle. Aber du hast den Apache genannt, dann bleiben wir auch dabei.
Ich gehe davon aus, daß du nicht dein eigener Provider bist und dein Apache bei dir also _nicht_ eine echte IP bedient, sondern mehr oder weniger "privat" in einer privaten IP befangen ist, wie beispielsweise 192.168.3.x  -  das wäre allerdings Klasse C, was ein weiteres "Subnet" nahezu unmöglich machen würde, aber eine oder mehrere (virtuelle) Subdomains durchaus zuläßt.

Die Frage ist, was denn eigentlich eine "Subdomain" ausmacht. Am besten demosnstriere ich es dir an einem Beispiel: die Domain "christoph-schnauss" gibt es tatsächlich, und sie ist der Top-Level-Domain "de" untergeordet  -  bitte nicht anklicken, bringt derzeit nix als mein Paßbild. Aber im Namen des Aufrufs "http://christoph-schnauss.de" steckt bereits mehr drin als bloß die "Domain". Der Aufrufname setzt sich bereits aus der top-level-domain "de" und der domain "christoph-schnauss" zusammen. Die allgemein gewohnte Form "www.christoph-schnauss.de" setzt eigentlich nur noch eine Art von "dummy" davor, nämlich die Subdomain "www" (die es physisch gar nicht gibt). Das heißt also: was wir in der Adreßzeile unserer Browser eintippen, folgt einer strengen Hierarchie  -  und der Browser liest das gewissermaßen "von hinten her" aus. Er schaut zuerst nach der Toplevel-domain "de", und wenn er die gefunden hat, sucht er "christoph-schnauss", und wenn er das auch gefunden hat, ist er bereits zufrieden und kßmmert sich nicht mehr um das dämliche "www". Sollte aber was andres da stehen als "www", sucht er eben auch noch danach.
Nur wir einfältigen Computermonitor-Anschauer sind so blöd, von links nach rechts zu lesen und denken, es geht erst ins Internet (wegen "www"), dann zur domain ("christoph-schnauss"), und dann zu einer Nebensächlichkeit wie "de" (darauf bauen solche Adreßanbieter, die die berühmten "vu"-Adressen vergeben). Unsere Rechner sind allerdings klüger und lesen von rechts nach links ...

Mit einem lokalen Apache kann man das nun relativ leicht nachbauen. Nimm einmal an, ich hätte für meinen lokalen Apache einen virtuellen host zusammengestellt, der so aussieht:

NameVirtualHost 192.168.0.1

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

Das bedeutet, wenn ich in meinem Browser (egal, welcher) "http://schnauss.de" (oder "http://www.schnauss.de") eingebe, bekomme ich die "index.htm" zu sehen, die auf meinem Rechner im Verzeichnis "F:\schnauss" liegt.

(für die mitlesenden Kritiker: ich weiß sehr wohl, daß man einen lokalen virtuellen host nicht an eine Top-Level-Domain wie "de" binden sollte, besser sind allemal solche virtuellen Top-Level-Domains wie "inc" oder "local" oder "home")

Möchte ich jetzt beispielsweise eine Subdomain "christoph.schnauss.de" dazu tun, muß ich in der httpd.conf zusätzlich eintragen:

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

... und das ist bereits alles. Das Verzeichnis "F:\christoph\schnauss" muß allerdings existieren

Im Internet sieht das nur geringfügig anders aus. Einfachstes Beispiel: wir bewegen uns als Forumsbesucher alle in der Subdomain "selfforum.temaone". Die Domain ist "teamone", und es gibt weitere Subdomains, wie zum Beispiel "selfhtml.teamone". Die Namensauflösung im Internet ist etwas komplizierter als in einem lokalen Apache, funktioniert aber nach demselben Prinzip: Irgendwo im Internet (oder im lokalen Netz) muß ein Rechner vorhanden sein, der weiß, daß einer bestimmten IP-Adresse eben dieser Name "selfhtml.teamone" zugeordnet werden muß  -  weltweit, und ohne Irrtumsmöglichkeit.

so weit, so gut vorläufig?

Grüße aus Berlin

Christoph S.