# Mehrere DocumentRoot? VHosts? Unklar!



## asterisk*2a (24. Juni 2002)

Ich habe meinen Apache, PHP, MySQL alles druff laufen wunderbar. Habe schon eine übungswebpäsenz in 

_DocumentRoot_
E:/www


mit index.php etc. und aufruf mit localhost/index.php im Browser funktioniert alles. Wenn ich aber nun eine neue Webpäsenz Coden möchte müsste ich ja alles von E:/www irgendwo hin verschieben. Ich möchte aber Gleichzeitig mehrere WebPräsenzen mir Anschauen auf meinen Rechner. Auf

E:/www2

zb.

Müsste ich ja DocumentRoot auf E:/www2 umstellen und den Apache Neustarten. Aber dann kann ich nicht mehr Auf www in die Web gugen. sondern müsste wieder die config vom Apache umstellen. Das ist zu plöde. Wie kann ich mehrer DocumentRoot einstellen aber das ich die meinerwegen die erste mit

localhost/index.php 
die web in www aufrufe und mit

localhost2/index.php 
die web in www2 aufrufe.

Sowas ist doch möglich bestimmt. Bloß so richtig begriffen hab ichs noch nicht. selbst mir stundenlangem rumprobieren mit den VirtualHost zeugs in der Apache Config.

THX für ne ausreichende Antwort für mein ausreichend geschildertes Problem.


----------



## port29 (2. Juli 2002)

<VirtualHost _default_>
documentroot /rootix/config/phpMyAdmin
ServerName mysql.deus.mine.nu
ServerAlias  http://www.mysql.deus.mine.nu
IndexIgnore .htaccess
</VirtualHost>

Das ist erstmal die Verwendung von VirtualHost. Ok, weiter...

Unter Windows 95/98/Me gibt es unter c:\windows\ eine datei names host oder hosts (sorry, hab leider kein windows rechner hier). In der Stehen alle lokalen Namen des Rechners, bzw. das ist ein kleiner Nameserver. Dort kannst du wie im Beispiel oben in der Datei beschrieben die lokalen domains einrichten. Dan eben noch die Konfiguration ändern und apache restarten, dann hast du mehrere "Server"


----------



## dave (3. Juli 2002)

*Und im Netzwerk?*

Wie kann ich denn über n lokales Netzwerk auf die verschiedenen virtuellen Server zugreifen?

Den ersten ( lokal unter 127.0.0.1 )  krieg ich ja einfach über die IP des Rechners im Netzwerk. ( zB 192.168.0.4 )

Wie kann ich auf die anderen zugreifen?
( 127.0.0.2, 127.0.0.3... geht ja nur lokal )

danke schonmal!
dave


----------



## port29 (3. Juli 2002)

du brauchst dann einen internen DNS Server....
soweit es mir bekannt ist, kann man unter windows nur eine einzige IP einrichten. Unter linux geht das ja einfacher...

Die möglichkeit, die man unter windows hat ist eben dass man unter c:\windows\hosts die "Namen" den IPs zuweist.


----------



## dave (8. Juli 2002)

Naja, das mit der Host-Datei bringt ja nix, wenn ich mehrere Hostnamen auf die Netzwerk IP des Servers umleite wird ja wieder nur der erste ( 127.0.0.1 ) angesprochen...


----------



## port29 (8. Juli 2002)

127.0.0.1 ist keine Netzwerk IP !!!

das muss bei dir so aussehen:

Beispiel: Der Rechner mit dem Server hat die IP 192.168.0.1 ein anderer hat 192.168.0.2

Hostdatei bei dem Rechner mit Apache (192.168.0.1)
--------------------------------------------------

127.0.0.1          localhost
127.0.0.1          server1
127.0.0.1          server2
127.0.0.1          server3

Hostdatei bei dem Rechner ohne Apache (192.168.0.2)
---------------------------------------------------
127.0.0.1          localhost
192.168.0.1        server1
192.168.0.2        server2
192.168.0.3        server3


----------



## dave (8. Juli 2002)

*kann nicht sein, oder?*

Die Konfiguration auf dem Rechner ohne Server ist doch quatsch, oder?

Hostdatei bei dem Rechner ohne Apache (192.168.0.2) 
--------------------------------------------------- 
127.0.0.1 localhost 
192.168.0.1 server1 <- verweist auf sich selbler
192.168.0.2 server2 <- verweist auf den Rechner mit dem Server
192.168.0.3 server3 <- verweist auf einen 3. Rechner den es gar net gibt..

Vielleicht hab ich was falsch verstanden, aber für mich ergibt das keinen Sinn, die Anfragen sollte ja alle an den Server geschickt werden und der hat ja nur eine Netzwerk IP.


----------



## port29 (8. Juli 2002)

Sorry, mein Fehler, sollte natürlich

Hostdatei bei dem Rechner ohne Apache (192.168.0.2) 
--------------------------------------------------- 
127.0.0.1 localhost 
192.168.0.1 server1 
192.168.0.1 server2 
192.168.0.1 server3

heißen

Nein, der Recher verweist nicht auf sich selbst, sondern auf den Server mit der IP 192.168.0.1

192.168.0.1 Rechenr mit Apache
192.168.0.2 Rechenr ohne Apache


----------



## dave (8. Juli 2002)

*es geht tatsächlich..*

Wow.. es funktioniert, versteh zwar nicht wie, aber hauptsache es tut..

Weiss jemand zufällig, ob und wenn ja wie das übers Interner geht?


----------



## port29 (8. Juli 2002)

ja, ich weiß es, es geht, aber nur "beschränkt"

Wie du versteht gibt es im Internet keine "server1" Adresse. Alle Adressen werden in einen Nameserver eingetragen. Wenn du dann als Adresse "server1.noip.com" einträgst und den passenden VirtualHost eintrag in apache erstellst, dann wird beim Aufruf von server1.noip.com genau die site angezeigt, die du bei dem server "server1.noip.com" hinterlegt hast, genauso ist es auch, wenn du dir "server2.noip.com" holst, da wird dann die site von "server1.noip.com" angezeigt.

zum testen mal: http://www.dyndns.org/


----------

