Avatar billede gustav-olsen Nybegynder
15. september 2003 - 16:23 Der er 7 kommentarer og
1 løsning

Mass Virtual Host

Hej.

En af mine venner har en server som hoster mine sites (og hans egne selvfølgelig). En Linux Debian 3 (woody) med Apache 1.3 og PHP/MySQL understøttelse. Får at gøre det lettere at oprette subdomæner har vi tænkt os at sætte Mass Virtual Host op. Hvis der er nogen der ikke ved hvad det er så gør det sådan at hvis jeg fx. går ind på www.exp.dk leder Apache i dens document root, fx. /var/www/, efter mappen exp.dk og under mappen www. Altså /var/www/exp.dk/www. istedet for at gå ind på www.exp.dk så kunne jeg gå ind på lala.exp.dk og så ville den lede i /var/www/exp.dk/lala.

Jeg gik ind på apache.org og fandt den her side: http://httpd.apache.org/docs/vhosts/mass.html ... Jeg gjorde som der stod men det virkede ikke. Det eneste eksempel der virkede var dette:

# get the server name from the Host: header
UseCanonicalName Off

# this log format can be split per-virtual-host based on the first field
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon

# include the server name in the filenames used to satisfy requests
VirtualDocumentRoot /var/www/%0/
VirtualScriptAlias  /var/www/%0/cgi-bin

Jeg har redigeret lidt i den så den passer til min vens system. Men så da jeg testede det fandt jeg ud af at man skulle gå ind på www.gustav-olsen.dk/gustav-olsen.dk/www/index.php fx istedet for www.gustav-olsen.dk/index.php ... Og det er langt fra holdbart.

Er der nogen der har nogen ideer til hvad jeg kan have gjort galt? Eller er der andre mere brugbarre måder at gøre det nemmere at oprette subdomæner?

mvh Gustav Olsen
Avatar billede zeled Nybegynder
15. september 2003 - 16:36 #1
Du skal kigge lidt mere i dokumentationen vedr. mass virtual hosting, der står hvordan man gør det med Apache 1.3

Men her er hvad jeg har gjort med min apache 2.x

VirtualDocumentRoot /www/%2+/%1

Så hvis jeg skriver www.abekatten.dk
Så vil directory /www/abekatten.dk/www være der min filer skal placeres.

Måske virker det på apache 1.3... måske ikke... men prøv den da.
Avatar billede gustav-olsen Nybegynder
15. september 2003 - 16:39 #2
Er det den eneste sætning du har sat ind?
Avatar billede gustav-olsen Nybegynder
15. september 2003 - 16:50 #3
Nu bruger jeg den her:

RewriteEngine on

RewriteMap  lowercase  int:tolower

# allow CGIs to work
RewriteCond  %{REQUEST_URI}  !^/cgi-bin/

# check the hostname is right so that the RewriteRule works
RewriteCond  ${lowercase:%{SERVER_NAME}}  ^www\.[a-z-]+\.dk$

# concatenate the virtual host name onto the start of the URI
# the [C] means do the next rewrite on the result of this one
RewriteRule  ^(.+)  ${lowercase:%{SERVER_NAME}}$1  [C]

# now create the real file name
RewriteRule  ^www\.([a-z-]+)\.dk/(.*) /var/www/$1/$2

# define the global CGI directory
ScriptAlias  /cgi-bin/  /var/www/std-cgi/

http://www.gustav-olsen.dk/gustav-olsen.dk/www/index.php - samme resultat :|
Avatar billede zeled Nybegynder
15. september 2003 - 17:01 #4
Nu har jeg aldrig brugt rewrite

Men det eneste jeg har ændret er som jeg skrev tidligere, og sat canonical name til off.

Men jeg bruger apache 2.x og der er det meget nemmere.... IMHO

Jeg har fjernet samtlige <virtualhost> i min httpd.conf

eksempler:

www.deum.dk
www.zd-webhost.dk
www.chatweb.dk

Disse 3 sites kører på samme server, med samme IP og med VirtualDocumentRoot /www/%2+/%1
(jeg har også nogle subs til zd-webhost.dk, men af hensyn til mine kunder vil jeg ikke nævne dem her)

Jeg bruger fælles cgi-bin, så den har jeg ikke lavet om på.
Avatar billede gustav-olsen Nybegynder
15. september 2003 - 17:04 #5
ok
Avatar billede gustav-olsen Nybegynder
15. september 2003 - 17:08 #6
tusind tak zeled.. Læg lige et svar :)
Avatar billede zeled Nybegynder
15. september 2003 - 21:44 #7
Glad for at have hjulpet dig :D
Avatar billede gustav-olsen Nybegynder
16. september 2003 - 18:16 #8
Det er en del nemmere :)..

Det fylder også en del mindre :)
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