thames Skrevet 14. april 2009 Del Skrevet 14. april 2009 Heisan ! Jeg sliter med å få sette opp et domene på min maskin her hjemme. Når jeg konfigurerer apache serveren med virtual host i httpd fila og tror alt er på plass så kommer "default" domene opp når jeg går i en nettleser og skriver inn adressa mi..... i httpd fila mi står noe ala dette: <VirtualHost www.hjemmekontoret.no> ServerAdmin [email protected] DocumentRoot "${path}/hjemmekontoret" ServerName hjemmekontoret </VirtualHost> Er det noe mere som må på plass egentlig? har fjernet error log og customlog (midlertidig) På DNS pekeren på domenesop har jeg lagt inn hjemmekontoret.no -> [XX.XXX.XXX.XXX] www.hjemmekontoret.no -> [XX.XXX.XXX.XXX] som er ipadressa på "serveren" Noen som vet hvorfor det ikke funker? PS jeg har fjernet <VirtualHost *:80> for å være sikker da :-) Håkon Lenke til kommentar
Bolson Skrevet 14. april 2009 Del Skrevet 14. april 2009 (endret) Nå har ikke easyphp noe som helt med dette å gjøre i det hele. Virtual host er 100 % Apache konfigurasjon. Og det må gjøres korrekt, noe du ikke har gjort. For det første må du ha følgende angitt (direktiv). NameVirtualHost *:80 Du kan bruke *, ip adresse, ip adresse:portnr Når det gjelder selve <VirtualHost> direktivet, kan det ikke inneholde domenenavn. Det kan kun inneholde ip-adresse eller *:80 eller *. Bruk det samme som for NameVirtualHost. Derfor er *:80, dvs lytter på alle ip-adresser/domener på port 80 det beste valget. Virtual host direktivet bør derfor se omtrent slik ut. <VirtualHost *:80> DocumentRoot /www/ </VirtualHost> <VirtualHost *:80> ServerName www.domain.tld ServerAlias domain.tld *.domain.tld DocumentRoot /www/domain </VirtualHost> Den første ruter alle henvendelser som inneholder bare ip-adressen til standard side for Apache. Direktiv to ruter alle henvendelser som inneholder Servername eller ServerAlias til hvor disse sidene er plassert på server. Slik som du har satt opp er det mismatch mellom direktivene, og da får du opp startsida. Husk å restarte Apache for alle endringer som gjøres i Apache sine configurasjonsfiler. Endret 14. april 2009 av Bolson Lenke til kommentar
thames Skrevet 14. april 2009 Forfatter Del Skrevet 14. april 2009 (endret) Kjempeflott, tusen takk for hjelpen Bolson, skjønner at du har peiling ja hehe. Får det fremdeles ikke helt til, men har mine formeininger om at jeg roter med feil mapper... Har liksom definert c:\www som dokumentroot men så refereres det til apache si root mappe, osv osv. Tror nesten jeg må ta en clean apache installering. Endret 14. april 2009 av thames Lenke til kommentar
Bolson Skrevet 14. april 2009 Del Skrevet 14. april 2009 Da har du problem med absolutte kontra relative referanser. Ser du driver under windows, der Apache tradisjonelt bruker htdocs som Apache-root. Så dersom du skal vise til c:\www\, så må du bruke hele referansen inklusive c: i windows (absolutt). Nå er jeg linux-mann når det gjelder servere, og det meste av info på web er også relatert til linux. Der er nemlig /mappe/undermappe absolutt referanse fra systemroot, mens mappe/undermappe er relativ referanse. Husk også at windows bruker \ og ikke /. Så prøv med c:\www. Om jeg kan Apache vet jeg nå ikke, det er et langt lerret å bleke, særlig om man skal bruke alle mulighetene som mod_rewrite, mod_deflate, mod_security med mer. Lenke til kommentar
thames Skrevet 15. april 2009 Forfatter Del Skrevet 15. april 2009 Leser at du nevner namevirtualhost, skal jeg sette det opp omtrent slik da? <NameVirtualHost *:80> ServerName www.hjemmekontoret.no ServerAlias hjemmekontoret.no *.hjemmekontoret.no DocumentRoot "C:\www\hjemmekontoret" </NameVirtualHost> Eventuelt <NameVirtualHost hjemmekontoret.no:80> ? Ps bær over med meg, jeg er ny..... ;-) Håkon Lenke til kommentar
Bolson Skrevet 15. april 2009 Del Skrevet 15. april 2009 Nei! NameVirtualHost er et eget direktiv som forteller at du bruker VirtualHost, samt hvilken port, ip-adresse som det lyttes på. Det må stå på egen linje før <VirtualHost> direktivet. VirtualHost direktivet virker ikke om NameVirtualHost ikke er angitt først. Hvordan det skal skrives er angitt i min første post, altså ikke inne i mindre enn/større enn tegn. Hvert enkelt virtuelle nettsted sitt oppsett legges inn i VirtualHost direktivet, og det skrives alltid slik <VirtualHost> Diverse direktiver, som ServerName, ServerAlias, DocumentRoot etc. </VirtualHost> Som nevnt tidligere kan ikke domenenavn brukes i NameVirtualHost og VirtualHost direktivene. De kan kun brukes sammen med ServerName og ServerAlias. I NameVirtualHost og VirtualHost kan kun ipadresser og/eller port brukes. Søk eller i google på NameVirtualHost og VirtualHost, så finner du mengder av guider og forklaringer. Hvorfor det er akkurat slik mener jeg å huske er som følger. 1. Når du skriver www.domain.tld i nettleseren sender den en forespørsel til en DNS-server om hvilken ip det domenet har. 2. Nettleseren får tilbake svar og sender forespørselene til ip xxx.xxx.xxx.xxx:80, dvs http porten. Altså ikke domenenavnet, men ipadressa som tilhører domenenavnet. 3. Så mottar serveren denne forespørselen (Apache). Er det bare et nettsted på serveren, så trengs ikke noen VirtualHost, man er alt framme. 4. Har konfigurasjonen av Apache med direktivet NameVirtualHost, så leter serveren gjennom VirtualHost direktivene til den finner ServerName eller ServerAlias som stemmer med domenenavnet i forespørselen. Finner den dette, så åpnes index.html/index.php fila i DocumentRoot. Så domenenavn brukes bare i første og siste del av selve det å finne fram. Muligens litt rotete forklart. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå