PDA

Bekijk Volledige Versie : VirtualHost



creatormusic
05/03/09, 12:56
Hallo,

Dit is wat ik wil:
1 webserver met 1 publiek ipadres meerdere sites laten hosten
site_1.domein.nl > naar site 1
site_2.domein.nl > naar site 2

Mijn config:
Win 2003
Apache webserver

Wat heb ik reeds geconfigureerd:
Virtualhost toegevoegd in httpd.conf
<VirtualHost 127.0.0.1:80>
DocumentRoot C:\xampp\htdocs\site
ServerName site_1.domein.nl
</VirtualHost>

ik heb in mijn hosts file de regel toegevoegd:
127.0.0.1 site_1.domein.nl

via de hostingmanager van yourhosting heb ik een A record staan die als volgt luidt: *.domein.nl die verwijst naar mijn ip adres
daarnaast heb ik voor de zekerheid nog een site_1.domein.nl toegevoegd naar hetzelfe ip adres

Wat werkt wel:
locaal ga ik naar site_1.domein.nl en ik kom op de site terecht zoals is neergezet bij DocumentRoot

Wat werkt niet:
Als ik van buiten af de site_1.domain.nl benader, kom ik op de algemene pagina terecht.

Zou iemand mij aub kunnen laten weten wat ik over het hoofd zie, of waar ik meer info hierover kan vinden?

Dank je wel

Spyder01
05/03/09, 12:59
<VirtualHost 127.0.0.1:80>

Daar zou ik sowieso je externe IP neerzetten. 127.0.0.1 bestaat niet voor de buitenwereld.

Japje
05/03/09, 13:01
zet je je apache2.conf voor je de domeinen laad:

NameVirtualHost *:80

en dan je vhostjes:

<VirtualHost *:80>
DocumentRoot C:\xampp\htdocs\site
ServerName site_1.domein.nl
</VirtualHost>

<VirtualHost *:80>
DocumentRoot C:\xampp\htdocs\site2
ServerName site_2.domein.nl
</VirtualHost>

en dan ff reloaden :)

creatormusic
05/03/09, 13:30
zet je je apache2.conf voor je de domeinen laad:



Hoe bedoel je dat?

Groeten,
Richard

Japje
05/03/09, 14:12
er moest staan, zet IN je apache2 conf ;-)

die regel moet dus staan op een plek VOOR de regel die je vhostjes inladen, of uberhaupt voor je vhostjes ;-)

creatormusic
05/03/09, 14:30
Ja thx :)))) ik kwam er net achter nadat ik die vraag verstuurd had. Maar: dit heb ik dus toegevoegd, maar het werkt nog steeds niet :S

Is er misschien nog iets wat ik moet doen? Ik heb apache gerestart een paar keer

Groeten,
Richard

creatormusic
05/03/09, 14:36
Owja, dit is gruwelijk! Ik heb in me hostfile een regel aangepast: site_1.domein.nl en dan het externe ip adres, en het werkt gewoon. THX THX :)))

Groeten

Japje
05/03/09, 14:53
kratje bier is welkom ;-)

creatormusic
06/03/09, 16:14
Het werkt nu dan wel allemaal, maar ik vraag me eigenlijk af of het de juiste manier is hoe ik dingen geconfigureerd heb. Een probleempje waar ik nu tegenaanloop is dat ik locaal, en vanaf me andere pc de sites niet meer kan benaderen.

Dit is namelijk mijn configuratie:

een virtual host in mijn httpd.conf
<VirtualHost *:80>
DocumentRoot C:\xampp\htdocs\site_naam
ServerName www.site_naam.nl
</VirtualHost>

Een regel in mijn hosts bestand op de webserver(onder windows/sys32/drivers/etc)
82.128.X.X www.site_naam.nl (ip adres wat ik krijg van mijn ISP (publiek dus))

Bij yourhosting mijn domein naam heb ik gekoppeld aan 82.128.X.X (ip adres wat ik dus krijg van ISP).

Thuis heb ik een locaal netwerk van 192.168.1.X/24.
Adres van mijn webserver: 192.168.1.29.
Adres van mijn pc vanwaar ik werk: 192.168.1.100

In mijn router staan de port forwardings naar 192.168.1.29

als ik nu ga naar http://naam_webserver of http://192.168.1.29 dan krijg ik de eerste pagina die staat gedefinierd in mijn httpd.conf (waar dus de virtualHost staan gedefinierd). Ik wil ook andere sites kunnen benaderen die ik heb staan op de webserver. Hoe moet ik dit configureren?

Ik heb heel wat lopen knoeien met de hostfiles zowel op me pc 192.168.1.100 als op de webserver, maar ik kom er echt niet uit.

Hoe kan ik dit oplossen?

Groeten,
Richard

creatormusic
13/03/09, 09:21
Oke, probleem opgelost. De oplossing zat al langer in me hoofd, heb net pas gekeken of het ook werkt. Eigenlijk heel simpel, en stom dat ik hier niet meteen opkwam:

Het adres van mijn server ( http://192.168.1.29 ) in de web browser, verwijst naar de eerste virtual host die staat gedefinierd in mijn httpd.conf. Ik heb dez dus als volgt aangepast:


<VirtualHost *:80>
DocumentRoot C:\xampp\htdocs ; ( dit ipv een verwijzing naar een site zelf... dit is de root )
ServerName home
</VirtualHost>

Ik ben compleet newbe hierin, en voor mij is het gewoon trial and error. Daarom vraag ik me af of ik de hele boel wel volgens de juiste regels heb ingesteld. Een ding is zeker: het werkt :)))).

Groeten
Richard