Avatar billede tipsen Nybegynder
05. juni 2003 - 12:30 Der er 18 kommentarer og
1 løsning

Virtualhosts på W2K - tror jeg.

Hej eksperter

Jeg har en Apache 2 server kørende på en Windows 2000 Prof.

I forbindelse med test af et website ønsker jeg, midlertidigt at kunne sætte følgende op:

www.testsite.dk (eller noget tæt på!) skal når jeg indtaster det i min browser automatisk gå direkte til et bestemt bibliotek på computeren... - eksempelvis z:\www\dev\testsite\ - jeg har brug for det for at kunne teste sitet på denne måde i forbindelse med nogle php-scripts der benytter sig af document-root osv - derfor er det ikke nok at kunne bruge http://localhost/dev/testsite/

Jeg ved at forklaringen nok stinker lidt, men jeg er ikke den hurtigste klovn i manegen til det der webserver-ting, så jeg bruger nok ikke alle de rigtige ord osv.

Håber I kan hjælpe!

Mvh

tipsen
Avatar billede oz2kas Nybegynder
05. juni 2003 - 12:40 #1
Virtual hosting (Apache)


Bruges bl.a. til at have flere sites på samme web-server. I Apaches konfigurationsfil "httpd.conf"
aller nederst findes afsnittet vedr. VirtualHost, og her skrives:


NameVirtualHost xxx.xxx.xxx.xxx

‹VirtualHost xxx.xxx.xxx.xxx›
  ServerName www.domain1.net
  DocumentRoot "c:/www/domain1/"

  ErrorLog logs/domain1.net-error.log
  CustomLog logs/domain1.net.log common
‹/VirtualHost›

‹VirtualHost xxx.xxx.xxx.xxx›
  ServerName www.domain2.dk
  DocumentRoot "c:/www/domain2/"

  ErrorLog logs/domain2.dk-error.log
  CustomLog logs/domain2.dk.log common
‹/VirtualHost›

‹VirtualHost xxx.xxx.xxx.xxx›
  ServerName intranet
  DocumentRoot "c:/www/intranet/"

  ErrorLog logs/intranet-error.log
  CustomLog logs/intranet.log common
‹/VirtualHost›
Avatar billede tipsen Nybegynder
05. juni 2003 - 12:48 #2
Hvad skal der stå i stedet for xxx'erne og hvordan får jeg overtalt min browser til at www.testsite.dk peger ned lokalt på computeren og ikke ud i verden!?

Det er også muligt det er en virkelig lam løsning jeg har gang i, men kender ikke andre måder at opnå det på...
Avatar billede tipsen Nybegynder
05. juni 2003 - 13:02 #3
Rettelse:

Hvis jeg nu ønsker, at www.webdev.dk peger ned på min egen maskine og at jeg derudover selv kan sætte andre subdomæner på som eks. site1.webdev.dk, site2.webdev.dk som Apache så kan finde ud af at sende videre til de rigtige biblioteker!
Avatar billede oz2kas Nybegynder
05. juni 2003 - 13:05 #4
du sætter en linie lignende:
127.0.0.1 webdev.dk
i c:\windows\system32\drivers\etc\hosts

herefter smider du følgende i httpd.conf:

NameVirtualHost 127.0.0.1
<VurtualHost 127.0.0.1>
ServerName www.webdev.dk
DocumentRoot "z:/www/"
</VirtualHost>

<VurtualHost 127.0.0.1>
ServerName site2.webdev.dk
DocumentRoot "z:/www2/"
</VirtualHost>
Avatar billede htm Nybegynder
05. juni 2003 - 13:07 #5
Udkommenter linien (det vil sige fjern # foran)

#NameVirtualHost *


Din virtualhost er så som følger:
<VirtualHost *>
    ServerAdmin admin@domain.dk
    DocumentRoot z:/www/dev/
    ServerName localhost
</VirtualHost>
<VirtualHost *>
    ServerAdmin admi@webdev.dk
    DocumentRoot z:/www/dev/testsite/
    ServerName webdev.dk
    ServerAlias www.webdev.dk
</VirtualHost>

Herefter genstartes apache så skulle det gerne køre! Hvis du ønsker at tilføje flere subdomains etc. tilføjer du bare en virtualhost!
Avatar billede tipsen Nybegynder
05. juni 2003 - 13:58 #6
Tjahh - jeg har jo lidt problemer...

Jeg har nu følgende i hosts:
127.0.0.1      localhost
127.0.0.1    webdev.dk
127.0.0.2    web

og følgende i Apache:
Listen 127.0.0.1:80
Listen 127.0.0.2:80

NameVirtualHost *

<VirtualHost *>
    ServerAdmin admin@domain.dk
    DocumentRoot z:/www_test/
    ServerName localhost
</VirtualHost>

<VirtualHost *>
    ServerAdmin admi@webdev.dk
    DocumentRoot z:/www_test/site1/
    ServerName webdev.dk
    ServerAlias site1.webdev.dk
</VirtualHost>

<VirtualHost *>
    ServerAdmin admi@webdev.dk
    DocumentRoot z:/www_test/site2/
    ServerName site2.webdev.dk
    ServerAlias webdev.dk
</VirtualHost>

NB: Det er med vilje, at konfigurationen for site1 og site2 er forskellige da jeg ikke har kunnet få nogen af dem til at fungere og jeres svar også er lidt forskellige!

Testet i browser:
http://localhost/ -> z:/www_test/
http://webdev.dk/ -> z:/www_test/site1/
http://site1.webdev.dk/ -> Kunne ikke findes - altså sitet!
http://site2.webdev.dk/ -> Kunne ikke findes - altså sitet!

Jeres svar er en smule forskellige og jeg kunne godt tænke mig en forklaring på:
Brug af * eller 127.0.0.1 - hvad er forskellen?
Hvilken betydning har servername og serveralias?
Avatar billede tipsen Nybegynder
05. juni 2003 - 14:34 #7
Det virker måske som om webdev.dk i hosts filen fortæller at kun denne host skal directes til 127.0.0.1 da eksempelvis www.webdev.dk fint ryger til et eksisterende website ude i byen...
Avatar billede htm Nybegynder
05. juni 2003 - 14:42 #8
Du har for det første modstridende oplysninger i din virtualhost ;o)

ServerAlias betyder at denne adresse er et "alias" for Servername, altså sitet kan også tilgås med denne adresse.
ServerName er det der indkiker hvilken site der er snakke om her. altså en form for adresse!

Forskellen på * og at bruge en IP-adresse er at den lytter på alle IP-adresser i stedet for en spcificeret! Med lytter menes der den ip som serveren kontaktes på!

Så til de modstidende oplysninger i dine virtualhost - du har først defineret en vh med servername = webdev.dk og så har du defineret et serveralias = webdev.dk i din anden vh.

Håber det satte lidt ting på plads?
Avatar billede tipsen Nybegynder
05. juni 2003 - 15:00 #9
Stadig ikke helt med - men prøvede lige at teste, hvor jeg tilføjede flere entries i hosts-filen:

hosts:
127.0.0.2    webdev.dk
127.0.0.2    site1.webdev.dk

apache:
NameVirtualHost 127.0.0.2

<VirtualHost 127.0.0.2>
    ServerAdmin admin@domain.dk
    DocumentRoot z:/www_test/
    ServerName webdev.dk
</VirtualHost>

<VirtualHost 127.0.0.2>
    ServerAdmin admi@webdev.dk
    DocumentRoot z:/www_test/site1/
    ServerAlias site1.webdev.dk
    ServerName webdev.dk
</VirtualHost>

Med ændringen i hosts-filen fungerer det, men uden fungerer det ikke....
Avatar billede tipsen Nybegynder
05. juni 2003 - 15:05 #10
Det kan da ikke passe, at hosts filen også skal redigeres hver gang - det burde være nok, at webdev.dk peger ned lokalt synes jeg - men måske har det betydning, at der findes et rigtigt website med det navn i forvejen?
Avatar billede htm Nybegynder
05. juni 2003 - 15:35 #11
Ja det lyder meget rigtigt at du skal tilføje alle i host-filen! Du kan måske bruge *.webdev.dk!
Avatar billede tipsen Nybegynder
05. juni 2003 - 15:43 #12
Har lige hørt fra en kammerat, at det er nødvendigt at tilføje alle subdomæner til hosts filen - så det må jeg jo gøre - havde ellers håbet jeg kunne nøjes med at konfigurere apache.
Avatar billede tipsen Nybegynder
05. juni 2003 - 15:43 #13
Havde også prøvet med * dog uden held :-)
Avatar billede htm Nybegynder
05. juni 2003 - 15:49 #14
Ja så er det nødvendigt ;o) - måden du kan undgå det på er at købe dit eget domæne og få det redirectet til din egen maskine!
Avatar billede tipsen Nybegynder
05. juni 2003 - 16:01 #15
Problemet er bare, at min udbyder stadig er i "teststadiet" med faste og offentlige ip-adresser... :-/

Til gengæld giver de kabelforbindelse på omkring 2.5mbit til 200kr om måneden, så de kan tilgives :-)
Avatar billede tipsen Nybegynder
05. juni 2003 - 16:01 #16
-og tak for hjælpen :-)
Avatar billede htm Nybegynder
05. juni 2003 - 16:03 #17
Hmmm ingen fast IP - det lyder kedeligt ;o) - men jeg kan godt se at det opvejes med det internet - hvem er dog det, hvis man må spørge?

Og takker for point!
Avatar billede tipsen Nybegynder
05. juni 2003 - 16:05 #18
Det er nalnet - Næsby Antennelaug i Odense.
Avatar billede htm Nybegynder
05. juni 2003 - 16:08 #19
Hmm - æv da - det er nok ikke nogle man kan bruge til noget ;o) Ellers nice billigt!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester