Virtual Host Probleme

Alles, was den Apache betrifft, kann hier besprochen werden.

Virtual Host Probleme

Postby apatsch » 19. May 2005 17:03

hallo zusammen

kann mir jemand n paar hinweise geben warum meine virtual hosts nicht arbeiten wollen?

egal was ich am conf file ändere, ich gelange anstatt zu meinen virtual hosts immer nur ins parent directory. da sehe ich alle vhs aufgelistet. klicke ich nun auf einen von ihnen, erscheint index.htm wie gewollt.

kanns daran liegen dass ich bis jetzt nur einen vh programmiert habe?
habe noch nie mit apache gearbeitet.
apatsch
 
Posts: 6
Joined: 19. May 2005 16:56

Postby glitzi85 » 19. May 2005 17:40

VirtualHost so erstellen:

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot C:/Pfad/zu/deinem/htdocs
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot C:/Pfad/zu/deinem/erweiterten/Host
ServerName xxx
</VirtualHost>

Anstatt xxx setzt du nun eben eine URL ein, über die du deinen VirtualHost erreichen möchtest (z.B. example - das gibt es im Internet eh nicht).

Falls der Pfad NICHT im htdocs-Ordner liegt, musst du auch noch die Berechtigungen dafür setzen. Dazu weiter oben diese Zeile suchen:

<Directory "C:/apachefriends/xampp/htdocs">

Oder wie auch immer der Pfad bei dir lautet. Innerhalb dieser Directory-Anweisung steht z.B. "Options Indexes..." und einige Kommentare. Das alles markierst du (incl. der oberen Zeile) bis zur abschliessenden </Directory>-Zeile und kopierst es. Danach direkt darunter wieder einfügen und den Pfad ändern in den Pfad, den du bei VirtualHost eingesetzt hast. Damit hast du die gleichen Berechtigungen wie im localhost.

Dann musst du noch die hosts-Datei ändern:

C:\Windows\System32\drivers\etc\hosts

diese Datei mit Notepad o.ä. öffnen und unten schauen. Da müsste sowas stehen:

127.0.0.1 localhost

damit wird dein PC angewiesen, wenn du localhost eingibst, immer auf dem eigenen Rechner danach zu suchen. Dort musst du nun deinen VH auch noch eintragen:

127.0.0.1 example

z.B.. Einfach drunter setzen. Nun im Browser http://example eingeben und schon sollte dein VH erscheinen.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby apatsch » 20. May 2005 08:27

messi jedoch will ich ja nicht vom server aus auf die site zugreifen, ich muss die site ins netz stellen. so habe ja nur ich zugriff.

wer weiss noch n tipp?
apatsch
 
Posts: 6
Joined: 19. May 2005 16:56

Postby glitzi85 » 20. May 2005 10:57

Könntest du dich etwas verständlicher Ausdrücken? So schwer ist die Deutsche Grammatik nun auch wider nicht.
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby apatsch » 20. May 2005 13:39

also mein apache server sollte mehrere sites veröffentlichen. woran kann es liegen dass ich nur das parent directory sehe in welchem alle meine virtual hosts sind? ich gebe eine domain im browser ein, jedoch erscheinen tut nur das parent directory und ich muss auswählen welchen virtual host ich nun will.

ihr seht hier sicher den fehler? was ist der stern?
Code: Select all
NameVirtualHost *:80

<VirtualHost 127.0.0.1:80>
   ServerName localhost
   DocumentRoot C:\Programme\Apache Group\Apache\htdocs
</VirtualHost>

<VirtualHost MEINEIP:80>
   ServerName www.registriertedomain.ch
   DocumentRoot C:\Programme\Apache Group\Apache\htdocs\registriertedomain.ch
</VirtualHost>
apatsch
 
Posts: 6
Joined: 19. May 2005 16:56

Postby apatsch » 20. May 2005 13:53

ich merkte jetzt: wenn ich den gesamten virtual host block als kommentar setze, erscheint ebenfalls das parent directory. muss ich virtual host denn zuerst aktivieren?
apatsch
 
Posts: 6
Joined: 19. May 2005 16:56

Postby glitzi85 » 20. May 2005 18:26

Ah, jetzt wird's hell ;-)

