Это совсем просто, за исключением, может
быть, выбора директории для Perl. А именно, Вы ДОЛЖНЫ
разместить Perl в той же директории, в которой
он находится на Вашем настоящем Web-сервере.
Заметьте, что это очень важно, так как Perl
требует, чтобы в каждом скрипте первой
строкой стоял путь к Perl-интерпретатору;
например, эта строка может выглядеть так:
#!/usr/local/bin/perl
Эту же строку можно было бы написать и так:
#!/usr/local/bin/perl.exe
или даже так:
#!f:\usr\local\bin\perl.exe
Это заставляет искать Perl-интерпретатор в
директории f:/usr/local/bin/ (если диск f:
не указан, это означает, что он совпадает с
диском, на котором расположен Apache). Ясно, что
если Вы установите Perl не в такую же
директорию, как на настоящем Web-сервере, Вам
придется каждый раз менять эту самую первую
строку во всех скриптах при закачке их на
сервер. Итак, далее мы будем считать, что эта
директория такова, как на большинстве Apache-серверов:
f:/usr/local/bin
ВНИМАНИЕ: очень распространенной
ошибкой является установка Perl не в ту
директорию или не на тот диск. Еще раз
обращаем внимание на то, где должен быть
расположен транслятор. Если Вы все же по
какой-то необъяснимой причине не
придерживаетесь нашего совета, то
проверьте первую строку в Вашем скрипте.
Она должна указывать не на директорию с
Perl, а на исполнимый файл perl.exe. Напоминаем,
что
#!/usr/local/bin/perl
заставляет искать Perl-интерпретатор perl.exe
в директории f:/usr/local/bin/, а не f:/usr/local/bin/perl
Если Вы все же установите пути
неправильно, Apache выдаст непонятное
сообщение об ошибке, а в errors.log
появится сообщение: couldn't spawn child process.
Вот шаги, приводящие к цели:
- Первым делом создайте директорию
f:/usr/local/bin
Затем скачайте дистрибутив Perl - файл с
именем perl_setup.exe
(436.137 байт), желательно в только что
созданную директорию. Это
саморазворачивающийся архив, Вам нужно
будет просто его запустить, чтобы
разархивировать в текущую директорию.
- Теперь настроим сервер. Найдите в файле
конфигурации Apache conf/httpd.conf строчку
AddHandler cgi-script .bat .exe
Замените ее на
AddHandler cgi-script .bat .exe .pl .cgi
Как это ни странно, но эту директиву AddHandler
иногда указывать не обязательно. Однако
лучше перестраховаться...
Вот, собственно, и все. Можете
пользоваться Perl-транслятором. Для
проверки его работоспособности
используйте такой скрипт (помещенный,
разумеется, в директорию cgi-bin или
аналогичную):
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "It works!<br>\n";
system("dir");
|