Как запускать скрипты CGI под Apache на WindowsXP

У всех пользователей ActiveState Perl возникает проблема, почему не выполняется строка вида:

#!/usr/bin/perl -w

вначале каждого скрипта CGI, запущенного под Apache. Некоторые советуют прописать команду поиска интерпретатора в файл C:/usr/bin/perl.bat но это будет работать только тогда когда скрипт запускаем мы сами, а не web-server Apache! Так вот, чтобы можно было сделать нормальнозапускаемые скрипты под Apache опишу как это сделать буквально в 2-х шагах! Вы спросите – а зачем вообще использовать путь #!/usr/bin/perl –w а не, например, #!C:/server/Perl/bin/perl –w где установлен интерпретатор? – ответ прост! Если вы разрабатываете скрипты для серверов под unix/linux системы на Windows, то пользоваться системой контроля версий (а это неотъемлемый атрибут современных разработок OpenSource) у вас не получится вовсе! И еще – неужели Вам приятно постоянно править эту первую строку? Не легче ли ее оставить в покое?

Итак! Приступим!

1. Правим файл конфига апача: httpd.conf

вставляем в конец строку, заставляющую апач не смотреть на первую строку файлов pl и cgi:

ScriptInterpreterSource registry

2. Добавляем новый тип файлов с расширением CGI

Большинство систем уже имеют в себе описание типа расширения PL, поэтому берем пример оттуда.

Для начала открываем «Мой компьютер», затем выбираем пункт меню «Сервис» и в появившемся выпадающем подменю выбираем пункт «Свойства папки…»

В появившемся диалоговом окне «Свойства папки» выбираем вкладку «Типы файлов».После непродолжительного сканирования ключей реестра появится список уже имеющихся расширений типов. Затем нажимаем кнопку «Создать» и ввести CGI в окошко для ввода нового расширения. После этого нажимаем на кнопку «OK» и у нас создается новый тип. Далее приступаем к его редактированию.

В окне «Свойства папки» нажимаем кнопку «Дополнительно» (при этом следите чтобы курсор был на только что созданном типе файла в списке). Появляется окно «Изменение свойств типа файлов».

В этом окне нужно создать новое действие. Для этого жмем на кнопку «Создать…» и вводим слово Open в поле «Действие окна» «Новое действие». Ниже вписываем приложение, исполняющее это действие. В моем случае строка имеет вид:

"C:\minus\server\Perl\bin\perl.exe" "%1" %*

В Вашем может быть другой путь до интерпретатора Perl!

После этого ставим галку напротив «Использовать DDE». Откроются дополнительные поля. В них нужно указать в качестве приложения perl а в качестве раздела – System. Все! Далее жмем везде OK.

3. Перезапускаем Apache.