Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Как создаются модули для Apache
цитата
22/11/10 в 12:28
 clever
Нужна реализовать такую схему: 1) httpd сервер Apache получает запрос на выдачу страницы -- 2) какая-то программа на основе данных запроса производит некоторые действия с посторонними файлами, базой данных mysql и изменяет эту страницу -- 3) отдает ее пользователю.

Я так понимаю, второй пункт реализуется с помощью модуля Apache. Как пишутся эти модули, на каком языке? icon_smile.gif
цитата
22/11/10 в 13:20
 axelded
Пишут на сях.
Хотя то что ты описал вполне могут делать и обычные скрипты (php или любые cgi)
цитата
22/11/10 в 13:24
 _s_[sov]
2 пункт не имеет отношения к апачу, на пыхе это делается а потом апач отдает уже что он сформировал icon_smile.gif
цитата
22/11/10 в 13:25
 axelded
Вот пример создания модуля http://www.opennet.ru/base/dev/apache_module_dev.txt.html
цитата
22/11/10 в 13:29
 Dr.Syshalt
Можно еще и на перле писать, но в данном случае никаких модулей не надо.

Через rewrite можно направить запрос куда угодно, на какой-нибудь скрипт, передав ему еще и URL страницы запрошенной, а он уж пусть выдает то, что ему больше нравится.

У апача еще фильтры есть, которые позволяют тебе направлять контент через произвольные программы.

Можно fastcgi content handler написать - этот самый быстрый будет из трех.

В общем, вариантов куча.
цитата
22/11/10 в 14:51
 clever
Вы предлагаете делать страницы в PHP / PERL, но это не подойдет - страницы должны оставаться страницами только с HTML кодом.

"Через rewrite можно направить запрос куда угодно, на какой-нибудь скрипт, передав ему еще и URL страницы запрошенной, а он уж пусть выдает то, что ему больше нравится.

У апача еще фильтры есть, которые позволяют тебе направлять контент через произвольные программы.
"


Вот эти предложения Dr.Syshalt мне понравились, хотелось бы узнать про них подробнее.
цитата
22/11/10 в 19:15
 Pentarh
Dr.Syshalt писал:
+1, не обязательно модуль, можно и внешний фильтр

Цитата:
# mod_ext_filter directive to define a filter
# to HTML-ize text/c files using the external
# program /usr/bin/enscript, with the type of
# the result set to text/html
ExtFilterDefine c-to-html mode=output \
intype=text/c outtype=text/html \
cmd="/usr/bin/enscript --color -W html -Ec -o - -"

<Directory "/export/home/trawick/apacheinst/htdocs/c">
# core directive to cause the new filter to
# be run on output
SetOutputFilter c-to-html

# mod_mime directive to set the type of .c
# files to text/c
AddType text/c .c

# mod_ext_filter directive to set the debug
# level just high enough to see a log message
# per request showing the configuration in force
ExtFilterOptions DebugLevel=1
</Directory>


Эта страница в полной версии