Hoofdindex » Servers » » Een eigen webserver » » Virtuele hosts
Webservers en meer
Vhosts of virtuele hosts
Een eigen webserver?
Een “host” kan je vertalen door “gastheer”. Hij leidt de bezoekers door de verschillende kamers van het huis. Als je de vergelijking doortrekt tot de server, dan is de server de gastheer die de verschillende pagina's, foto's en andere documenten aan de bezoekers aanbiedt. Nu wil je wel eens twee volledig verschillende onderwerpen aansnijden (waarbij twee verschillende gastheren nodig zijn).

Het belangrijk punt is dat de twee onderwerpen aangeboden worden door eenzelfde server (zelfde IP adres), anders spreekt men niet van virtuele hosts. Wij hebben het hier ook niet over subpagina's die in verschillende directories staan (bijvoorbeeld http://users.skynet.be/bib: hoewel wij te maken hebben met totaal verschillende onderwerpen is de host altijd dezelfde (users.skynet.be))

Voorbeeld


http://zeepreventorium.org


http://modelinfo.be

Het begrip 'virtuele host' kan ik best uitleggen aan de hand van volgend voorbeeld dat op deze server draait:

http://idemdito.org

Dit is de hoofdsite. Als de bezoeker geen specifieke host aanvraagt komt hij hier terecht. Dit kan bijvoorbeeld het geval zijn als hij met een zeer oude browser werkt dat niet HTTP/1.1-compliant is. Dit gebeurt ook als de bezoeker een numerieke host ingeeft (de IP van de server in plaats van een domain).

zeepreventorium.org en modelinfo.be zijn twee alternatieve sites die door dezelfde server aangeboden worden. De bezoekers kunnen enkel op deze site komen als ze de specifieke host (zeepreventorium.org of modelinfo.be) gebruiken. Dit is een schoolvoorbeeld van het gebruik van een virtuele host omdat het onderwerp volledig verschillend is.

Je merkt het: virtuele hosts hoeven niet noodzakelijk subdomeinen te zijn van het hoofddomein. Het is ook mogelijk com, be, org... -domeinen door elkaar te gebruiken: de server houdt zich niet bezig met de hierarchische struktuur van het internet.

Voor alle andere aanvragen (onbestaande vhost) geldt een "default" configuratie met een default website.

Domeinen met www worden gekoppeld aan hetzelfde domein zonder www: www.zeepreventorium.org is hetzelfde als zeepreventorium.org

Verschil host en domein

Een host name is de lokale benaming van de computer. In een LAN omgeving worden deze namen gebruikt om de verschillende computers te lijsten (in windows explorer). Hierbij wordt gebruik gemaakt van de voorzieningen van het operating system (netBIOS).

De benaming 'host' wordt echter ook gebruik voor ieder computer dat met het internet verbonden is. De benaming die hier van toepassing is is niet meer gebonden aan de eisen van het operating system, maar aan deze van het internet zelf.

Een computer dat met het internet verbonden is heeft maar één eigenschap: zijn publiek IP adres. Bij het benoemen van een server op het internet wordt gebruik gemaakt van een domain name (dat geregistreerd moet zijn), niet van een host name (dat enkel van toepassing is op de computer zelf).

Domein names zijn hiërarchisch, je hebt een aantal top levels zoals be, com, org,...
Het tweede niveau is beschikbaar voor de gewone gebruiker: verfaillie.be, verfaillie.com, idemdito.org,...
Huur je een dergelijk domein, dan heb je automatisch alle rechten over de subdomeinen: www.idemdito.org, server.idemdito.org, pics.idemdito.org, enz. Je moet ze nog wel registreren in DNS, maar je moet geen huur meer betalen. Als je zelf de controle over je DNS hebt, dan kan je gratis zoveel subdomeinen aanmaken als je maar wenst, en dit voor ieder domein dat je huurt.

Opgelet, een internet domein is niet hetzelfde als een windows domein (een verzameling computers die beheerd wordt door een domein controller).

Configuratie

Externe configuratie: de domein name
via DNS

Wij moeten verschillende (sub)domeinen aanmaken die allemaal naar eenzelfde server wijzen. Subdomeinen moeten geregistreerd staan in DNS. Dit gebeurt het gemakkelijkst met een aantal A-records, behalve indien je een dynamische IP hebt. Maak dan je hoofddomein dynamisch en laat de andere domeinen wijzen naar de hoofddomein dmv. een CNAME (zie het hoofdstuk over DNS).
In mijn geval ziet de configuratie er zo uit:

idemdito.org             A     [dyn-IP]
zeepreventorium.org      CNAME idemdito.org
www.zeepreventorium.org  CNAME idemdito.org
modelinfo.be             CNAME idemdito.org
www.modelinfo.be         CNAME idemdito.org

idemdito.org is mijn hoofddomein, terwijl de andere domeinen virtuele hosts zijn van dezelfde server. Deze configuratie dateert nog van vòòr dat de volledige server op een fixed ip gezet werd

Interne configuratie: de virtuele host
server instelling

Voor windows heeft een computer maar één naam, de netBIOS naam. Een webserver daartegenover reageert op alle aanvragen die toekomen, ongeacht de gebruikte naam. De webserver zal de naam enkel gebruiken om te bepalen welke site aangeboden moet worden.

De server zal de main site aanbieden aan alle gebruikers die geen speciefieke host aanvragen (ze gebruiken bijvoorbeeld het verouderde HTTP/1.0 protocol) of die een niet-bestaande host aanvragen.

Enkel indien specifiek een welbepaalde host aangevraagd wordt, zal de betreffende specifieke site aangeboden worden.

De serversoftware is meestal zo uitgevoerd dat de scheiding tussen de verschillende hosts zeer ver kan gaan: voor iedere virtuele host gelden andere foutberichten (pagina bestaat niet, script bevat een fout, en dergelijke), andere regels (toegang tot bepaalde directories), aparte logging. Het is alsof je meerdere servers hebt draaien op eenzelfde computer, ieder met zijn eigen configuratie.

Sommige servers (Xitami) vallen automatisch op standaard-instellingen indien bepaalde parameters niet gedefinieerd zijn (standaard-waarden). Je hoeft dus geen aparte foutberichten te definieren voor ieder domein (dat kan bijvoorbeeld wel handig zijn als je verschillende virtuele hosts pagina's in verschillende talen bevatten).

Virtuele hosts en SEO

Een bespreking van internet sites kan niet compleet zijn als er niet over SEO gesproken wordt, namelijk hoe maak je je site zo geschikt mogelijk om door zoekmachines geanalyseerd te worden.

Zoekmachines indexeren je site op zoek naar de betekenis van je site. Op alle pagina's van de directory '/svt/' komen de begrippen 'server', 'IP', 'domein', 'DNS' en dergelijke voor. Uit deze woorden kunnen zoekmachines afleiden waarover je site handelt.

Als je echter twee verschillende onderwerpen aansnijdt, dan zitten er op je site pagina's die handelen over 'pixel', 'camera', 'sluitertijd', 'opening' en dat kan de zoekmachine in de war sturen. Wat is eigenlijk het onderwerp van je site? Een webserver thuis of digitale fotografie?

Door de pagina's die over verschillende onderwerpen handelen in verschillende directories onder te brengen kan je ervoor zorgen dat zoekmachines niet in de war raken (een deel van de digitale fotografie zit hier in '/pics/').

Dit kan echter nog beter: door verschillende subdomeinen te gebruiken (server.idemdito.org en pics.idemdito.org), want dan begint de zoekmachine met een volledig nieuwe kijk op de zaak. Je gebruikt een subdomein van zodra je een nieuw onderwerp aankaart. In tegenstelling met een subdirectory is het aangeraden dat er voldoende informatie aanwezig is: een subdomein met slechts een paar html bestanden is te weinig om opgepakt te worden door google.

Voorbeeld van DNS configuratie

Hier kan je een deel uit mijn DNS configuratie zien. Er komt hier heelwat meer bij kijken dan wat hierboven besproken werd, maar in het algemeen zal je genoeg hebben aan A en CNAME records voor wat betreft de DNS configuratie. De IP addressen in het rood bij A records zijn dynamische IP's.

Configuratie van de webserver

Wat betreft de configuratie van de webserver, daarvoor zal je de handleiding moeten lezen, want deze is verschillend van server tot server.

Met Xitami en Sambar is het zeer eenvoudig virtuele hosts aan te maken: gewoon een extra configuratiebestand voor ieder virtuele host. De configuratiebestand bevat enkel de verschillen ten opzichte van de hoofdconfiguratie (in de minimale configuratie een ander home directory).

Abyss biedt virtuele hosts enkel aan als je de professionele versie van hun server koopt (de basisversie zonder virtuele hosts is gratis).

Apache is niet de gemakkelijkste server wat betreft configuratie, en zij hebben nog een schepje bovenop gegooid bij de vhost configuratie.

Als je toch bezig bent met de configuratie van je server, zorg er dan ook voor dat de server een aangepaste foutboodschap per host genereert als de gevraagde pagina niet bestaat.

Links to relevant pages - Liens vers d'autres pages au contenu similaire - Links naar gelijkaardige pagina's