Ivan Asmer 8 роки тому
батько
коміт
9814865686
1 змінених файлів з 31 додано та 0 видалено
  1. 31 0
      apache.md

+ 31 - 0
apache.md

@@ -57,10 +57,41 @@ LoadModule php5_module modules/mod_php.so
     DirectoryIndex index.php index.phtml
 ```
 
+### Virtual mass hosting
 
+Обычно в дистрибутивах linux с apache домены настраиваются путем копипасты конфига домена в папке на подобие /etc/apache2/sites.d/. Возможна так же папка /etc/apache2/sites.enabled.d/ в которой хранятся симлинки на включенные сайты. Сайты из sites.d без симлинка в этой папке
+выключены. Enabled сайты подключаются в основной конфиг apache через директиву Include (в конце файла).
 
+Однако есть **альтернатива**: **Virtual mass hosting**.
 
+Этот способ отличается упрощенным созданием и удалением доменов. Работает он благодаря следующим возможностям **DNS** и **apache2**:
 
+- В DNS конфигурации прописывается звездочка для поддомена: *.dev.galera.com ссылается на IP-адрес вашего сервера с apache2. Таким образом *любой* поддомен типа superproject.dev.galera.com будет адресован на один сервер.
+- На этом сервере имя поддомена превращается в имя папки, из которой беруться файлы сайта.
+
+```
+# get the server name from the Host: header
+UseCanonicalName Off
+
+# this log format can be split per-virtual-host based on the first field
+# using the split-logfile utility.
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+# include the server name in the filenames used to satisfy requests
+VirtualDocumentRoot "/www/hosts/%0/docs"
+VirtualScriptAlias  "/www/hosts/%0/cgi-bin"
+```
+
+Вместо $0 подставляется имя сервера из HTTP-заголовка. Таким образом создание нового поддомена для проекта сводится к созданию директории с именем домена.
+
+Есть так же другие переменные, %1, %2 и так далее:
+- %1 - первый поддомен ("www" в "www.google.com", "superproject" в "superproject.dev.galera.com")
+- %2 - второй поддомен ("google" в "www.google.com", "dev" в "superproject.dev.galera.com")
+
+Таким образом вы можете использовать более удобные имена директорий.
+
+Подробнее: https://httpd.apache.org/docs/2.4/vhosts/mass.html
 
 ### `.htaccess`