mboost-dp1

Apache Virtualhost


Gå til bund
Gravatar #1 - Bachy
10. maj 2009 14:33
Halløjsa Gutter og Guttinder, jeg sidder og leger med Apache og virtualhost, men skidtet vil sku ikke helt som jeg vil have det til.

Efter at have været igang med at tilpasse mine name baserede virtualhosts, brokker Apache sig med følgende:

Syntax error on line 492 of H:/Program Files/Apache Software Foundation/Apache2.
2/conf/httpd.conf:
DocumentRoot must be a directory

Kigger jeg i min httpd.conf fil, så ser mine settings for virtualhost ud som følger:

NameVirtualHost 212.242.122.156:80


#
# If you type http://www.domain1.com, the documents under /docrootpath/domain1 will be served

<VirtualHost 212.242.122.156:80>
ServerName www.jørgensgård.dk
DocumentRoot \www\jørgensgård
</VirtualHost>


#
# If you type http://sub.domain1.com, the documents under /docrootpath/domain1/sub will be served
#<VirtualHost 212.242.122.156:80>
#ServerName sub.domain1.com
#DocumentRoot /docrootpath/domain1/sub
#</VirtualHost>
#
# If you type http://www.domain2.com, the documents under /docrootpath/domain2 will be served

<VirtualHost 212.242.122.156:80>
ServerName www.computerclub.dk
DocumentRoot H:\www\computerclub
</VirtualHost>


#
# If you type http://sub.domain2.com, the documents under /docrootpath/domain2/sub will be served
#<VirtualHost 212.242.122.156:80>
#ServerName sub.domain2.com
#DocumentRoot /docrootpath/domain2/sub
#</VirtualHost>

Så vidt jeg kan se, så skulle det jo egentlig blot køre, men nej nej ... Det er søndag, og Apache er i drillehumør :/( .. dvs ligegyldigt hvad jeg smider ind som documentroot, så brokker apache sig :/(
Gravatar #2 - JensOle
10. maj 2009 14:59
HVAD MED :

<VirtualHost *>
ServerName www.jørgensgård.dk
DocumentRoot \www\jørgensgård
</VirtualHost>
Gravatar #3 - Bachy
10. maj 2009 15:02
Tjaa .. det var da et forsøg værd, desværre er Apache totalt ligeglad, den VIL brokek sig over mit DocumentRoot, ligegyldigt hvad jeg forsøger :)
Gravatar #4 - JensOle
10. maj 2009 15:03
Æ Ø Å i navn ?

og evt :
\www\jørgensgård -> /www/jørgensgård
Gravatar #5 - Bachy
10. maj 2009 15:19
Hmm .. noget tyder på at Apache ikke bryder sig om Æ Ø Å i virtual host, skiftede DocumentRoot til jorgensgard, også kom der en ny fejlmeddelse: httpd.exe: Could not reliably determine the server's fully qualified domain name
, using 10.0.0.2 for ServerName

Det tolker jeg som at den ikke bryder sig om Æ Ø Å i domæner :/(
Gravatar #6 - thethufir
10. maj 2009 15:43
Den fejlmeddelelse er kun en warning. Serveren kører. ;)

Apache fortæller dig bare at den ikke kunne slå dens IP op for at finde dens Hostname, og derfor har sat sit ServerName til sin IP.
Gravatar #7 - Bachy
10. maj 2009 16:25
Ja det er fint, men den kan ikek finde nogen som helst domæner længere :) ... skulel aldrig være begyndt på det her virtualhost halløjsa :) ... Men så på den anden side, hvad fanden skulle man ellers bruge en søndag eftermiddag til.

Kan jeg ikke sætte ServerName til at bruge min externe IP, der er jo ligesom ikke meget fidus i at bruge den interne IP :)
Gravatar #8 - thethufir
10. maj 2009 16:28
#7 Virtualhost er faktisk ret smart når man lige får fod på det.
Dit servername bliver sådanset ikke brugt andre steder end på dine 404 sider osv. Så det er lidt irellevant. Men jeg havde nok manuelt sat mit ServerName til serverensnavn.domæne.dk

F.eks tux.serverland.dk eller web1.cliche.dk hvis du forstår hvad jeg mener ? Navnet har ikke den store indflydelse på din hosting som sådan udover hvad serveren kalder sig selv.

Under Gentoo ved jeg at Apache opretter en vhost mappe som indeholder alle ens vhost filer. Tror den endda det er standard i Apache. Når jeg opretter nye vhosts har jeg bare et template som jeg tager en kopi af og retter til, så kører det nye domæne.
Gravatar #9 - thethufir
10. maj 2009 16:32
Forresten, hvis du vil bruge ÆØÅ i apache er det vigtigt du oversætter dem. Giv mig 5 minutter og jeg finder oversættelsen af jørgensgård.dk til dig

Ok 1 minut så...

Her: xn--jrgensgrd-c3a6r.dk
Gravatar #10 - Bachy
10. maj 2009 16:32
Jeg tror desværre ikke helt jeg er med på hvor du vil hen.

Tager vi nu udgangs punkt i mit lille eksperiment, så har jeg to domæner på samme IP, computerclub og jørgensgård.

Planen var jo at de hver især skulle pege hen på hver deres mappe :)

Eller løber jeg helt af sporet her :)

Jeg forsøgte mig også med den .. øhh .. universielle oversættelse af domain navnet jørgensgård, altså xn--jrgensgrd-c3a6r
Gravatar #11 - thethufir
10. maj 2009 16:35
Okay... Det punkt er ihvertfald essentielt for at få apache til at tygge det domæne.

Jeg prøver at forklare hvad jeg mener lidt bedre:

I din apache mappe har du sikkert en undermappe der hedder vhosts.d.

I den ligger der nok en fil der hedder 00_default_vhost.conf.

Hvis du åbner den, og ser bort fra alt hvad der er udkommenteret, kopierer den og retter den til så det passer til dine behov, så er det en god start.

Gravatar #12 - thethufir
10. maj 2009 16:39
Mine vhostfiler bruger flgnd syntaks:

<VirtualHost *:80>
ServerName xn--jrgensgrd-c3a6r.dk
ServerAdmin root@localhost
DocumentRoot "/var/www/joergensgaard/
</VirtualHost>

simplere bliver det næsten ikke.

I din default vhost fil er der en linie der hedder "NameVirtualHost" der skriver du også bare *:80 (med mindre du kører på en anden port, eller vhost'en skal bruge SSL)
Gravatar #13 - Bachy
10. maj 2009 16:40
Jeg har en mappe der hedder vhost, men der ligger blot nogle filer med eksempler og forklaringer, intet med noget *conf :)

Det skulle jo egentlig være så enkelt, og det er det sikkert også :)
Gravatar #14 - thethufir
10. maj 2009 16:42
Det er skam meget simpelt, må dog indrømme jeg aldrig har sat apache op på windows fordi jeg synes det er en skam at køre en så god webserver på et så dårligt styresystem :P Men det er en helt anden snak :)

På linux kører det nærmest out of the box. Der findes endda scripts til at oprette vhosts med hvis du bare fortæller den hvad domænet hedder og hvor den kan finde filerne, as we speak kan jeg dog ikke huske hvad det hedder. :S måske der er andre der kan bakke op om det tool ? (ved dog ikke om det er linux only eller om det også findes til windows)
Gravatar #15 - Bachy
10. maj 2009 16:46
Hehe .. nogle folk er til store patter, andre er til en håndfuld patter ...
S
ådan er vi lidt forskellige, jeg kan godt lide at fumle rundt med Windows, og gider ikke rigtig Linux /(nok mest fordi det kræver at jeg skal sætte mig ind i det, hvilket jeg indtil videre ikke har haft overskud til).

Men jeg fatter ved søde gud grød ikke hvad fanden der går galt i den forbistrede configuration ..

Sådan ser mit virtualhost afsnit ud nu:

NameVirtualHost 212.242.122.156:80

<VirtualHost 212.242.122.156:80>
ServerName www.xn--jrgensgrd-c3a6r.dk
DocumentRoot "H:\www\jorgensgard"
</VirtualHost>


<VirtualHost 212.242.122.156:80>
ServerName www.computerclub.dk
DocumentRoot H:\www\computerclub
</VirtualHost>

Og nu dukker computerclub's filer op når jeg taster jørgensgård urlen :) .. mens der intet dukker op på computerclub.


Det er sku en underlig ting, en så simpel opsætning kan drille så meget, det fatter jeg sgu ikke :)
Gravatar #16 - thethufir
10. maj 2009 16:49
Alle de steder du skriver din IP skal du skrive *:80

Problemet er at serveren forventer at den skal levere siderne på den IP... Og det er ikke den der styrer det, det er din router der gør det, den forwarder bare requests til serveren.

Når det er gjord er det nok også en god ide med gåseøjne omkring begge stier i begge Vhosts :)

