/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
virtual subdomæner!
Fra : net


Dato : 27-04-02 10:49

Jeg vil oprette subdomæner der peger på mit eget site, som ligger på
serveren hjemme hos mig (ADSL forb.) Jeg vil ikke bruge koder der skal
ligges i index.php for at gøre det, da jeg vil have subdomænnavnet blive
stående op i browseren [vil ikke lave frames osv.]
Så Jeg ønsker bare , at alle mine subdomæner fungerede som virtuelle hosts
på min apache.
Jeg har fået alle mine domæner (*.mydomain.dk) til at havner hos mig selv.
Men jeg ved ikke rigtig hvordan jeg skal konfigurere min apache(http.conf)
til at håndtere det? Jeg har prøvet nedenstående, men det fungerede ikke:
[min apache kører på win2000 OS]

<VirtualHost *>
ServerAdmin webmaster@emil.mydomain.com

DocumentRoot "c:/htcocd/emil/www/"
ServerName www.emil.mydomain.dk
#ServerAlias me.mydomain.dk mydomain.dk [Den linje var bare en
prøve, tag dig ikke af det]
ErrorLog logs/emil.mydomain.com-error_log
CustomLog logs/emil.mydomain.com-access_log common
</VirtualHost>

Jeg har brug for hjælp!

Med venlig hilsen
Emil




 
 
Jesper Frank Nemholt (27-04-2002)
Kommentar
Fra : Jesper Frank Nemholt


Dato : 27-04-02 11:38

"net" <hanapo@get2net.dk> wrote in message
news:3cca7423$0$73298$edfadb0f@dspool01.news.tele.dk...
> Jeg vil oprette subdomæner der peger på mit eget site, som ligger på
> serveren hjemme hos mig (ADSL forb.) Jeg vil ikke bruge koder der skal
> ligges i index.php for at gøre det, da jeg vil have subdomænnavnet blive
> stående op i browseren [vil ikke lave frames osv.]
> Så Jeg ønsker bare , at alle mine subdomæner fungerede som virtuelle hosts
> på min apache.
> Jeg har fået alle mine domæner (*.mydomain.dk) til at havner hos mig selv.
> Men jeg ved ikke rigtig hvordan jeg skal konfigurere min apache(http.conf)
> til at håndtere det? Jeg har prøvet nedenstående, men det fungerede ikke:
> [min apache kører på win2000 OS]
>

Jeg har ingen anelse om hvordan Apache kører på Win2000, men formoder at den
opfører sig ligesom på unix, så her er et eksempel :

<VirtualHost *>
ServerAdmin webmaster@dassic.com
DocumentRoot /data01/www/statdb.dassic.com
ServerName statdb.dassic.com
ErrorLog logs/error_log
CustomLog logs/access_log combined
</VirtualHost>

For at dette virker skal du aktivere denne linie i din httpd.conf (i en
default httpd.conf er den som regel at finde lige over det første virtual
host eksempel) :

NameVirtualHost *


/Jesper



net (27-04-2002)
Kommentar
Fra : net


Dato : 27-04-02 14:58


> Jeg har ingen anelse om hvordan Apache kører på Win2000, men formoder at
den
> opfører sig ligesom på unix, så her er et eksempel :
>
> <VirtualHost *>
> ServerAdmin webmaster@dassic.com
> DocumentRoot /data01/www/statdb.dassic.com
> ServerName statdb.dassic.com
> ErrorLog logs/error_log
> CustomLog logs/access_log combined
> </VirtualHost>
>
Hej igen!
Jo, apache kører meget på samme måde på win2000.

Jeg har givet følgende til conf.httpd:

<VirtualHost *>
ServerAdmin admin@me.mydomain.dk
DocumentRoot c:/www/me.mydomain.dk
ServerName me.mydomain.dk
ErrorLog logs/error_log
CustomLog logs/access_log combined
</VirtualHost>

Men desværre kan sitet overhovedet ikke findes: hverken www.mydomain.dk
eller subdomænet
http://me.mydomain.dk

Skal man i virtual host give det samme DocumentRoot som den defaulte
DocumentRoot apache kører under eller kan man give forskellige DocumentRoot?

Mvh/ Emil



Jesper Frank Nemholt (27-04-2002)
Kommentar
Fra : Jesper Frank Nemholt


Dato : 27-04-02 15:18

"net" <hanapo@get2net.dk> wrote in message
news:3ccaae52$0$78792$edfadb0f@dspool01.news.tele.dk...
>
> > Jeg har ingen anelse om hvordan Apache kører på Win2000, men formoder at
> den
> > opfører sig ligesom på unix, så her er et eksempel :
> >
> > <VirtualHost *>
> > ServerAdmin webmaster@dassic.com
> > DocumentRoot /data01/www/statdb.dassic.com
> > ServerName statdb.dassic.com
> > ErrorLog logs/error_log
> > CustomLog logs/access_log combined
> > </VirtualHost>
> >
> Hej igen!
> Jo, apache kører meget på samme måde på win2000.
>
> Jeg har givet følgende til conf.httpd:

Hedder den de i Windows ? (I unix hedder den httpd.conf)

> <VirtualHost *>
> ServerAdmin admin@me.mydomain.dk
> DocumentRoot c:/www/me.mydomain.dk
> ServerName me.mydomain.dk
> ErrorLog logs/error_log
> CustomLog logs/access_log combined
> </VirtualHost>
>
> Men desværre kan sitet overhovedet ikke findes: hverken www.mydomain.dk
> eller subdomænet
> http://me.mydomain.dk

Disse navne skal være oprettet i DNS så du kan lave nslookup på dem, ellers
virker det ikke.

....men det vigtigste er at fjerne # foran "NameVirtualHost *"

Apache skal muligvis genstartes før det virker.

Du kan givetvis se i access_log eller error_log hvad der går godt og hvad
der går galt.

> Skal man i virtual host give det samme DocumentRoot som den defaulte
> DocumentRoot apache kører under eller kan man give forskellige
DocumentRoot?

Det er ligegyldigt. Jeg bruger aldrig default root men har alle mine
virtuelle host placeret andetsteds.



emil (27-04-2002)
Kommentar
Fra : emil


Dato : 27-04-02 16:00


> > Jeg har givet følgende til conf.httpd:
> Hedder den de i Windows ? (I unix hedder den httpd.conf)

ups, jeg mente http.conf, det er også det samme navn her.


> Disse navne skal være oprettet i DNS så du kan lave nslookup på dem,
ellers
> virker det ikke.

Ok, det kender jeg ikke så meget til. Jeg har en DNS server på min maskine.
Er det her jeg skal give navnene? HVordan laver man en nslookup?

> Apache skal muligvis genstartes før det virker.

Jo, det skal det.

Hilsen-Emil





Jesper Frank Nemholt (27-04-2002)
Kommentar
Fra : Jesper Frank Nemholt


Dato : 27-04-02 16:18

"emil" <hanapo@get2net.dk> wrote in message news:aaeecl$gnk$1@sunsite.dk...
>
> > > Jeg har givet følgende til conf.httpd:
> > Hedder den de i Windows ? (I unix hedder den httpd.conf)
>
> ups, jeg mente http.conf, det er også det samme navn her.
>
>
> > Disse navne skal være oprettet i DNS så du kan lave nslookup på dem,
> ellers
> > virker det ikke.
>
> Ok, det kender jeg ikke så meget til. Jeg har en DNS server på min
maskine.
> Er det her jeg skal give navnene? HVordan laver man en nslookup?

Hvis det er WinNT, 2000 eller XP. I en DOS box :

nslookup skod.glab.net

Dette skal returnere en IP adresse. For dine subdomains skal den returnerede
IP være IP adressen på din web server.

For at det skal virke på internet skal disse subdomains derfor defineres i
den DNS der kører dit domain da det er den der bestemmer hvad andre folk får
når de spørger om IP adressen for et af dine subdomains.


/Jesper



