Pre fungovanie viacerych virtualnych domen na jednom apache2 servri su dolezite tieto veci:
- kazda domena musi mat unikanty ServerName a DokumentRoot musi smerovat do ineho root adresara.
- kazda domena musi mat dns zaznam, bez toho sa vzdy bude nacitavat iba jedna domena a to vzdy ta,
ktora je nakonfigurovana ako prva. To iste plati, ak sa k domene pristupuje cez ip adresu servra.
- ssl certifikat nema na to vplyv, moze sa pouzit na obe domeny, avsak pri generovani treba oba hosty uviest v certifikate. Alebo pre kazdy vytvorit samostatne certifikat.
Nizsie uvadzam priklad configov pre dve domeny bez ssl.
<VirtualHost *:80>
DocumentRoot "/www/example1"
ServerName www.example.com
# Other directives here ...
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/www/example2"
ServerName www.example.org
# Other directives here ...
</VirtualHost>
Co sa tyka toho, ci su domeny v jednom hoste alebo vo viacerych je tiez irelevatne. Apache server si ich nacita v oboch formach. Avak z pohladu administratora je lepsie mat pre kazdy virtualny server samostatne konfiguracny subor v SiteAvailable zlozke.
Cez prikaz
a2ensite/a2dissite virtual_serve_conf_subor
povolit alebo zakazat konkretny virtualny server.
Cez prikaz:
apachectl configtest
sa da otestovat spravnost kongiruacie.
Vystup z testu by mohol vypadat nejak takto:
root@server:# apachectl configtest
AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/conf-enabled/vhosts.conf:1
Syntax OK
Osobne odporucam spravit
a2dissite 000-default.conf
cim sa zakaze predvolena konfiguracia z distribucie po instalacii. A ostatnu povolene iba virtualne servre, ktore chceme pouzivat.