Ja det kan være lidt pain, apache er ikke så klog at den selv kan gætte hvad man vil, tilgengæld kan den tweakes til at kunne en masse ting :)

En anden ting er også at hvis du sidder på samme netværk som serveren (altså internt) så kan det muligvis være at du ikke kan tilgå domænerne med mindre du tilføjer dem i din hostsfil på din private computer og så sætter ip'en til 10.0.0.2.

God kotyme er også IKKE at skrive www.blablabla.dk men bare blablabla.dk
og så lave en stjernealias på din DNS server.
Med den opsætning du har lavet der vil det ikke virke hvis jeg bare skriver jørgensgård.dk.. Men KUN hvis jeg skriver www.jørgensgård.dk
Gravatar #17 - Bachy
10. maj 2009 17:06
Først vil jeg lige takke både JenOle og dig fordi i gider troubleshoote med mig, jeg er ikke den store Apache haj (Hvilket i sikkert har opdaget hehe)

Nå, så langt så godt, nu finder den da begge domains, men den vil ikke lade mig acesse Jorgensgard mappen, FF komemr blot med 403 : Forbidden

You don't have permission to access / on this server.

Så jeg skal hvis have kigget lidt ekstra på stien som Jørgensgård skulle henvises til :)

Og ja, jeg har har smidt " rundt om begge stier i vhost :)
Gravatar #18 - thethufir
10. maj 2009 17:09
Hmm.... Det problem har jeg haft før. Dog kan jeg ikke huske hvad jeg gjorde for at løse det :P Men det er helt sikkert et syntaksproblem eller et rettighedsproblem. Sikker på du ikke har gjort mappen skrivebeskyttet eller skjult eller noget i den stil ?

Men selv tak, er altid frisk på at give folk en hånd :)
Gravatar #19 - Bachy
10. maj 2009 17:14
Altså, hvis vi kigger i vhost afsnittet for jørgensgårsd, så ser den sådanne ud:

<VirtualHost *:80>
ServerName www.xn--jrgensgrd-c3a6r.dk
DocumentRoot "H:\www\Jorgensgard"
</VirtualHost>

Af en eller anden grund vælger windows at mappen med navnet jorgensgard SKAL skrives med stort J, så mappen Jorgensgard ligger på h drevet, under www\Jorgensgard .. så egentlig burde den jo kunen finde den.

Og nej, den er hverken skrivebskyttet eller gemt :)

Men der er sikkert en lille ting som jeg har stirret mig blind på, og derfor ikke lægger mærke til når jeg gennemser skidtet :)
Gravatar #20 - thethufir
10. maj 2009 17:18
hvis du har skrevet navnet med stort i windows tager Apache efter det så vidt jeg ved. Apache er oprindeligt skrevet til *nix hvor der nemlig ER forskel på store og små bogstaver. Så du både kan oprette en mappe der hedder "ost" "Ost" og "OST" samtidigt.

Fik du det til at virke ved at ændre til stort begyndelsesbogstav ?
Gravatar #21 - Bachy
10. maj 2009 17:20
Virker stadig ikke, selvom jeg har stort J i min vhost sti

Og jeg kan absolut ikke få lov at ændre til et lille j i mappe navnet :)
Windows retter det lige så hurtigt tilbage et stort begyndelses bogstav, som jeg kan rette det til et lille :)

Men det sjove er, computerclub er med lille :) .. og der brokker den sig ikke.

Nå .. jeg ku selvf prøve at omdøbe mappen, og se hvad den siger til det.
Gravatar #22 - Bachy
10. maj 2009 17:23
Hmm .. prøvede lige for sjov at ændre det til samme sti som computerclub, men det vil den sgu heller ikke give mig lov til at tilgå ?
Gravatar #23 - thethufir
10. maj 2009 18:18
Hmm.. Sikker på din httpd.conf ikke includer en fil der har en NameVirtualHost der overskriver den du allerede har lavet ?
Gravatar #24 - Bachy
10. maj 2009 18:43
Ahaa .. det viste sig at være en DocumentRoot længere oppe i httpd.conf der skulle udkommenteres, så virker det :)

Ja .. hvis ikke andet, så fik jeg da Søndag eftermiddag til at gå, og fik lært lidt nyt om Apache hehe.

Du skal have mange tak for din tålmodighed :)
Gravatar #25 - thethufir
10. maj 2009 19:04
Ah jeg troede ikke du havde brugt den :P
Godt du fik det til at virke :) Du er velkommen til at smide en PM hvis du har brug for hjælp i fremtiden.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login