Flere domæner, én server..
Hej.. Er det muligt at pege til et bestemt document root alt efter hvilken domæne man har brugt ?
Hvis man fx. har 3 domæner der peger på samme ip/server.
linux1.dk
linux2.dk
linux3.dk
Hvis man bruger linux1.dk ender man i /var/www/linux1, linux2.dk ender i /var/www/linux2 osv osv.
Er dette muligt og hvordan ?
Hvis man fx. har 3 domæner der peger på samme ip/server.
linux1.dk
linux2.dk
linux3.dk
Hvis man bruger linux1.dk ender man i /var/www/linux1, linux2.dk ender i /var/www/linux2 osv osv.
Er dette muligt og hvordan ?
Kommentarer8
vhosts
Apache: vhosts/virtual
Ved nginx kan du skrive små config-blokke som kun bruges for en bestemt side, fx:
server {
#ip here
listen xxx.xxx.xxx.xxx:80;
##capture the subdomain part of the url, store in var $subdomain
server_name ~^(?.+)\.mydomainname\.com$;
#the base url to which we append the subdomain dir
set $doc_root /sites/mydomainname/public;
index index.php index.htm index.html;
if ($host = 'mydomainname.com' ) {
rewrite ^/(.*)$ http://www.mydomainname.com/$1 permanent;
}
So there you go ;)
Generelt vil jeg anbefale at kigge på Nginx, det er overraskende nemt at lave nogle ret komplicerede ting med og det performer bedre så vidt jeg kan se.
Jeg kører dog begge idet jeg offloader requests til python/django til Apache som fortsat er bedre på disse punkter (i hvert fald hvad man anbefaler for django) -- men for straight html+statiske filer samt PHP - så er Nginx bestemt et kig værd
Cherokee Web Server er også
Se mere her:
http://www.cherokee-project.com/
Jeg bruger apache.. Så tror
#0Det kan du og det er
Det kan du og det er nemmere end at stjæle slik fra børn der sover.
I din apache2.conf (eller hvilken konfigurationsfil der nu benyttes på dit system) sætter du følgende ind i bunden
NameVirtualHost *
Bemærk der er forskel på store og små bogstaver. Dette drillede mig rigtig meget første gang jeg selv satte det op fra bunden.
Der er mellemrum o g en stjerne efter NameVirtualHost
derefter skal du lave et direktiv for hvert af dine domæner et sted i samme fil eller via include f.eks.
Include /sti/til/mappe/med/tekstfiler/med/virrtualhost-records
vælger du include-løsningen laver du en tekstfil for hver host du vil have med nedenstående kode i.
husk at dine tekstfiler skal være læsbar af den bruger der kører din apacheserver
Include skal så bare pege på den mappe hvor disse tekstfiler ligger.
Du kan også bare placere direktiverne under NameVirtualhost-linjen hvilket måske er nemmere for dig
Direktivet skal se ud som følger, vi antager du ejer www.linux1.dk og at root for dette websted ligger i /home/linux1 men du retter jo selvfølgelig til med egne korrekte oplysninger
DocumentRoot "/home/linux1"
ServerName www.linux1.dk
DocumentRoot er stien til den mappe hvor din hjemmeside ligger og hvor du vil have den til at starte. I dette tilfælde skal din index.htm / index.php altså ligge i /home/linux1
ServerName er det du vil have din server skal reagere på som navn. Du skal selvfølgelig sætte din DNS til at reagere ligeledes på dette navn og vidresende besøgende til din server
Og det gør du så for hver af dine domæner du vil hoste. Husk blot på at der er forskel på www.linux1.dk og linux1.dk så du skal lave
en record til hver af dem, elelrs vil kun det ene virke. I øvrigt vil den første virtualhost-record virke som standard altså det der faldes tilbage på hvis der henvises til en virtualhost på din server og denne ikke findes så du bør have tjek på enten at dette ikke sker (dns-fejl-opsætning) eller at du som det første indsætter en virtualhost der peger til en fejlside. JEg anbefaler det første men de kan udmærket kombineres.
Hmm okay.. Det vil jeg kigge
Den er er faktisk rigtig
http://www.debian-administration.org/articles/412
Hmm.. det var faktisk ret
Mange tak.