Добро пожаловать в виртуалный магазин CHIP

STARTING       FAVORITE

* C H I P * Мы всегда ждем Вас по адресу: В.Ногина 92
Новинки  Сервис  Сотовые  Компьютеры  Комплектующие  Оргтехника  Мастерская 
Главная
Новости
О нас
Архив
Статьи
Программы
Ссылки
Гостевая
Прайс
Web-Услуги


Сайт зарегистрирован в RAMBLER TOP100

Счетчик количества посещений

Здесь могла быть ваша реклама!
Статьи наших партнеров!

Apache CSP Cache

Эта статья описывает способ настройки WEB-сервера Apache для Windows и CSP. Описание предназначено для программистов и технологов, которым требуется оценить работу и технологические особенности работы CSP на машине с установленным сервером Apache.

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

Будем полагать, что настройка начинается в состоянии:

  • Операционная система Win32
  • На компьютере установлена поддержка TCP/IP
  • На компьютере установлена СУБД Cache' версии 4 или старше.
  • На компьютере установлен сервер Apache.

В течении описания демонстрируются шаги, выполнявшиеся на машине в конфигурации:

  • Windows NT Workstation 4.0
  • Cache for Windows NT (Intel) 4.1.3 (Build 175) Mon Dec 3 2001 16:22:28 EST
  • Apache/1.3.12 (Win32)

Технология CSP заключается в создании текстового файла с расширением по умолчанию .csp, в котором вместе с html - тегами присутствуют специальные теги csp. При запросе такого файла веб сервер должен отдать этот файл на фильтрацию фильтру, назначенному на это расширение с тем, чтобы он отдал серверу http - ответ. В версии для IIS Cache предлагает для этой цели ISAPI - фильтр. Но, поскольку Apache архитектурно не поддерживает ISAPI - фильтров (только ISAPI - модули), то фильтрация расширения выполняется через механизм CGI - шлюза по той же схеме, что и при подключении Perl и PHP. В некий каталог должен быть размещен модуль, который должен вызвать веб-сервер.

При инсталляции по умолчанию Cache размещает в своем каталоге файлы CSPcgi.exe, CSPcgiSys.exe и CSPnsd.exe. Этот набор и есть то, что требуется для настройки сервера Apache. Следует скопировать файлы:

copy h:\cachesys\bin\cspcgi.exe h:\apache\cgi-bin\nph-cspcgi.exe

copy h:\cachesys\bin\cspcgisys.exe h:\apache\cgi-bin\nph-cspcgisys.exe

При копировании переименование в файлы с префиксом nph- является обязательным, поскольку в дистрибутиве Cache содержится ошибка (возможно, впоследствии она будет исправлена).

При вызове csp страницы веб сервер вызывает фильтр. Но сам фильтр тоже ничего не делает, он только отправляет запросы демону csp. Демон должен быть запущен:

start h:\cachesys\bin\cspnsd.exe

И здесь мы натыкаемся на чудесную особенность этого самого демона - он может запускаться только если текущий пользователь является членом группы администраторов. Зачем редиректу портов это может понадобиться - ума не приложу. Поэтому логинимся как администратор и вносим свой повседневный аккаунт в список администраторов этой машины. Логинимся снова в рабочий повседневный аккаунт. Лично мне это не понравилось. Впрочем, это недоразумение, я полагаю, в последствии будет исправлено.

Следующим шагом является связывание расширений csp и cls с требующимся фильтром. Следует вставить в файле mime.types:

text/csp csp cls

И в файле httpd.conf - связывание обработчика:

ScriptAliasMatch /*.([Cc][Ss][Pp]|[Cc][Ll][Ss])$/ "/cgi-bin/nph-CSPcgi.exe"

Action text/csp "/cgi-bin/nph-CSPcgi.exe"

Технология csp - это не набор отдельных файлов, как в perl, а некая группа, объединяемая понятием "приложение". Приложение csp - это учетные записи. Файл csp должен принадлежать какому-то определеному приложению. Смысла в этом приложении может никакого не быть, но для того чтобы csp работало, нужно создать приложение csp. Оно указывается дважды. Один раз - в настройках Cache куба, второй раз - через веб интерфейс. Итак.

Правая кнопка мышки на Cache кубе, Configuration Manager, закладка CSP. Выделяем узел Applications, нажимаем кнопку Add. По этой кнопке предлагается ввести URL, начиная с которого будут видны в браузерах страницы этого приложения. В пробном примере вносим /hello, причем косая черта обязательна. Создаются узлы, в которых требуется детализировать описание нашего приложения.

  • Namespace - область, в которой будет храниться служебная информация связанная с файлами этого приложения (будет описано позднее) и в котором будет запускаться выполнение страницы. Значение по умолчанию - USER. Если устраивает, то не меняем.
  • Cache Physical Path - путь, где будут лежать исходные тексты наших csp файлов. Указываем настоящий путь, например, h:\web\csp\hello.

Остальные настройки к программированию не имеют отношения, оставим их администраторам.

Теперь проверяем, что запущены Cache, CSPNsd и Apache. В браузере набираем: http://localhost/cgi-bin/nph-cspcgisys.exe. Появляется страница с настройками доступа к CSP. Отмечаем, что здесь также понадобится административное вмешательство, поскольку этот URL должен функционировать только в течении короткого времени и не должен быть доступен извне. А то нехорошие люди поуправляют Вашим сайтом.

Для продолжения конфигурирования приложения hello жмем ссылку Application Access. Справа жмем Add Application. В поле Application Path пишем /hello, в поле Web Server Physical Path пишем h:\web\csp\hello. Остальные поля можно оставить без изменения. Работать уже будет. Отметим, что Вашему администратору следует их все проверить и убедиться, что их значения корректные с точки зрения администрирования.

Теперь в файле httpd.conf прописываем виртуальный каталог:

<Directory "h:/web/csp/hello/">

Options All

AllowOverride None

Order allow,deny

Allow from all

</Directory>

Alias /hello/ "h:/web/csp/hello/"

Для проверки кладем в каталог h:\web\csp\hello текстовый файл hi.csp:

<html>

<head>

</head>

<body>

Hello, world!

<p>

This page visited #($I(^A))# times.

</body>

</html>

В браузере запрашиваем проверку: http://localhost/hello/hi.csp. Число посещений страницы должно увеличиваться при перезагрузке страницы на единицу. При первой загрузке этого URL происходит трансляция csp файла в класс, и только потом выполнение кода. При последующих обращениях проверяется был ли модифицирован файл. Если не был, то класс не создается и не компилируется. Время отклика может отличаться существенно. Поэтому при использовании медленных машин или медленных дисков лучше в настройках доступа CSP (Server Access) увеличить время ожидания.

В принципе, это все шаги, требовавшиеся для настройки CSP для работы с сервером Apache под Windows. Начиная с этого состояния настройки достаточны, чтобы начать программирование и изучение технологии. К дополнительным практически значимым заметкам я бы отнес:

  • В каталоге h:\web\csp\hello можно создавать подкаталоги и размещать в них также csp файлы: они будут видны как подкаталоги виртуального каталога /hello.
  • После настройки приложения лучше убрать nph-cspcgisys.exe из доступных извне каталогов.
  • Каждой странице csp будет соответствовать класс Cache, поэтому если в файле csp содержится только статический текст, лучше использовать обычный html.
  • При установке Cache без лицензии результат работы csp будет доступен только по адресам http://localhost/... или http://127.0.0.1/... Для доступа с других машин следует поставить лицензию с разрешением csp-доступа.

При инсталляции Cache в каталоге CacheSys развертывается демонстрационный каталог h:\cachesys\csp. Его можно увидеть в браузере, назначив каталог в сервере Apache:

<Directory "h:/CacheSys/CSP/">

Options All

AllowOverride None

Order allow,deny

Allow from all

</Directory>

Alias /csp/ "h:/CacheSys/CSP/"

Этот каталог содержит практически все случаи использования технологии CSP и является своего рода справочником функциональности CSP. Хорошей мыслью будет создание закладки на url http://localhost/csp/samples/menu.csp. Остальные настройки приложения csp уже выполнены инсталлятором Cache.

Дополнительные документы по настройке Apache и CSP:

Данная статья ни в коем случае не должна использоваться в качестве подмены официальной документации Intersystems и служит всего лишь пошаговым руководством для программистов с целью быстрого начала работы с технологией CSP.

Евгений Каратаев

Магазин "CHIP" ® Copyright © 2004 г.Дизайн: "eshelon-x"
Все опубликованные статьи являются собственностью их владельцев и охраняются Законодательством Российской Федерации об охране авторских прав. Перепечатка материалов или публикация каким-либо способом без согласия владельцев ЗАПРЕЩЕНЫ ! Замечания по поводу дизайна направляйте на
e-mail : dublle@rambler.ru  saabxp@yandex.ru
Телефоны (8242)  Факс (8242)


Hosted by uCoz