КОНТАКТЫ
e-mail:
ICQ:
336-863-834
ПОИСК
ОПРОС
Что для Вас является более приоритетным при создании сайта?









РАССЫЛКА

Статьи

Настройки сервера для работы с CGI-скриптами


Создание сайтов, разработка интернет-магазинов


Рубрика: Разработка сайта

Для исполнения CGI-скриптов сервер Apache должен быть соответствующим образом настроен. Во-первых, сервер должен быть собран с модулем исполнения CGI-скриптов(обычно включен по умолчанию), во-вторых, в файлах настройки сервера следует указать опции управления исполнением CGI-скриптов.

В данном разделе мы будем подразумевать, что сервер собран с модулем испонения CGI-скриптов, поэтому сосредоточим свое внимание на настройках сервера.

В версиях Apache, начиная с 1.2.6 можно все директивы настроек сервера включать в один файл httpd.conf. Однако, традиционным способом настройки, который унаследован от NCSA-сервера является использование трех файлов настройки, которые отвечают:
за настройку самого сервера(httpd.conf)
за настройку ресурсов Web-узла(srm.conf)
за настройку управления доступом к ресурсам(access.conf)

Для виртуальных хостов все директивы размещаются в файле httpd.conf в разделах описания каждого из виртуальных хостов.

httpd.conf

В этом файле определяются скрипты обработки нестандартных методов доступа(PUT или DELETE), а также описания работы с CGI-скриптами для виртуальных хостов.

Для указания скрипта обработки нестандартного метода используют директиву Script:

Script PUT put_script.cgi

Вместо PUT здесь можно указать DELETE или другой метод доступа. При обращении по данному методу доступа будет вызван скрипт, который указан в качестве второго аргумента.

Директивы для описания работы со скриптами для виртуальных хостов размещают внутри контейнера VirtualHost:

...

Внутри этого контейнера можно размещать все директивы, которые размещают для основного сервера в файлах httpd.conf, srm.conf, access.conf.

srm.conf

В этом файле определяется конфигурация ресурсов, которыми управляет сервер. Скрипты входят в состав этих ресурсов. Дирикторию скриптов по умолчанию определяет директива ScriptAlias:

ScriptAlias cgi-bin /usr/local/etc/httpd/cgi-bin

В данной директории определяется синоним части URL(первый параметр директивы), которому ставится в соответствие реальный путь в каталоге файловой системы вычислительной установки, где эксплуатируется сервер(второй аргумент). Например,:

server.citmgu.ru/cgi-bin/test.cgi

обращается к файлу:

/usr/local/etc/httpd/cgi-bin/test.cgi

Кроме стандартного места размещения скриптов, которое определяется через ScriptAlias, скрипты можно размещать в произвольном каталоге, внутри дерева каталогов сервера.

Дерево каталогов сервера отпределяется директивой DocumentRoot:

DocumentRoot /usr/kiae
или
DocumentRoot kiae

В первом случае указан полный путь от корня файловой системы, а во втором относительный путь, т.е. путь от домашнего каталога сервера.

Для того, чтобы можно было запускать скрипты нужно добавить handler(обработчик) для запуска скриптов из заданного каталога:

SetHandler cgi-script

Кроме этого с расширением файла можно связать MIME-тип, по которому сервер распознает, что это скрипт:

AddType application/x-www-form-urlencoded .pl

В данном случае мы назначаем расширение *.pl для CGI-скриптов. Традиционным расширением скриптов по умолчанию явлется расширение *.cgi.

access.conf

Наиболее важной директивой в этом файле с точки зрения исполнения скриптов является Options. Она используется внутри контейнера Directory:

Options ExecCGI

В данном случае для каталога /usr/local/etc/httpd/htdocs будет разрешено исполнение CGI-скриптов.

Павел Храмцов

Источник: megaseo.org.ua

Имидж Вашей компании зависит от профессионально разработанного интернет магазина или корпоративного сайта.
Для создания сайта или изготовления интернет магазина сделайте заявку на странице контактов.