Налаштування сервера для роботи з cgi-скриптами

Налаштування сервера для роботи з CGI-скриптами

Д ля виконання CGI-скриптів сервер Apache повинен бути відповідним чином налаштований. По-перше, сервер повинен бути зібраний з модулем виконання CGI-скриптів (зазвичай включений за замовчуванням), по-друге, в файлах настройки сервера слід вказати опції управління виконанням CGI-скриптів.

В даному розділі ми будемо мати на увазі, що сервер зібраний з модулем іспоненіе CGI-скриптів, тому состредоточім свою увагу на настройках сервера.

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

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

У цьому файлі визначаються скрипти обробки нестандартних методів доступу (PUT або DELETE), а також опису роботи з CGI-скриптами для віртуальних хостів.

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

Script PUT put_script.cgi

Замість PUT тут можна вказати DELETE або інший метод доступу. При зверненні за цим методом доступу буде викликаний скрипт, який вказаний в якості другого аргументу.

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

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

У цьому файлі визначається конфігурація ресурсів, якими управляє сервер. Скрипти входять до складу цих ресурсів. Дірікторію скриптів за замовчуванням визначає директива ScriptAlias:

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

У даній директорії визначається синонім частини URL (перший параметр директиви), якому ставиться у відповідність реальний шлях в каталозі файлової системи обчислювальної установки, де експлуатується сервер (другий аргумент). Наприклад.

звертається до файлу:

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

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

DocumentRoot / usr / kiae
або
DocumentRoot kiae

У першому випадку зазначений повний шлях від кореня файлової системи, а в другому відносний шлях, тобто шлях від домашнього каталогу сервера.

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

Крім цього з розширенням файлу можна пов'язати MIME-тип, за яким сервер розпізнає, що це скрипт:

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

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

Найбільш важливою директивою в цьому файлі з точки зору виконання скриптів є Options. Вона використовується всередині контейнера Directory:

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

Схожі статті