emil (27-04-2002)
Kommentar
Fra : emil


Dato : 27-04-02 17:28


> Hvis det er WinNT, 2000 eller XP. I en DOS box :
> nslookup skod.glab.net
> Dette skal returnere en IP adresse. For dine subdomains skal den
returnerede
> IP være IP adressen på din web server.

ja, for subdomænet returneres ip adressen på min webserver.

> For at det skal virke på internet skal disse subdomains derfor defineres i
> den DNS der kører dit domain da det er den der bestemmer hvad andre folk
får
> når de spørger om IP adressen for et af dine subdomains.
>
Ok, jeg har så nu lige også oprettet disse subdomæner hos Den DNS der kører
mit domæne.
Der kan jeg lave en subdomæne, som referer til min webservers IP. Men jeg
kan ikke se hvordan
det så skulle finde ud af hvor min subdomæne på min computer ligger henne,
da alle *.mitdomæne.dk peger på min webservers IP.




emil (27-04-2002)
Kommentar
Fra : emil


Dato : 27-04-02 22:58

Jeg har nu prøvet det, og får en fejl side, der siger directory forbidden by
rool.



Jesper Frank Nemholt (28-04-2002)
Kommentar
Fra : Jesper Frank Nemholt


Dato : 28-04-02 01:32

"emil" <hanapo@get2net.dk> wrote in message news:aaepug$1lf$1@sunsite.dk...
>
> > Hvis det er WinNT, 2000 eller XP. I en DOS box :
> > nslookup skod.glab.net
> > Dette skal returnere en IP adresse. For dine subdomains skal den
> returnerede
> > IP være IP adressen på din web server.
>
> ja, for subdomænet returneres ip adressen på min webserver.
>
> > For at det skal virke på internet skal disse subdomains derfor defineres
i
> > den DNS der kører dit domain da det er den der bestemmer hvad andre folk
> får
> > når de spørger om IP adressen for et af dine subdomains.
> >
> Ok, jeg har så nu lige også oprettet disse subdomæner hos Den DNS der
kører
> mit domæne.
> Der kan jeg lave en subdomæne, som referer til min webservers IP. Men jeg
> kan ikke se hvordan
> det så skulle finde ud af hvor min subdomæne på min computer ligger henne,
> da alle *.mitdomæne.dk peger på min webservers IP.

Det er netop dette virtual servers er til. Apache kigger på hvilket DNS navn
brugeren har skrevet i sin browser og serverer så de sider der svarer til
dette DNS navn (som derfor skal være angivet som en virtual server), også
selvom alting er på den samme IP adresse. Derfor skal det med DNS være i
orden før Apache kan finde ud af det.

/Jesper



emil (28-04-2002)
Kommentar
Fra : emil


Dato : 28-04-02 14:43

> Det er netop dette virtual servers er til. Apache kigger på hvilket DNS
navn
> brugeren har skrevet i sin browser og serverer så de sider der svarer til
> dette DNS navn (som derfor skal være angivet som en virtual server), også
> selvom alting er på den samme IP adresse. Derfor skal det med DNS være i
> orden før Apache kan finde ud af det.
>

Der må være et eller andet der ikke helt stemmer her hos mig. Hvis jeg
skriver
www.sub.domain.dk går den til www.domain.dk/
Det er kun hvis jeg skriver http://sub.domain.dk/sub går den til den
rigtige sted ->
http://sub.domain.dk/sub så at skrive subdomain alene duer ikke.

Den vil iøvrigt ikke tage en root som:
DocumentRoot c:/www/me.mydomain.dk -> resultat: directory not found

Der skal i stedet skrives DocumentRoot c:/www/me

Jeg kan se at apache vil ikke acceptere to DocumentRoot. Hvad kan der være
galt?

Hilsen- Emil






Jesper Frank Nemholt (28-04-2002)
Kommentar
Fra : Jesper Frank Nemholt


Dato : 28-04-02 16:21

