Глава 5. WEB-интерфейс.

Содержание

Приложение управления сервером.
Опции командной строки.
Пример использования с модулем HTTP сервера Manjary.
Запуск fcgimm на отдельном сервере.
Пользовательский интерфейс.
Вход. Сервер, имя пользователя, пароль.
Профиль пользователя.
Домены, пользователи.
Проверка на спам.
Адресная книга.

Приложение управления сервером.

Пользовательский интерфейс управления сервером реализуется FastCGI программой fcgimm, которая взаимодействует с веб-сервером с одной стороны и протоколом управления сервера Manjary (MMP) с другой. В простом случае, fcgimm вызывается модулем HTTP и управляет тем же сервером Manjary.

В примере конфигурации ./examples/manjary-http.xml есть готовые настройки для доступа по адресу http://localhost:81/management/.

Опции командной строки.

fcgimm {-b { [ IP address | hostname | * | all | any ] {:port} | socket }} [-l logfile] [-L {[screen= yes | no ] | [,level=N] | [,history=N] | [,size=N]}] [-p path] [-r N]

-b

Адрес локального сетевого интерфейса (опционально) и порт TCP (отделённый от имени двоеточием) на котором будут прослушиваться запросы WEB-сервера. Интерфейс может задаваться адресом IP или именем. Чтобы использовались любые локальные адреса, вместо адреса можно указать одно из значений: *, all, any. Так же может быть указано имя локального сокета без двоеточия и номера порта. Допускается указание множества опций -b.

-l

Полное имя лог-файла. По-умолчанию лог-файл не создаётся. Однако, записи всегда отравляются на веб-сервер для помещения в журнал веб-сервера.

-L

Опции журналирования:

screen

Указывает, нужно ли выводить записи на экран, может принимать значения: yes, on, true, 1 - выводить на экран или no, off, false, 0 - не выводить. По-умолчанию: yes.

level

Уровень детализации лог-файла. От 1 (наименьший) до 5 (самый подробный). По-умолчанию: 5.

history

Количество лог-файлов в ротации. Когда нужно начать новый файл, текущий переименовывается в file-000, перед этим старый file-000 переименовывается в file-001 и т.д., самый старый файл удаляется. По-умолчанию: 4.

Ротация может производиться в любой момент времени, для этого необходимо послать сигнал SIGALRM процессу fcgimm.

size

Максимальный размер лог-файла. Когда достигается это значение выполняется ротация лог-файлов. Если size установлено в 0, ротация будет происходить каждый раз при переходе на новые сутки. По-умолчанию: 512Kb.

-p

Локальный путь к директории содержащий файлы использующиеся программой: таблицы стилей, список серверов и пр. По-умолчанию: fcgimm

-r

Минимальный период времени через который будут перезагружаться таблицы стилей для генерации веб-страниц. В аргументе после числового значения может идти один из символов указывающих на размерность: s - секунды (по-умолчанию), m - минуты, h - часы, d - дни. При отладке изменений стилей имеет смысл указать 0 для загрузки стилей при каждой генерации веб-страниц. По-умолчанию: 15m.

Пример использования с модулем HTTP сервера Manjary.

Здесь fcgimm будет прослушивать локальный сокет \socket\fcgimm для запросов FastCGI из модуля HTTP Manjary на том же сервере:

>fcgimm -b \socket\fcgimm -l fcgimm.log -Llevel=4,size=1Mb

Для работы с fcgimm в конфигурации модуля HTTP необходимо указать как к нему обращаться и (опционально) что запускать:

<fastcgi name="fcgi-mm">
  <server>\socket\fcgimm</server>
  <start>./fcgimm -b \socket\fcgimm</start>
</fastcgi>
  

Далее, в конфигурации виртуального хоста для директории management указать обращение к соответствующему приложению FastCGI при запросе файлов соответствующих маске "*.mm". Эта директория должна существовать, её содержимое не имеет значения.

<redirect type="temporary" full-path="1" uri-path="/management/">/management/logon.mm</redirect>
<directory path="*/management">
  <file must-exist="0">
    <match>*.mm</match>
    <handler>$fcgi-mm</handler>
  </file>
</directory>  

Таким образом, пользователь запрашивая из браузера ресурс http://хост:порт/management/ будет перенаправлен на адрес http://хост:порт/management/logon.mm (сработает директива redirect в первой строке примера) и получит доступ к интерфейсу управления.

Запуск fcgimm на отдельном сервере.

Чтобы использовать fcgimm на отдельном сервере и управлять одним или несколькими серверами Manjary необходимо скопировать на целевую систему исполняемый файл fcgimm.exe и директорию fcgimm. По-умолчанию предполагается что директория fcgimm находится в текущем пути. Это может быть изменено ключом командной строки -p. Обязательно необходимо указать адрес и порт на котором будут приниматься запросы FastCGI от WEB-сервера. Для этого используется ключ командной строки -b. Например: -b *:9001.

Далее, следует перечислить серверы Manjary которые будут управляться. Список серверов читается из файла servers.txt находящегося в директории fcgimm (либо заданной ключом -p). Перечисленные в этом файле серверы должны быть соответствующим образом настроены для обработки запросов протокола управления.

Примечание

Сетевой протокол FastCGI использующийся для передачи данных между приложением и WEB-сервером не предусматривает шифрования. Однако, в большинстве случаев приложение и WEB-сервер работают в одной системе. Протокол управления Manjary может использовать шифрование. Приложение fcgimm будет использовать шифрование если управляемый сервер Manjary находится не на локальном хосте и на на нём установлен сертификат и приватный ключ.