PDA

Bekijk Volledige Versie : Virtual Hosts



MontauK
10/09/04, 21:21
Goede dag.
Ik heb een server op co-location. Er draait Apache op (versie 2.0.50).
Nu wil ik meerdere sites (domains) op deze machine draaien. Dit moet allemaal op 1 ip adres gaan draaien.
Na wat zoekwerk ben ik er achter gekomen dat ik gebruik moet maken van "Name based Virtual Hosts".
Ik heb de documentatie doorgenomen (te vinden op http://httpd.apache.org/docs-2.0/vhosts/name-based.html )

Alles in de httpd.conf file neergezet zoals het in de docs stond. Nu krijg ik echter een "error 404" page op het scherm als ik de domeinen gekoppeld aan het ip adres van de server intype.

Moet ik nog iets speciaals instellen in de DNS servers?

Als ik meer info moet geven, zeg het maar. Ik hoop dat iemand hiermee alvast uit de voeten kan :)

Mvg Joost

Pinocchi
10/09/04, 21:26
Het is voor ons makkelijk als je even aan geeft wat je voor virtual host container hebt aangemaakt.

als in het stuk tussen:
<VirtualHost jouwIpAdres>
...
</virtualhost>

royen99
10/09/04, 21:35
Je moet in DNS uiteraard ook de naam van je virtual host toevoegen (bv door een A record aan te maken voor subdomain.domain.tld).

In je apache config je ip zetten voor de virtual hosts door bv:


NameVirtualHost 1.2.3.4:80

<VirtualHost 1.2.3.4:80>
Servername subdomain.domain.tld:80
... [ opties ]
</VirtualHost>

MontauK
10/09/04, 21:40
Dit is wat ik heb staan:
Op dit moment overigens weg gecomment (inactief)..


NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.rec-hosting.net
DocumentRoot /rechosting
</VirtualHost>

<VirtualHost *:80>
ServerName www.krazyjay.net
DocumentRoot /krazyjay
</VirtualHost>

Klopt het trouwens als ik dit (eerder in de config file) heb staan? :

ServerName www.rec-hosting.net:80

Moet ik de ServerName ergens in een DNS server hebben ingevuld? Bij rDNS ofzo? :?

Mijn directory structuur in de htdocs map is als volgt:

"htdocs"--> "www"--> "rechosting", "gamehosting" en "krazyjay" weer in "www" folder.

Ik hoop dat het een beetje duidelijk is allemaal :)

MontauK
10/09/04, 21:51
Ik heb in de DNS records het domein (@) en www.domein.tld laten verwijzen naar het ip adres van de server. Dit voor alle domeinen. Dus bijvoorbeeld: rec-hosting.net en www.rec-hosting.net verwijzen naar mijn server ip adres.

Dit is het enige wat ik moet doen wat betreft de DNS records? Vanaf het begin stond dit overigens al zo..

Dit is overigens ook te testen met de links in de reply van mij hierboven?

earthquake
10/09/04, 22:00
Origineel geplaatst door MontauK
Dit is wat ik heb staan:
Op dit moment overigens weg gecomment (inactief)..


NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.rec-hosting.net
DocumentRoot /rechosting
</VirtualHost>

<VirtualHost *:80>
ServerName www.krazyjay.net
DocumentRoot /krazyjay
</VirtualHost>

Klopt het trouwens als ik dit (eerder in de config file) heb staan? :

ServerName www.rec-hosting.net:80

Moet ik de ServerName ergens in een DNS server hebben ingevuld? Bij rDNS ofzo? :?

Mijn directory structuur in de htdocs map is als volgt:

"htdocs"--> "www"--> "rechosting", "gamehosting" en "krazyjay" weer in "www" folder.

Ik hoop dat het een beetje duidelijk is allemaal :)


"htdocs"--> "www"--> "rechosting", "gamehosting" en "krazyjay" weer in "www" folder.

DocumentRoot /krazyjay <<<---- hier zeg je dat hij in de root van de systeem staat dus niet in htdocs/www/krazyjay

