michi200
Goto Top

apache und virtual hosts

Hallo!

Ich habe hier folgendes Beispiel für VirtualHosts gefunden: Apache und VirtualHost

Dies wollte ich einmal ausprobieren, da wir auch mehrere websiten auf einem server mit einer ip haben.
bis jetzt leiten urls der einzelnen seiten beim provider auf die IP und den startordner der seite weiter. wie sieht es damit aus, wenn die virtual hosts eingerichtet sind?
muss man dann nur noch auf die ip des servers weiterleitetn? wir wollen es ämlich so hinbekommen, dass z.B. bei onlineshops wo links über eine angabe der domain (zur zeit leider direkkt die ip) mit der eigentlichen url erstellt werden und dies auch läuft.

gruß, der micha!

Content-ID: 93285

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

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

SnowStar
SnowStar 31.07.2008 um 17:07:02 Uhr
Goto Top
Fachlich vielleicht nicht 1000%ig, aber sollte dir helfen:

Du hast einen Server IP z.B. 1.1.1.1
Auf diesem Server läuft der Apache mit dem Config-Eintrag "NameVirtualHost *:80".
Damit sagst du ihm, dass er auf allen IP Adressen des Servers (im Beispiel also 1.1.1.1) auf Port 80 auf Namensbasierte Domains wartet - er interpretiert also, was in der Adressleiste des Clients steht.

Weiterhin hast du in deiner Config Einträge in der Form:
<VirtualHost *:80>
	ServerAdmin webmaster@domain.de
	DocumentRoot /var/www/html
	ServerName domain.de
	ServerAlias www.domain.de
	ErrorLog /home/domain/logs/www.domain.de-error_log
	CustomLog /home/domain/logs/www.domain.de-access_log common
</VirtualHost>

Diese Container sagen dem Apache "wenn eine Anfrage mit www.domain.de daherkommt, dann leite diese auf den Ordner /var/www/domain um".
Du kannst beliebig viele solcher Virtuellen Domänen ablegen, wichtig ist nur, dass der zuständige Nameserver des Clients weiß, dass www.domain.de auf der IP 1.1.1.1 liegt.

Nachtrag:
Du kannst einzelne Virtualhosts auch an bestimmte IPs binden, wenn dein Server mehrere hat, damit habe ich allerdings keine Erfahrung.
<VirtualHost 1.1.1.1:80>
...
</VirtualHost>
<VirtualHost 1.1.1.2:80>
...
</VirtualHost>

Noch ein Nachtrag (für den Fall dass es eine öffentlich zugänglich, also keine netzinterne Domain handelt):
Die Domains solltest du bei einem Provider registrieren, welcher das ändern der A- und C-Name Einträge zulässt, z.B. united-domains.de
Da kannst du dann angeben, dass www.domain.de auf dem Server mit der IP 1.1.1.1 liegt (welcher natürlich von aussen erreichbar sein muss).
michi200
michi200 01.08.2008 um 09:12:22 Uhr
Goto Top
Hallo! Ja vielen dank.

Habe in meine httpd.conf jetzt folgenden Eintrag hinzugefügt:
NameVirtualHost *:80

<VirtualHost *:80> 
ServerAdmin ich@email.de
DocumentRoot "E:/Programme/xampp/htdocs/services"  
ServerName www.domain.de
ErrorLog "E:/Programme/xampp/htdocs/services/error.log"  
CustomLog "E:/Programme/xampp/htdocs/services/custom.log"  
</VirtualHost>

Allerdings startet der Apache dann garnicht mehr und gibt auch keine Fehlermeldung Meldung aus.

Also wir haben einen Windows Server 2003 auf dem viele verschieden Ordner für viele verschiedene Websites abgelegt sind. Also quasi www.domain.de und dann www.anderedomain.de. Die URLs verweisen dann auf z.b. 1.1.1.1/domain/shop/index.php und die 2. dann z.B. auf 1.1.1.1/anderedomain/index.html

Die Umleitung für die einzelnen URLS auf unseren Server ist bei 1&1 hinterlegt. dort steht dann als umleitungseintrag auch www.domain.de --> 1.1.1.1/domain/shop/index.php und www.anderedomain.de --> 1.1.1.1/anderedomain/index.html

