Что есть модули Apache2 под Microsoft Windows
Сегодня хочу предложить вам статью читателя сайта ApacheDev.ru, в которой изложен его личный опыт в исследовании структуры модуля Apache 2. Статья будет интересна в первую очередь новичкам в области разработки модулей, так как в ней подробно рассмотрен процесс создания модуля Apache для ОС Windows с помощью Microsoft Visual C++ .NET. Приятного чтения.
(далее…)
Опубликовано в: Разработка модулей Март 24, 2007
APXS - инструмент для сборки модулей Apache
apxs - это утилита для сборки и установки модулей для HTTP сервера Apache. Apxs создает динамически-загружаемые объекты (DSO) из одного или нескольких файлов исходного кода или объектных файлов, которые затем могут загружаться в сервер Apache с помощью директивы LoadModule модуля mod_so.
(далее…)
Опубликовано в: Разработка модулей Август 23, 2006
Проблемы при создании модуля для Apache 2

Проблема 1: Освобождение ресурсов в момент выгрузки модуля

Можно указать сравнительно большое число прикладных задач, при решении которых разработчик модулей сервера Apache так или иначе сталкивается с необходимостью выделения ресурсов системы и их использования на протяжении всего цикла работы модуля (примером такой задачи вполне может стать необходимость установить соединение с СУБД). В общем случае, при реализации, разработчику может потребоваться способ, позволяющий:
  1. Провести выделение ресурсов и инициализацию данных в момент загрузки модуля;
  2. Иметь возможность получать доступ к данным из процедур и функций модуля;
  3. Корректно провести освобождение ресурсов в момент выгрузки модуля.
(далее…)
Опубликовано в: Разработка модулей Март 13, 2006
Взаимодействие модулей Apache с файлами конфигурации (httpd.conf и .htaccess)
Большинство модулей от администраторов и пользователей требуют некоторой настройки. Системные администраторы конфигурируют Apache, используя httpd.conf, а пользователи (авторы) используют файлы .htaccess. Модулями можно управлять с помощью директив конфигурации, которые также задаются в этих файлах.
В этой статье мы покажем, как в модуле использовать директивы конфигурации, а также как работать с директивами других модулей.
(далее…)
Опубликовано в: Разработка модулей Февраль 12, 2006
Основы управления ресурсами в Apache: APR Пулы (pools)
APR пулы (pools) - это основные строительные блоки в APR и Apache, а также основа для всего управления ресурсами. Они служат для выделения памяти, либо напрямую (на malloc- подобный манер), либо косвенно (как, например, в операциях со строками), и гарантируют полное освобождение памяти после использования. Также они используются для выделения памяти для таких ресурсов как, например, файлы или сокеты. Кроме того, пулы APR могут работать с ресурсами, управляемыми сторонними библиотеками.
В этой статье мы расскажем о APR пулах и опишем их возможности по предоставлению гарантии того, что все Ваши динамические ресурсы будут полностью управляемы, и будут иметь ровно то время жизни, в котором нуждаются.
(далее…)
Опубликовано в: Разработка модулей Февраль 4, 2006
Модули Apache 2.0
В предыдущих статьях я рассказал о некоторых новых возможностях Apache 2.0 и о том, как Вы можете реализовать их в своих серверах. В этот раз я расскажу об одной мало обсуждаемой особенности Apache 2.0.
Одним из самых больших достоинств сервера Apache над другими HTTP серверами является то, с какой легкостью для него пишутся мощные модули. Apache, начиная с версии 1.0, использует модули для реализации всех своих функций, кроме отправки статических документов. Так как функциональность Apache полностью реализована в модулях, следовательно, модули имеют доступ к любому этапу обработки запроса. Однако, несмотря на все достоинства модулей, у них есть один большой недостаток.
(далее…)
Опубликовано в: Разработка модулей
Написание входных фильтров Apache 2.0
В предыдущих двух статьях мы обсуждали написание выходных фильтров для Apache 2.0. В этой статье мы рассмотрим входные фильтры. Эти два типа фильтров очень похожи и многие концепции, которые мы уже рассмотрели для выходных фильтров, верны также и для входных фильтров. Тем не менее, существует достаточное количество отличий входных фильтров от выходных, вот им мы и посвятим эту статью.
Первое отличие между входными и выходными фильтрами заключается в том, что существуют только два типа входных фильтров: те, которые фильтруют запрос полностью, и те, которые фильтруют только тело запроса. То есть разработчик в первом случае может фильтровать как заголовки, так и тело запроса, а во втором случае может фильтровать только тело запроса. Пример, который мы рассмотрим сегодня, изменяет только заголовки запроса.
(далее…)
Опубликовано в: Разработка модулей
Написание выходных фильтров Apache 2.0
В прошлой статье мы рассмотрели основные принципы фильтров сервера Apache 2.0, но этой информации недостаточно для написания полноценного фильтра. В этой статье, мы завершим обсуждения выходных фильтров сервера. После прочтения данной статьи Вы сможете написать свой собственный фильтр для Apache.
Когда интерфейс фильтров впервые разрабатывался, очень мало внимания обращалось на то, чтобы сделать его легким для понимания другими людьми (не разработчикам сервера), которые будут разрабатывать собственные фильтры. С того времени разработчики пересмотрели API и добавили более простой интерфейс поверх старого. Так, для получения всех возможностей фильтра, оригинальный API требовал, чтобы разработчик подсчитал, сколько данных он будет передавать следующему фильтру. Например, если вы пишите фильтр, который сохраняет каждое передаваемое слово, то у вас есть два решения этой задачи: либо конвертировать передаваемый файл в список блоков и поочередно обойти их, либо копировать каждое слово в огромный блок памяти.
(далее…)
Опубликовано в: Разработка модулей Февраль 2, 2006
Написание фильтров для Apache 2.0
Когда разработчики впервые начали обсуждать Apache 2.0, одной из главных целей, стоявшей перед ними, было создание механизма, чтобы один модуль мог модифицировать данные, полученные от другого. Эта возможность была реализована только в шестой альфа-версии сервера. Механизм, использовавшийся для осуществления этих возможностей, называется - фильтры. Изначально написание фильтров было нелегким делом, но в течение нескольких последующих релизов разработчики усовершенствовали программный интерфейс, поэтому сейчас создавать фильтры стало гораздо проще.
(далее…)
Опубликовано в: Разработка модулей Февраль 1, 2006

© apachedev.ru, 2005-2011