← Back to team overview

sslug-teknik team mailing list archive

Re: Debian, Apache 2 og Virtual hosts

 

> Lige nu kan jeg tilgå b.dk fra min windowsmaskine ved at skrive 
> eksempel2.dk i min firefox.
> Hvis jeg laver et link til a.dk i sites-enabled, får jeg siderne til 
> a.dk, hvis jeg i min firefox uanset om jeg skriver a.dk eller b.dk
> 

Det hurtige spørgsmål må da så være om du rent faktisk benytter dig af
virtuelle hosts... Jeg tror der skal ses lidt nærmere på
konfigurationerne.


Jeg vil basere mine eksempler på min egen maskine. Den ved jeg fungerer
efter hensigten (håber jeg).


1. Apache skal have at vide hvilke porte den skal lytte på. I Debian for
apache2 er dette i /etc/apache2/ports.conf (i det mindste hos mig).
Indholdet kan her f.eks. være:

Listen 80
Listen 443


2. Apache skal have at vide hvilke interfaces der skal have named
virtualhosts. Dette har jeg som regel liggende i min 000-default
definition. Jeg har f.eks. følgende linjer:

NameVirtualHost 192.168.228.10:80
NameVirtualHost 192.168.228.10:443
NameVirtualHost 62.242.18.202:80
NameVirtualHost 62.242.18.202:443


3. De virtuelle hosts skal defineres. Dette gøres med VirtualHost
direktivet og tilhørende definition af ServerName, ServerAlias,
DocumentRoot o.s.v.

<VirtualHost 192.168.228.10:80 62.242.18.202:80>
	ServerAdmin www@xxxxxxxxx
	ServerName 5xx.hoejte.dk
	DocumentRoot /home/www/5xx/html
	<Directory />
		AllowOverride None
	</Directory>
</VirtualHost>

Ovenstående er min default site, som man kommer til hvis man beder om
noget jeg ikke har på min maskine...

I den næste definitionsfil (001-main) kan man så f.eks. have:

<VirtualHost 62.242.18.202:80 192.168.228.10:80>
        ServerAdmin www@xxxxxxxxx
        ServerName hoejte.dk
        ServerAlias www.hoejte.dk abode.dk www.abode.dk
        DocumentRoot /home/www/main/html
        <Directory />
                AllowOverride None
        </Directory>
</VirtualHost>

Nu har jeg en del flere definitioner end det, men ovenstående er basalt
set hvordan jeg har sat systemet op. Der er lidt flere kataloger end
bare root på hver virtuelle server, men det har jeg undladt at tage med
her. 

Det der er rimelig vigtigt her, er at IP/Port definitionerne efter
VirtualHost direktivet er de samme som i NameVirtualHost. ServerName
skal helst heller ikke kollidere. Det jeg mener med det, er at flere
definitioner naturligvis ikke må have samme ServerName/ServerAlias
definitioner.

Hvis du er i tvivl om hvilken rækkefølge der læses ind i, kan du altid
vælge at slå alle konfigurationerne sammen i een stor fil igen. Det vil
naturligvis ødelægge lidt at det dynamiske i opsætningen, men hvor ofte
er det lige man står og vil tilføje/fjerne sites på sin webserver...

Med venlig hilsen
Bjørn Bille Højte



Follow ups

References