Apache. Документация на русском


Разделы:   1    2    3    4    5    6    7    8    9      10      11    12    13    14    15    16  

Раздел 10. Модули Апача

Пункты:   85    86    88    89    90    91    92    93    94    95    96    97    98    99    100    101    102    103    104    105    106    107    108    109    110    111    112    113    114    115    116    117    118    119    120    121    122    123    124    125    126    127    128    129    130    131    132    133    134    135    136    137    138      139      140    141    142    143    144    145    146    147    148    149    150    151    152    153    154    155    156    157    158    159    160    161    163    164    165    166    167    168    170    171    172    173    174    175    176    177    178    179    180    181    182    183    184    185    186    187    188    189    190    191    192    193    194    195    196    197    198    199    200    201    203    204    205    206    207    208    209    210    211    212    213  

 <         > 
  RU            EN  

Пункт 139. Модуль Apache mod_example_hooks

Файлы в modules/examples каталоге дерева каталогов дистрибутива Apache предоставляются в качестве примера тем, кто хочет писать модули, использующие API Apache.

Основной файл — mod_example_hooks.c , который иллюстрирует все различные механизмы обратного вызова и синтаксис вызова. Ни в коем случае дополнительный модуль не должен включать подпрограммы для всех обратных вызовов — как раз наоборот!

Модуль-пример — это реально работающий модуль. Если вы свяжете его со своим сервером, включите обработчик «example-hooks-handler» для местоположения, а затем перейдите к этому местоположению, вы увидите отображение части трассировки, выполненной модулем-примером при выполнении различных обратных вызовов.

Компиляция модуля example_hooks

Чтобы включить модуль example_hooks на свой сервер, выполните следующие действия:

  1. Запуск configure с --enable-example-hooks опцией.
  2. Сделать сервер (запустить " make ").

Чтобы добавить еще один собственный модуль:

  1. cp modules/examples/mod_example_hooks.c modules/new_module/mod_myexample.c
  2. Измените файл.
  3. Создать modules/new_module/config.m4 .
    1. Добавить APACHE_MODPATH_INIT(new_module) .
    2. Скопируйте строку APACHE_MODULE с «example_hooks» из modules/examples/config.m4 .
    3. Замените первый аргумент «example_hooks» на myexample .
    4. Замените второй аргумент кратким описанием вашего модуля. Он будет использоваться в configure --help .
    5. Если вашему модулю нужны дополнительные флаги компилятора C, флаги компоновщика или библиотеки, добавьте их в CFLAGS, LDFLAGS и LIBS соответственно. config.m4 Примеры смотрите в других файлах в каталоге модулей.
    6. Добавить APACHE_MODPATH_FINISH .
  4. Создать module/new_module/Makefile.in . Если вашему модулю не нужны специальные инструкции по сборке, все, что вам нужно в этом файле, это include $(top_srcdir)/build/special.mk .
  5. Запустите ./buildconf из каталога верхнего уровня.
  6. Создайте сервер с --enable-myexample

Использование mod_example_hooks модуля

Чтобы активировать модуль example_hooks, включите в свой файл блок, подобный следующему apache2.conf :

 <Расположение "/example-hooks-info">
 SetHandler пример обработчика хуков
</местоположение> 

В качестве альтернативы вы можете поместить в файл следующее .htaccess , а затем запросить файл «test.example» из этого места:

 AddHandler пример-хуков-обработчик ".example" 

После перезагрузки/перезапуска сервера вы сможете перейти к этому местоположению и увидеть краткий экран, упомянутый ранее.

Пример директивы

Описание:Демонстрационная директива для иллюстрации API модуля Apache
Синтаксис: Example
Контекст:конфигурация сервера, виртуальный хост, каталог, .htaccess
Положение дел:Экспериментальный
Модуль:mod_example_hooks

Директива Example просто устанавливает демонстрационный флаг, который отображает обработчик содержимого модуля примера. Не требует аргументов. Если вы перейдете по URL-адресу, к которому применяется обработчик содержимого example-hooks, вы увидите подпрограммы в модуле, а также то, как и в каком порядке они вызывались для обслуживания запроса документа. Действие этой директивы можно наблюдать под пунктом " Example directive declared here: YES/NO ".



 <         > 

Пункты:   85    86    88    89    90    91    92    93    94    95    96    97    98    99    100    101    102    103    104    105    106    107    108    109    110    111    112    113    114    115    116    117    118    119    120    121    122    123    124    125    126    127    128    129    130    131    132    133    134    135    136    137    138      139      140    141    142    143    144    145    146    147    148    149    150    151    152    153    154    155    156    157    158    159    160    161    163    164    165    166    167    168    170    171    172    173    174    175    176    177    178    179    180    181    182    183    184    185    186    187    188    189    190    191    192    193    194    195    196    197    198    199    200    201    203    204    205    206    207    208    209    210    211    212    213  

Рейтинг@Mail.ru