Kann man da ausfindig machen, was falsch ist? Ist ne ganz einfach xampp installation. Weiter infos:
Apache Version Apache/2.2.6 (Win32) DAV/2 mod_ssl/2.2.6 OpenSSL/0.9.8e mod_autoindex_color PHP/5.2.4
Apache API Version 20051115
Hostname:Port localhost:80

Der Apache ist also von außen erreichbar.

Und eine weitere Frage: muss man bei 1&1 wo die umleitungungen auf die startseiten der einzelnen sites festgelegt sind, als umleitung dann nur noch die blanke ip des server eintragen und ab dort macht der apache weiter?

Danke!

Auch ein Nachtrag:

Haben etwas asuprobiert, die Umleitung direkt auf die IP des Servers gelegt und den Eintrag in der httpd.conf folgendermaßen angepasst:
NameVirtualHost *:80
<VirtualHost *:80> 
DocumentRoot "E:/Programme/xampp/htdocs/services"  
ServerName www.domain.de

<Directory "E:/Programme/xampp/htdocs/services">  
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

</VirtualHost>

Damit klappt dann zwar die weiterleitung i ndas Zielverzeichnis, was schonmal ein erfolg ist. Allerdings unser eigentliches Ziel, dass dann aus dem Adressfeld die IP verschwindet und stattdessen www.domain.de stehen bleibt, hat nicht geklappt. Es wird umgeleitet, der seiteninhalt angezeigt und die IP des Servers..
Muss man da bei 1&1 was umstellen ?? Soweit ich weiß sind die URLs dort reine Umleitung-URLS die einfach auf unseren Server umleiten.
SnowStar
SnowStar 01.08.2008 um 12:17:25 Uhr
Goto Top
Ich kenne die Einstellungsmöglichkeiten nicht bei 1&1.

Du musst den sog. Hostadressen-Ressourceneintrag oder auch A-Eintrag verändern.

Es müsste einen Menüpunkt geben, in dem du neben dem A auch den C-Name und MX Eintrag ändern kannst (sofern 1&1 das unterstützt).

Im Zweifellsfall dort anrufen und nachfragen!
michi200
michi200 01.08.2008 um 13:11:31 Uhr
Goto Top
Hallo!

Ja danke. OK. Da müsste ich dann bei denen mal nachfragen.

Und das heißt für jede dort registirerte Domain, die zur zeit noch auf unseren Server weiterleitet, müsste dann statt weiterleitung dieser A,C und MX- Eintrag dann auf die extern erreichbare IP-Adresse unseres Servers angepasst werden und per virtual hosts dann in die entsprechenden ordner leiten ?? Denn z.B. bei DynDNS ist es ja genauso. Man bekommt einen ALias für eine IP und wird nicht so darauf weitergeleitet, dass dort die IP steht
SnowStar
SnowStar 04.08.2008 um 09:13:35 Uhr
Goto Top
Richtig. Du gibts über den A-Eintrag an, dass www.domain.de der IP 1.1.1.1 entspricht, ebenso wie www.domain2.de der IP 1.1.1.1 enstspricht und der Apache auf dem Server 1.1.1.1 entscheidet dann, das www.domain.de das Verzeichnis /www/domain1 als wurzel hat und www.domain2.de das Verzeichnis /www/domain2 (sind natürlich nur Beispiele face-wink)

Keine Hexerei face-wink
michi200
michi200 14.08.2008 um 08:45:15 Uhr
Goto Top
Jo, vielen Dank!

Hat wunderbar geklappt.

Nur eine Frage noch: nachdem man nun einige Ordner auf dem Serer als quasi eigenständige Server eingerichtet hat, ist es da trotzdem möglich, wenn jetzt z.B. ein neues Projekt hinzukommt und man dafür noch keinen Virtual Host eingerichtet hat, trotzdem weiterhin über eine IP-Adresse auf den Inhalt dieses neuen Ordner zuzugreifen? Oder heißt es: einmal virtual hosts - immer virtual hosts ?
SnowStar
SnowStar 14.08.2008 um 14:05:20 Uhr
Goto Top
jein.

Du kannst es so einrichten das

www.domain1.de -> /www/ordner1
www.domain2.de -> /www/ordner2
www.domain3.de -> /www/ordner3

Alle Anfragen, die nicht dem entsprechen -> /www/default

Natürlich auch gebunden an IP Adressen, also default1 für 192.168.0.1, default2 für 192.168.0.2 .