Tutorials
Virtual hosts
In deze tutorial een beschrijving hoe ik heb geinstalleerd op mijn server
Pagina 1
VirtualHosts op je eigen server
Kleine waarschuwing voordat we beginnen:
[color=red]Let op:[/color]
Deze tutorial is geschreven op een Windows XP PC en in combinatie met een Apache 2.0 server. Virtual hosts werken ook op Linux of een Mac computer. Hellaas weet ik niet wat het alternatief voor de host file. Vraag het op een forum gerelateerd aan je OS. In een andere Windows versie kan het zijn dat de host file ergens anders staat. Gebruik daarvoor de zoek functie. Andere Apache versie moet geen probleem zijn.
Voor mijn eigen websites maak ik bijna altijd gebruik van modrewrite. En tijdens het scripten hou ik eigenlijk nooit rekening mee met het werken in een of andere map. Omdat ik toch meestal wel de beschikking had over een eigen (sub)domein. Dit had het gevolg dat het nooit wou werken als ik de website in de map wou draaien om te testen wat tot het gevolg had dat ik steeds mijn document root in mijn apache config moest wijzigen als ik aan een andere website wou werken. Ik ben toch maar even gaan kijken of het anders kon. En die is er. In deze tutorial probeer ik je uit te leggen wat ik voor ogen heb gehad en hoe ik het uit eindelijk is gelukt.
Voor deze tutorial ga ik er van uit dat je wat kennis hebt van Apache en hoe het werkt. Ik ga ook niet alle opties uit leggen en doe alleen de relevante. Maak altijd een backup voor dat jij je server verpest!. Deze tutorial werkt alleen als jij de config bestanden kan editen! En niet op een shared host
[color=red]Let op:[/color]
Deze tutorial is geschreven op een Windows XP PC en in combinatie met een Apache 2.0 server. Virtual hosts werken ook op Linux of een Mac computer. Hellaas weet ik niet wat het alternatief voor de host file. Vraag het op een forum gerelateerd aan je OS. In een andere Windows versie kan het zijn dat de host file ergens anders staat. Gebruik daarvoor de zoek functie. Andere Apache versie moet geen probleem zijn.
Voor mijn eigen websites maak ik bijna altijd gebruik van modrewrite. En tijdens het scripten hou ik eigenlijk nooit rekening mee met het werken in een of andere map. Omdat ik toch meestal wel de beschikking had over een eigen (sub)domein. Dit had het gevolg dat het nooit wou werken als ik de website in de map wou draaien om te testen wat tot het gevolg had dat ik steeds mijn document root in mijn apache config moest wijzigen als ik aan een andere website wou werken. Ik ben toch maar even gaan kijken of het anders kon. En die is er. In deze tutorial probeer ik je uit te leggen wat ik voor ogen heb gehad en hoe ik het uit eindelijk is gelukt.
Voor deze tutorial ga ik er van uit dat je wat kennis hebt van Apache en hoe het werkt. Ik ga ook niet alle opties uit leggen en doe alleen de relevante. Maak altijd een backup voor dat jij je server verpest!. Deze tutorial werkt alleen als jij de config bestanden kan editen! En niet op een shared host
Pagina 2
Wat wil ik hebben?
Ik wil de beschikking hebben over minimaal 3 (sub)domeinnamen waar ik over kan beschikken.
Voor mijn weblog op mijn local server
Voor mijn fotoalbum op mijn local server
Gewoon localhost voor alle andere scripts
Om het simpel te houden gebruik ik gewoon de domeinnamen die ik in de werkelijkheid ga gebruiken. Als ik niet op zee zit edit ik de host file gewoon even. Je kan zo ook een eigen domeinnaam aan maken. Bij voorbeeld www.ik.eris of jeusernaam.phphulp.nl. En ja het werkt. Hellaas werkt het alleen voor jouw. En niet voor andere gebruikers op je network of op het internet.
Voor mijn weblog op mijn local server
Voor mijn fotoalbum op mijn local server
Gewoon localhost voor alle andere scripts
Om het simpel te houden gebruik ik gewoon de domeinnamen die ik in de werkelijkheid ga gebruiken. Als ik niet op zee zit edit ik de host file gewoon even. Je kan zo ook een eigen domeinnaam aan maken. Bij voorbeeld www.ik.eris of jeusernaam.phphulp.nl. En ja het werkt. Hellaas werkt het alleen voor jouw. En niet voor andere gebruikers op je network of op het internet.
Pagina 3
Hosts file
Op het internet beschik je over een naamserver die voor jouw de afhandeling zorgt van je requests. Het is uiteraard is het onodig om voor deze gevallen speciaal een naam server op te zetten het kan namelijk anders namelijk doormiddel van de hosts file.
Je kan dit bestand vinden in:
HD:\WINDOWS\system32\drivers\etc\ met als bestandsnaam hosts.
[color=red]Let op:[/color]
Geen extentie en zonder een punt.
In andere versies van Windows kan de lokatie van de bestand verschillen maak gebruik van de zoekfunctie en zoek naar hosts.
Verander de naam naar hosts.txt en je bent instaat om het bestand te wijzigen in een text editor. In dit geval gewoon notepad.exe
Zo iets als dit zal je aan treffen.
Om er voor te zorgen dat het werkt voegen we de volgende 2 records toe aan de host bestand. Eerst de IP adress waar het naar toe gezonden moet worden. Daarna de domeinnaam. Via de # kan je een opmerking toe voegen.
Sla dit bestand op en wijzig de naam naar hosts.
Let op dus zonder enige extenstie of een punt in de naam!
Je kan dit bestand vinden in:
HD:\WINDOWS\system32\drivers\etc\ met als bestandsnaam hosts.
[color=red]Let op:[/color]
Geen extentie en zonder een punt.
In andere versies van Windows kan de lokatie van de bestand verschillen maak gebruik van de zoekfunctie en zoek naar hosts.
Verander de naam naar hosts.txt en je bent instaat om het bestand te wijzigen in een text editor. In dit geval gewoon notepad.exe
Zo iets als dit zal je aan treffen.
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1 Localhost
Om er voor te zorgen dat het werkt voegen we de volgende 2 records toe aan de host bestand. Eerst de IP adress waar het naar toe gezonden moet worden. Daarna de domeinnaam. Via de # kan je een opmerking toe voegen.
127.0.0.1 www.voorbeeld.nl #Redirect www.voorbeeld.nl naar localhost
127.0.0.1 test.voorbeeld.nl #Redirect test.voorbeeld.nl naar localhost
Sla dit bestand op en wijzig de naam naar hosts.
Let op dus zonder enige extenstie of een punt in de naam!
Pagina 4
Apache
Nu word mijn request van http://www.voorbeeld.nl naar mijn locale server gestuurd. Hellaas kan mijn server er nog niets mee en denkt dat dit een request is voor mijn localhost is en stuurt mijn aanvraag door naar de document root van de server.
[color=red]Let op:[/color]
Wij gaan nu de httpd.conf editen. Maak hier van een backup voor dat jij je eigen server verpest!
Open nu de httpd.conf file deze bestand is te vinden in:
[HD]:\instalatiedirvanApache\conf\
Wij slaan veel over omdat dat voor deze tutorial niet intrestant is en we gaan direct naar ### Section 3: Virtual Hosts
en daar vinden wij de volgende tekst
Als eerste halen wij het # weg voor #NameVirtualHost *:80 zodat wij onze Apache geschikt maken voor name-based virtual hosting. Wat wij uiteindelijk willen.
De volgende stap is de localhost toe te voegen. Let op dit is een voor beeld en dient naar je eigen wensen worden aan gepast
En doe het zelfde met andere virtual hosts. Pas alleen wel de gegevens aan.
Voorbeeld voor http://www.voorbeeld.nl:
Sla het bestand op en het is nu de tijd om je server te herstarten en dan zou het moeten werken en heb je beschikking over virtual hosts.
Confugratie opties
Zorg dat je servernaam exact het zelfde is als je domeinnaam die je wilt gebruiken.
Voor de logs bestanden kun je uiteraard andere locaties en namen geven.
[color=red]Let op:[/color]
Wij gaan nu de httpd.conf editen. Maak hier van een backup voor dat jij je eigen server verpest!
Open nu de httpd.conf file deze bestand is te vinden in:
[HD]:\instalatiedirvanApache\conf\
Wij slaan veel over omdat dat voor deze tutorial niet intrestant is en we gaan direct naar ### Section 3: Virtual Hosts
en daar vinden wij de volgende tekst
### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs-2.0/vhosts/ >
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# 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>
# ServerAdmin [email protected]
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
# </VirtualHost>
Als eerste halen wij het # weg voor #NameVirtualHost *:80 zodat wij onze Apache geschikt maken voor name-based virtual hosting. Wat wij uiteindelijk willen.
De volgende stap is de localhost toe te voegen. Let op dit is een voor beeld en dient naar je eigen wensen worden aan gepast
<VirtualHost *:80>
ServerAdmin randomnaam@localhost
DocumentRoot /dir/naar/localhost/
ServerName localhost
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log common
</VirtualHost>
En doe het zelfde met andere virtual hosts. Pas alleen wel de gegevens aan.
Voorbeeld voor http://www.voorbeeld.nl:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /dir/naar/voorbeeld/
ServerName www.voorbeeld.nl
ErrorLog logs/voorbeeld-error_log
CustomLog logs/voorbeeld-access_log common
</VirtualHost >
Sla het bestand op en het is nu de tijd om je server te herstarten en dan zou het moeten werken en heb je beschikking over virtual hosts.
Confugratie opties
Zorg dat je servernaam exact het zelfde is als je domeinnaam die je wilt gebruiken.
Voor de logs bestanden kun je uiteraard andere locaties en namen geven.
Reacties
0