Zuerst solltest du alle \ durch / ersetzen. Dann sollte natürlich bei ServerName kein www. stehen. Dort einfach nur deine Domain rein.

Code: Select all
NameVirtualHost *:80

<VirtualHost 127.0.0.1:80>
   ServerName localhost
   DocumentRoot C:/Programme/Apache Group/Apache/htdocs
</VirtualHost>

<VirtualHost MEINEIP:80>
   ServerName registriertedomain.ch
   DocumentRoot C:/Programme/Apache Group/Apache/htdocs/registriertedomain.ch
</VirtualHost>


Außerdem kannst du noch versuchen, ob es etwas bringt, wenn du den Apache direkt an die zwei Karten bindest:

Code: Select all
Listen 127.0.0.1:80
Listen deineip:80


Geht natürlich nicht, falls du keine feste IP hast. Dann lass es auf Listen 80.

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Postby apatsch » 22. May 2005 18:11

danke vielmals und was bedeutet das sterchnen im namevirtualhost? nehme an meine ip?

naja das läuft immer noch nicht
gruss
apatsch
 
Posts: 6
Joined: 19. May 2005 16:56

Postby apatsch » 24. May 2005 21:19

ihr müsst doch wissen was das sternchen heisst? ich bin nun mal nicht apache user, normalerweise.
danke
apatsch
 
Posts: 6
Joined: 19. May 2005 16:56

Postby glitzi85 » 24. May 2005 21:49

Sorry, bin in letzter Zeit nicht mehr zum Schreiben gekommen. Ich hab dich aber nicht vergessen ;-)

Also ich weiß jetzt auch nicht mehr weiter. Allerdings war bei mir neulich auch irgendwas zerschossen und nichts ging mehr. Hab dann einfach Windows und XAMPP neu installiert und gut war ;-) Aber das ist wahrscheinlich nicht das, was du willst. Hier mal ein paar Sachen, die du Posten solltest. Dann sehe ich vielleicht klar:

- Wenn der Apache läuft, gib in einer DOS-Box mal netstat -ano ein. Die Ergebnisse posten (netstat -ano > datei.txt schreibt den Text in eine Datei, ist dann einfacher zu kopieren).

- Poste deine komplette httpd.conf!

- Poste diese Datei: C:\Windows\System32\drivers\etc\hosts

Außerdem wäre noch interessant, wie der Apache gestartet wird? Per Autostart, von Hand oder als Dienst?

Poste die oben genannten Dateien, dann sehen wir weiter.

Du hast am Anfang das hier geschrieben:
>egal was ich am conf file ändere, ich gelange anstatt zu meinen virtual hosts immer nur ins parent directory. da sehe ich alle vhs aufgelistet. klicke ich nun auf einen von ihnen, erscheint index.htm wie gewollt.
Was ist das parent-Directory? Welche Datei erscheint bzw. wo liegt diese?

>ihr müsst doch wissen was das sternchen heisst? ich bin nun mal nicht apache user, normalerweise.
Ja, das Sternchen bedeutet alles ;-)

Hier mal ein paar Beispiele:

Listen *:80 = Lausche auf allen Netzwerkkarten auf Port 80 (wird eigentlich nur als Listen 80 geschrieben).

Listen 127.0.0.1:* = Lausche auf Localhost auf allen Ports (keine Ahnung ob das funktioniert, eher nicht, da schon einige belegt sind - hab's noch nie ausprobiert *g*)

NameVirtualHost *:80 = Alle Verbindungen, die auf Port 80 reinkommen (egal welche Karte), werden per VH verarbeitet (hier funktioniert die Version ohne * nicht wie bei Listen!)

NameVirtualHost 127.0.0.1:80 = Wie oben, aber nur auf Lokale Verbindungen bezogen. Falls noch andere Karten eingebaut sind, und Listen 80 eingetragen ist, dann werden alle andere Karten auf das normale htdocs-Verzeichnis geleitet.

So, das war ein kleiner Exkurs in VHosts. Das Thema ist leider sehr kompliziert und verschachtelt, was die Einstellungen angeht. Eigentlich sollte man die komplette httpd.conf verstehen, bevor man sich an die VHosts macht.

mfg glitzi

PS: Den Browser-Cache nach jedem Versuch leeren, denn sonst klappt gar nix so richtig (war bei mir das Problem).
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim


Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests