Няколко домейна с един IP адрес

From Ilianko

По подразбиране

Управлението на няколко имена на домейни разположени на един web сървър се активира с директивата: NameVirtualHost

При инсталация на Apache2 в Ubuntu опцията е добавена по подразбиране и се намира в

/ect/apache2/ports.conf

NameVirtualHost *:80
...

Добавяне на виртуални хостове

Ако няколко имена на домейни сочат към един и същ IP адрес и всяко име зарежда различен сайт, всеки сайт е настроен на виртуален хост.

Добавянето на нов виртуален хост

След добавяне на един виртуален хост, главната (root) директорията на web сървъра (www) се деактивира.

Първият описан виртуален хост се отваря по подразбиране.

За да добавите виртуален хост, в конфигурацията на Apache добавете. Може да създадете нов текстов файл в директория /etc/apache2/sites-enabled/ със следното съдържание:

<VirtualHost *:80>
   ServerName www.domain.tld
   DocumentRoot /var/www/domain
</VirtualHost>

Тогава директорията /var/www/domain ще е роот директорията за домейна www.domain.tld

Няколко имена към една директория

<VirtualHost *:80>
  ServerName www.domain.tld
  ServerAlias domain.tld *.domain.tld
  DocumentRoot /www/domain
</VirtualHost>

Още

Ако искате да има виртуални хостове и на другите портове, те също трябва да се обяват.

NameVirtualHost *:port
...

и съответно примерно, ако има https на порт 443.

<VirtualHost *:443>
  ServerName www.domain.tld
  ServerAlias domain.tld *.domain.tld
  DocumentRoot /www/domain
</VirtualHost>