"emil" <hanapo@get2net.dk> wrote in message
news:3ccbfbe2$0$11898$edfadb0f@dspool01.news.tele.dk...
> > Det er netop dette virtual servers er til. Apache kigger på hvilket DNS
> navn
> > brugeren har skrevet i sin browser og serverer så de sider der svarer
til
> > dette DNS navn (som derfor skal være angivet som en virtual server),
også
> > selvom alting er på den samme IP adresse. Derfor skal det med DNS være i
> > orden før Apache kan finde ud af det.
> >
>
> Der må være et eller andet der ikke helt stemmer her hos mig. Hvis jeg
> skriver
> www.sub.domain.dk går den til www.domain.dk/
> Det er kun hvis jeg skriver http://sub.domain.dk/sub går den til den
> rigtige sted ->
> http://sub.domain.dk/sub så at skrive subdomain alene duer ikke.

>
> Den vil iøvrigt ikke tage en root som:
> DocumentRoot c:/www/me.mydomain.dk -> resultat: directory not found
>
> Der skal i stedet skrives DocumentRoot c:/www/me
>
> Jeg kan se at apache vil ikke acceptere to DocumentRoot. Hvad kan der være
> galt?

Jeg formoder at du blander dine referencer sammen i httpd.conf. Een ting er
hvad der står inden i en VirtualHost noget andet er hvad der står uden om.
Hvis du forsøger at sætte 2 DocumentRoot i den globale konfiguration går det
galt. Når du kører med VirtualHost skal alt relateret til den enkelte
virtuelle host defineres inden i dens scope a la disse 4 eksempler :

NameVirtualHost *

<VirtualHost *>
ServerAdmin webmaster@dassic.com
DocumentRoot /data01/www/www.dassic.com
ServerName www.dassic.com
ErrorLog logs/error_log
CustomLog logs/access_log combined
</VirtualHost>

<VirtualHost *>
ServerAdmin webmaster@dassic.com
DocumentRoot /data01/www/audio.dassic.com
ServerName audio.dassic.com
ErrorLog logs/error_log
CustomLog logs/access_log combined
</VirtualHost>

<VirtualHost *>
ServerAdmin webmaster@dassic.com
DocumentRoot /data01/www/video.dassic.com
ServerName video.dassic.com
ErrorLog logs/error_log
CustomLog logs/access_log combined
</VirtualHost>

<VirtualHost *>
ServerAdmin webmaster@dassic.com
DocumentRoot /data01/www/statdb.dassic.com
ServerName statdb.dassic.com
ErrorLog logs/error_log
CustomLog logs/access_log combined
</VirtualHost>


4 virtual hosts der kører på samme IP :

apache@picasso:/data01/www/statdb.dassic.com $ nslookup -sil www.dassic.com
Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
www.dassic.com canonical name = dassic.com.
Name: dassic.com
Address: 80.59.188.164

apache@picasso:/data01/www/statdb.dassic.com $ nslookup -sil
audio.dassic.com
Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
audio.dassic.com canonical name = dassic.com.
Name: dassic.com
Address: 80.59.188.164

apache@picasso:/data01/www/statdb.dassic.com $ nslookup -sil
video.dassic.com
Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
video.dassic.com canonical name = dassic.com.
Name: dassic.com
Address: 80.59.188.164

apache@picasso:/data01/www/statdb.dassic.com $ nslookup -sil
statdb.dassic.com
Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
statdb.dassic.com canonical name = dassic.com.
Name: dassic.com
Address: 80.59.188.164


Det du får når du skriver http://sub.domain.dk/sub er næppe den virtuelle
server, man snarere Apache der tager sin default root plus kataloget sub.


/Jesper



emil (28-04-2002)
Kommentar
Fra : emil


Dato : 28-04-02 19:33

Jeg havde en documentroot udenfor de scope som en global root, og så troede
jeg at jeg kunne lave lige så mange virtualhosts i enden af http.conf
Jeg slettede den der var udenfor og bragte det inde i de scope. Nu virker
det

Du skal have mange tak for hjælpen og tålmodigheden
Emil



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste