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

From Ilianko
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
== По подразбиране ==
+
==Виртуален Хост==
 +
 
 +
Ако няколко имена на домейни сочат към един и същ IP адрес и всяко име зарежда различен сайт, всеки сайт работи като виртуален хост.
 +
 
 
Управлението на няколко имена на домейни разположени на един web сървър се активира с директивата: <code> [http://httpd.apache.org/docs/current/mod/core.html#namevirtualhost NameVirtualHost] </code>
 
Управлението на няколко имена на домейни разположени на един web сървър се активира с директивата: <code> [http://httpd.apache.org/docs/current/mod/core.html#namevirtualhost NameVirtualHost] </code>
  
Line 8: Line 11:
 
  ...
 
  ...
  
'''Опцията не е активна, докато не се опише поне един виртуалните хост в конфигурацията на Apache'''
+
Съществува един виртуален хост конфигуриран в:
 +
/etc/apache2/site-enabled/000-default
  
 
== Добавяне на виртуални хостове ==
 
== Добавяне на виртуални хостове ==
  
Ако няколко имена на домейни сочат към един и същ IP адрес и всяко име зарежда различен сайт, всеки сайт е настроен на виртуален хост.
+
Ако няколко имена на домейни сочат към един и същ IP адрес и всяко име зарежда различен сайт, всеки сайт работи като виртуален хост.
 
 
Добавянето на нов виртуален хост
 
 
 
След добавяне на един виртуален хост, главната (root) директорията на web сървъра (www) се деактивира.
 
  
Първият описан  виртуален хост се отваря по подразбиране.
+
''' ''Първият описан  виртуален хост се отваря по подразбиране.''' Това е в случаите, ако се достърпва директно IP адреса на web сървъра или се поиска неконфигуриран домейн''
  
За да добавите виртуален хост, в [[Инсталиране на Apache, Linux/Ubuntu#конфигурация|конфигурацията на Apache]] добавете.
+
За да добавите виртуален хост, може да създадете нов текстов файл в директория /etc/apache2/sites-enabled/ със следното съдържание:
Може да създадете нов текстов файл в директория /etc/apache2/sites-enabled/ със следното съдържание:
 
  
 
  <VirtualHost *:80>
 
  <VirtualHost *:80>
Line 31: Line 30:
  
 
=== Няколко имена към една директория ===
 
=== Няколко имена към една директория ===
 +
 
  <VirtualHost *:80>
 
  <VirtualHost *:80>
 
   ServerName www.domain.tld
 
   ServerName www.domain.tld
Line 36: Line 36:
 
   DocumentRoot /www/domain
 
   DocumentRoot /www/domain
 
  </VirtualHost>
 
  </VirtualHost>
 +
 +
== Още ==
 +
Ако искате да има виртуални хостове и на другите портове, те също трябва да се обяват.
 +
NameVirtualHost *:port
 +
...
 +
 +
и съответно примерно, ако има https на порт 443.
 +
 +
<VirtualHost *:443>
 +
  ServerName www.domain.tld
 +
  '''ServerAlias domain.tld *.domain.tld'''
 +
  DocumentRoot /www/domain
 +
</VirtualHost>
 +
 +
  
 
[[Category:Apache]]
 
[[Category:Apache]]

Latest revision as of 19:05, 2 March 2012

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

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

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

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

/ect/apache2/ports.conf

NameVirtualHost *:80
...

Съществува един виртуален хост конфигуриран в:

/etc/apache2/site-enabled/000-default

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

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

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

За да добавите виртуален хост, може да създадете нов текстов файл в директория /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>