Шаблоны файлов конфигурации (ISPmanager)

Материал из ISPWiki

Перейти к: навигация, поиск

Может возникнуть ситуация, когда тех данных, которые добавляет панель управления для того или иного объекта (WWW домен, доменное имя и т.п.), в соответствующий файл конфигурации, недостаточно. Например, вы хотите, чтобы при создании нового WWW домена в файл конфигурации httpd.conf автоматически добавлялась одна или несколько строк. В этом случае вам следует воспользоваться шаблонами для файлов конфигурации. Для создания шаблона файла конфигурации создайте файл с одним из имён, приведённых ниже, в поддиректории etc в директории панели управления, и внесите в него все те строки, которые должны автоматически добавляться в соответствующие файлы конфигурации. На текущий момент панель управления поддерживает следующие шаблоны:

  • directory.templ - при создании нового WWW домена строки из файла шаблона будут автоматически подставляться в соответствующий раздел Directory файла конфигурации httpd.conf.
  • domain.templ - при создании новой доменной зоны строки из файла шаблона будут автоматически подставляться в соответствующий раздел zone файла конфигурации named.conf.
  • domainzone.templ - при создании новой доменной зоны файл зоны будет строиться на основе этого шаблона. Серверы имён, почтовые серверы и дополнительные доменные записи будут добавлены в этот файл автоматически. В шаблоне же вы можете указать собственные параметры SOA, дополнительные SPF записи и т.п.
  • virtualhost.templ - при создании нового WWW домена строки из файла шаблона будут автоматически подставляться в соответствующий раздел VirtualHost файла конфигурации httpd.conf.
  • server.templ - при создании нового WWW домена содержимое записи server будет автоматически загружаться из файла шаблона. Если в шаблоне определен location, совпадающий с location, создаваемый ISPmanager, то дублирования location не будет, и строки будут добавлены в соответствующую секцию.

Будьте внимательны! Строки из шаблонов для файлов конфигурации добавляются к строкам, создаваемым панелью управления, а не заменяют их.

Содержание

Макросы

Вы можете использовать макросы - строки определённого вида, которые при обработке будут заменены на соответствующие значения.

domainzone.templ

  • __ip__ или __IP__ - IPv4-адрес, указанный при создании домена.
  • __name__ или __NAME__ - Имя домена.
  • SOA-запись:
    • __mname__ - Сервер имен, который является основным источником данных для данной зоны.
    • __rname__ - Контактный адрес лица, ответственного за данную зону.
    • __serial__ - Серийный номер файла зоны. 32-разрядное целое число, меняющееся при каждом обновлении зоны.
    • __refresh__ - Время (в секундах) ожидания вторичного DNS перед запросом SOA-записи с первичного. По истечении данного времени, вторичный DNS обращается к первичному, для получения копии текущей SOA-записи. Первичный DNS-сервер выполняет этот запрос. Вторичный DNS-сервер сравнивает полученный серийный номер зоны с имеющимся. Если они отличаются, то осуществляется запрос к первичному DNS-серверу на трансфер зоны.
    • __retry__ - Время в секундах, вступает в действие тогда, когда первичный DNS-сервер недоступен. Интервал времени, по истечении которого вторичный DNS должен повторить попытку синхронизировать описание зоны с первичным.
    • __expire__ - Время (в секундах), в течение которого вторичный DNS будет пытаться завершить синхронизацию зоны с первичным. Если это время истечет до того, как синхронизация осуществится, зона на вторичном DNS-сервере истечет, и он перестанет обслуживать запросы об этой зоне.
    • __minimum__ - Минимальное время жизни, применяемое ко всем ресурсным записям зоны. Это значение применяется в ответах на запросы с целью проинформировать остальные серверы, сколько времени они могут хранить данные в кэше.
    • __nsN__ - Сервер имен, где N - это число от 0 до <количество серверов имен> - 1.

virtualhost.templ

  • __bind__ - адрес:порт создаваемого WWW домена. При использовании улучшенного модуля работы с WWW доменами (Web web) данный параметр заменяют __bind4__ и __bind6__ для IPv4- и IPv6-адресов, соответственно.
  • __DocumentRoot__ - корневая директория WWW домена. Данный параметр позволяет более гибко настраивать конфиги анализаторов логов.
  • __ServerName__ - имя WWW домена.
  • __ServerAlias__ - псевдонимы WWW домена
  • __ServerAdmin__ - email администратора
  • __DirectoryIndex__ - список индексных файлов
  • __SuexecUserGroup__ - имя пользоватея и группа для apache 2
  • __Group__ - группа пользователя для apache 1
  • __User__ - имя пользователя для apache 1
  • __CustomLog__ - путь до access.log
  • __ErrorLog__ - путь до error.log

server.templ

  • __server_name__ - имя WWW-домена.

Пример

Пример для directory.templ

Мы хотим, чтобы при создании WWW домена в соответствующий раздел Directory файла httpd.conf автоматически добавлялась строка

Deny from all

Для этого добавим эту строку в файл /usr/local/ispmgr/etc/directory.templ

echo "Deny from all" > /usr/local/ispmgr/etc/directory.templ

Если вы использовали макрос __DocumentRoot__, но при этом хотите, чтобы запись DocumentRoot __DocumentRoot__ тоже создалась, то ее надо также добавить в шаблон, потому что поля, использованные в макросе, не добавляются в файл конфигурации как самостоятельные записи. Исключение __ServerName__

Пример для domainzone.templ

Мы хотим изменить шаблон SOA записи так чтобы в качестве первичного сервера имен (master) подставлялось ns1.myserver.com.

Для этого создаем файл /usr/local/ispmgr/etc/domainzone.templ со следующим содержимым:

__NAME__. IN SOA ns1.myserver.com. hostmaster.myserver.com. (__serial__ 10800 3600 604800 86400)
Была ли эта информация полезной? Да | Нет
Личные инструменты