PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache 2 namensbasierte Virtuelle Hosts



dsplauen
04.04.04, 17:43
Hallo,

also folgendes plane ich.

Ich will mir Dsl Falt besorgen und über DynDns.org meine pc zu hause als server betreiben.
Bei DynDns besteh die möglichkeit sich bis zu 5 hosts, also adressen geben zu lassen wie zum beispiel
domain1.homelinux.com
domain2.homelinux.com
domain3.homelinux.com

Jetzt will ich bei meinem Apache 2 virtuelle hosts einrichten die namensbsiert sind.
Dafür hab ich auch schon eine wunderschöne Anleitung gefunden. Jetzt habe ich das mal offline bei mir versucht und zwar einzelne testadressen zu vergeben
test1.linux
test2.linux

das sind die adressen die ich nutzen will und mit jeder adresse in einen anderen ordner gelange.
Nach anleitung sollte das auch mit folgender konfiguration passen.


<code>

NameVirtualHost *

<VirtualHost *>
DocumentRoot /home/dani/public_html
ServerName test1.linux
</VirtualHost>

<VirtualHost *>
DocumentRoot /home/daniel/public_html
ServerName test2.linux
</VirtualHost>


<Code Ende>

Nur wenn ich bei meinem browser test1.linux eingeben dann kommt nichts er tut zwar so als ob er was sucht aber wirklich machen tut er nichts.

Angeblich laut buch von suse sollte das aber funktionieren und auch laut anderen anleitungen. warum bei mir nicht?

muss ich noch irgenwas anderes machen oder einstellen bei bind evtl?

Warum klappt das nicht.

Einen ip basierten host kalptt das wie ich es will aber einen namensbasierten habe ich noch nie hinbekommen.

Mein ip am pc habe ich jetzt fest eingestellt und mein name vom pc ist dani.linux

ich komm damit einfach nicht kalr. was muss ich denn da machen oder warum geht das nicht?

Danke schonmal

Daniel

dauni
04.04.04, 17:59
Gibt es den Pfad

DocumentRoot /home/dani.public_html
denn überhaupt?

dsplauen
04.04.04, 18:56
Gibt es den Pfad


DocumentRoot /home/dani.public_html

denn überhaupt?
sorry das sollte /home/dani/public_html heißen.
in meine config ist das richtig.

dauni
04.04.04, 19:00
Also ich hab das bei mir so:



NameVirtualHost 192.168.1.2
<VirtualHost 192.168.1.2>
ServerName localhost
ServerAlias athlon
ServerPath /var/www/html
DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost you>
ServerName you
ServerPath /home/daniel/public_html/you
DocumentRoot /home/daniel/public_html/you
</VirtualHost>

<VirtualHost test>
ServerName test
ServerPath /home/daniel/public_html/test
DocumentRoot /home/daniel/public_html/test
</VirtualHost>


Und dann muß in der /etc/hosts natürlich entsprechend



192.168.1.2 athlon.local athlon you test


Drinstehen, sonst weiß der browser ja nicht, wohin mit der Anfrage. oder du regelst das mit deinem lokalen DNS ...

dsplauen
04.04.04, 19:03
Also ich hab das bei mir so:



NameVirtualHost 192.168.1.2
<VirtualHost 192.168.1.2>
ServerName localhost
ServerAlias athlon
ServerPath /var/www/html
DocumentRoot /var/www/html
</VirtualHost>

<VirtualHost you>
ServerName you
ServerPath /home/daniel/public_html/you
DocumentRoot /home/daniel/public_html/you
</VirtualHost>

<VirtualHost test>
ServerName test
ServerPath /home/daniel/public_html/test
DocumentRoot /home/daniel/public_html/test
</VirtualHost>


Und dann muß in der /etc/hosts natürlich entsprechend



192.168.1.2 athlon.local athlon you test


Drinstehen, sonst weiß der browser ja nicht, wohin mit der Anfrage. oder du regelst das mit deinem lokalen DNS ...

aber über all steht das auch in derapache doku das mann keine ip eingeben muss sondern dafür ein * lassen kann. und es steht auch nicht drinne das man die host dateu bei einem namesbasierten host ändern muss

http://www.bananajoe.de/dyndns.html

hier ist mal die anletiung dafür wie ich es dann auch haben will

dauni
05.04.04, 00:04
Nuja, der Client (Browser) muß aber dennoch wissen, wer und wo "eigene.domain" zu finden ist und das geht halt nur, indem er einen DNS Server fragt, oder in der hosts - Datei nachschaut ....

Oder kennst du eine andere Möglichkeit?

Das mit der IP in der conf mag ja sein, ich hab aber auch nur meine config gepostet, wie sie halt im Moment ist ...

dsplauen
05.04.04, 08:15
Nuja, der Client (Browser) muß aber dennoch wissen, wer und wo "eigene.domain" zu finden ist und das geht halt nur, indem er einen DNS Server fragt, oder in der hosts - Datei nachschaut ....

Oder kennst du eine andere Möglichkeit?

Das mit der IP in der conf mag ja sein, ich hab aber auch nur meine config gepostet, wie sie halt im Moment ist ...

und wie sag ich das dns das er bei mir suchen soll?

muss ich das dann auch machen wenn die anfragen vom internet kommen?

mit dns hab ich mich noch nicht beschäftigt.

und in die hosts datei habe ich mal auch einen eintrag hinzugefügt der lautete


192.168.0.1 dani.local
192.168.0.1 daniel.local

oder so das war jetz wieder als beispiel für beide domains.

er hat dann auch bei der adresse daniel.local was vom server angezeigt hat aber den standat document root genommen nicht den vom virtuellen host.

daniel

Terran Marine
05.04.04, 12:22
und wie sag ich das dns das er bei mir suchen soll?

muss ich das dann auch machen wenn die anfragen vom internet kommen?

mit dns hab ich mich noch nicht beschäftigt.

und in die hosts datei habe ich mal auch einen eintrag hinzugefügt der lautete


192.168.0.1 dani.local
192.168.0.1 daniel.local



Hier geht es nur um die DNS-Auflösung für den Client, dieser schaut standardmässig in /etc/hosts und fragt dann seinen DNS-Server (welcher in /etc/resolv.conf eingetragen ist, bei Dialup-Zugängen wird dieser idr automatisch vom Provider zugewiesen).

Umstellen kannst du die Suchreihenfolge in /etc/nsswitch.conf in der Zeile hosts.

Um zu prüfen ob die Eintragungen in der hosts stimmen und wirksam sind, einfach mal auf den DNS-Namen pingen, dann siehts du welche IP er auflöst.

Was dann angeht solltest du eigentlich alles richtig gemacht haben.

Gruß
Terran