Difference between revisions of "Няколко домейна с един IP адрес"

From Ilianko
Line 14: Line 14:
  
 
Ако няколко имена на домейни сочат към един и същ IP адрес и всяко име зарежда различен сайт, всеки сайт работи като виртуален хост.
 
Ако няколко имена на домейни сочат към един и същ IP адрес и всяко име зарежда различен сайт, всеки сайт работи като виртуален хост.
 
След добавяне на един нов виртуален хост, главната (root) директорията на web сървъра (/var/www) се деактивира.
 
  
 
''' ''Първият описан  виртуален хост се отваря по подразбиране.''' Това е в случаите, ако се достърпва директно IP адреса на web сървъра или се поиска неконфигуриран домейн''
 
''' ''Първият описан  виртуален хост се отваря по подразбиране.''' Това е в случаите, ако се достърпва директно IP адреса на web сървъра или се поиска неконфигуриран домейн''

Revision as of 18:06, 2 March 2012

Виртуален Хост

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

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

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

/ect/apache2/ports.conf

NameVirtualHost *:80
...

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

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

Първият описан виртуален хост се отваря по подразбиране. Това е в случаите, ако се достърпва директно IP адреса на web сървъра или се поиска неконфигуриран домейн

За да добавите виртуален хост, в конфигурацията на 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>