je moet daar echt het hele path invullen bv:

DocumentRoot /usr/home/pietje


en ff een index.html of zo erin zetten makkelijk met testen :D

MontauK
10/09/04, 22:10
Klopt :)

Beetje verwarrend van mij.. in dat voorbeeld staat het verkeerd, daar was ik mij van bewust.

Zoals:

"htdocs"--> "www"--> "rechosting", "gamehosting" en "krazyjay" weer in "www" folder.

staat het zoals het nu is. Mijn DocumentRoot is op dit moment gedefinieerd als volgt:

DocumentRoot "D:/Program Files/Apache Group/Apache2/htdocs" (windows server ;) )

Wat moet ik nu invullen bij: $$$$

NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.rec-hosting.net
DocumentRoot $$$$
</VirtualHost>

earthquake
10/09/04, 22:41
<VirtualHost *:80>
ServerName www.rec-hosting.net
DocumentRoot "d:/de/dir/waar/de/website/staat/die/bij/www.rec-hosting.net/moet"
</VirtualHost>

als je het mij vraagt moet wel de / anders om zodus \ maar weet ik niet 100% zeker

MontauK
10/09/04, 23:22
ok bedankt!
ik ga het even proberen :D

ik post mijn bevindingen hier asap

earthquake
10/09/04, 23:32
Origineel geplaatst door MontauK
ok bedankt!
ik ga het even proberen :D

ik post mijn bevindingen hier asap


Wel ff je apache restarten na een aanpassing he ;)

MontauK
11/09/04, 00:41
Het werkt bij nader inzien dus niet :(

[[[[eureka!

erm.. zo moet het dus! :

<VirtualHost 80.69.68.137:80>
DocumentRoot "D:\Program Files\Apache Group\Apache2\htdocs\www\rechosting"
ServerName rec-hosting.net:80
</VirtualHost>

etc....

Je moet het pad tussen " .. " zetten. Geen relatief pad dus! dit lost het hele probleem op! Ik heb dit overigens nergens zien staan.. ook niet in de documentatie op www.apache.org :s
Beetje vreemd, maar het werkt nu in ieder geval.]]]]

Is het niet "gevaarlijk" om het absolute pad hier neer te zetten eigenlijk?

In ieder gebal iedereen bedankt voor het meedenken.
Misschien handig om er even een tutorial van te maken?
Even netjes opschijven eerst natuurlijk ;)

Mvg Joost

earthquake
11/09/04, 00:46
nee is niet gevaarlijk doet iedereen zo

MontauK
11/09/04, 01:02
Nog andere ideeen? Ik krijg het maar niet aan de praat. Als ik de VirtualHost containers activeer.. krijg ik een error page.. error404

Ik ben nu al de hele dag bezig met dit gedoe pfft

MontauK
11/09/04, 01:34
ehm.. ok ik weet niet precies waarom.. maar het werkt nu!

Dit heb ik o.a. staan in httpd.conf bij de "NameVirtualHost" sectie:

NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.rec-hosting.net
DocumentRoot "D:/Program Files/Apache Group/Apache2/htdocs/www/rechosting"
</VirtualHost>

<VirtualHost *:80>
ServerName www.krazyjay.net
DocumentRoot "D:/Program Files/Apache Group/Apache2/htdocs/www/krazyjay"
</VirtualHost>

etc..

Dit staat eerder in de file (sectie 2):

DocumentRoot "D:/Program Files/Apache Group/Apache2/htdocs/www/rechosting"

Misschien valt iemand op wat er nu anders is?
Maakt het uit of de ServerName is veranderd? Wat voor functie heeft deze directive eigenlijk?

Mvg Joost

Pinocchi
11/09/04, 10:17
Volgens mij, maar dat weet ik niet 100% zeker, dien je bij de servername geen poort (:80) op te geven enkel de naam van de server voor die virtual host.

Dat zou de fout geweest kunnen zijn.

MontauK
11/09/04, 11:49
Ik zal eens wat dingen gaan proberen. Maar.. eerst de file backuppen ;)