Krain Geschrieben 17. September 2004 Geschrieben 17. September 2004 Hallo zusammen, Wie richte ich beim Apache einen VirtualHost ein, bzw. wie funktioniert ein virtualhost eigentlich? Ich habe folgende einträge in meiner conf vorgenommen: # # Use name-based virtual hosting. # NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # <VirtualHost *:80> DocumentRoot C:\Apache\Apache2\htdocs\test ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot D:\Roder\PAGE ServerName projekt </VirtualHost> Wenn ich den Apache mit Parameter -s ausführe werden mir auch beide angezeigt! Wie komme ich jetzt auf diese hosts? wenn ich im browser localhost eintippe komme ich auf den Apache stammpfad htdocs, und wenn ich projekt eintippe kommt eine Fehlerseite. Was verstehe ich falsch? Zitieren
kills Geschrieben 17. September 2004 Geschrieben 17. September 2004 Hallo zusammen, Wie richte ich beim Apache einen VirtualHost ein, bzw. wie funktioniert ein virtualhost eigentlich? Ich habe folgende einträge in meiner conf vorgenommen: # # Use name-based virtual hosting. # NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # <VirtualHost *:80> DocumentRoot C:\Apache\Apache2\htdocs\test ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot D:\Roder\PAGE ServerName projekt </VirtualHost> Wenn ich den Apache mit Parameter -s ausführe werden mir auch beide angezeigt! Wie komme ich jetzt auf diese hosts? wenn ich im browser localhost eintippe komme ich auf den Apache stammpfad htdocs, und wenn ich projekt eintippe kommt eine Fehlerseite. Was verstehe ich falsch? in deinem falls müsstest du im dns server oder in den hosts dem webserver 2 dns einträge zugewiesen haben! einmal "projekt" und einma "localhost". In deinem beispiel istn bisschen blöd, da du ja den localhost verwendest, der von anderen rechnern nicht aufgerufen werden kann. Willst du damit nur testen? du könntest auch einfach bei gleichem servernamen auf verschiedenen ports lauschen. z.b. "*:80" u. "*:81" dann kannst du den einen host unter localhost:80 und den anderen unter localhost:81 erreichen! Zitieren
Krain Geschrieben 17. September 2004 Autor Geschrieben 17. September 2004 ich verwende es nur zum testen auf meinem lokalen rechner Zitieren
kills Geschrieben 17. September 2004 Geschrieben 17. September 2004 <VirtualHost *:80> DocumentRoot C:\Apache\Apache2\htdocs\test ServerName localhost </VirtualHost> <VirtualHost *:81> DocumentRoot D:\Roder\PAGE ServerName projekt </VirtualHost> dann im browser: localhost ( == localhost:80) bzw. localhost:81 Zitieren
Krain Geschrieben 17. September 2004 Autor Geschrieben 17. September 2004 Funktioniert auch nicht - irgentwas mach ich wohl falsch! Das NameVirtualHost muss dann wie eingestellt sein? Muss ich das dann auskommentieren? Localhost findet er weiterhin ohne Probleme! Zitieren
kills Geschrieben 17. September 2004 Geschrieben 17. September 2004 du musst auch weiter oben in der config wo # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, in addition to the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses (0.0.0.0) # #Listen 12.34.56.78:80 Listen 80 steht dann # # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, in addition to the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses (0.0.0.0) # #Listen 12.34.56.78:80 Listen 80 Listen 81 hinmachen und den "*:80" virtual host brauchst du nicht, da der std. ist und mit dem default werten läuft. Zitieren
_Martin_ Geschrieben 17. September 2004 Geschrieben 17. September 2004 Hallo zusammen, Wie richte ich beim Apache einen VirtualHost ein, bzw. wie funktioniert ein virtualhost eigentlich? Das Name-Based Virtual Hosting funktioniert so: Auf einem Server liegen mehrere Webseiten, die über unterschiedliche Namen angesprochen werden. In deinem Beispiel wären die Namen "localhost" und "projekt". Diese beiden Namen müssen auf die selbe IP zeigen (in deinem Fall die IP 127.0.0.1). Der Webserver kann jetzt, wenn man ihn nur mit der IP erreicht, nicht wissen, welche Seite du haben willst, und liefert die default Seite aus - das ist (wenn nicht anders konfiguriert) die 1. passende Seite, bei dir also "localhost". Dein Browser übermittelt dem Server aber, welchen Namen du in die Adresszeile eingetragen hast - anhand dieser Adresse sucht der Apache die richtige Seite heraus. Wie komme ich jetzt auf diese hosts? wenn ich im browser localhost eintippe komme ich auf den Apache stammpfad htdocs, und wenn ich projekt eintippe kommt eine Fehlerseite. Was verstehe ich falsch? Das ist soweit logisch. Wenn du in den Browser "localhost" eingibst, fragt er bei der IP 127.0.0.1 auf Port 80 (Standard) nach einer Seite und bekommt sie vom Apache. [localhost = Standard Name für den eigenen Rechner = IP 127.0.0.1] Der Name "projekt" ist kein Standard-Name und deinem Rechner unbekannt, er weiss nicht, welche IP hinter diesem Namen steckt. Deshalb fragt er bei dem konfigurierten DNS-Server an (das kann ein Server im lokalen Netz sein, oder einer deines Providers... keine Ahnung, wie dein Netz aussieht). Dieser DNS-Server kennt jedoch keinen Server mit dem Namen "projekt", so dass dein Browser eine "Unknown Host" Fehlermeldung ausgibt. Was kannst du machen: 1) einen im lokalen Netz stehenden DNS-Server updaten und deine IP (lokales Netz, z.B. 192.168.1.123) mit dem Namen "projekt" verknüpfen 2) den Namen in deine lokale Hosts-Datei eintragen. Diese findest du a) unter Windows in <Windows>\system32\drivers\etc\hosts: 127.0.0.1 localhost 127.0.0.1 projekt unter Linux in /etc/hosts 127.0.0.1 localhost.<localdomain> localhost projekt Anschliessend ist die IP deinem Rechner bekannt, und du solltest die "projekt" Seite erreichen können :marine Zitieren
Krain Geschrieben 19. September 2004 Autor Geschrieben 19. September 2004 Das ist eine gute Anleitung - Ich denke das hilft mir weiter. Kann es leider erst montag ausprobieren! Aber ich werde noch bescheid sagen, wenn es funktioniert. Zitieren
kills Geschrieben 19. September 2004 Geschrieben 19. September 2004 Was kannst du machen: 1) einen im lokalen Netz stehenden DNS-Server updaten und deine IP (lokales Netz, z.B. 192.168.1.123) mit dem Namen "projekt" verknüpfen 2) den Namen in deine lokale Hosts-Datei eintragen. Diese findest du a) unter Windows in <Windows>\system32\drivers\etc\hosts: 127.0.0.1 localhost 127.0.0.1 projekt unter Linux in /etc/hosts 127.0.0.1 localhost.<localdomain> localhost projekt Anschliessend ist die IP deinem Rechner bekannt, und du solltest die "projekt" Seite erreichen können :marine Ich bin davon ausgegangen, dass er zu Hause in einem LAN sitzt und der Hostname des Rechners mit dem er arbeitet projekt ist..... Sorry, falls ich einen Schritt zu weit gedacht hab :eek: Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.