Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > IIS6.0(win2003) + скрипты perl


Автор: denix2 17.1.2007, 15:11
статическое содержимое сервера из инета видится.
при попытке отправить cgi запрос или просто набрать www.../cgi/sss.pl - выводится ошибка 404.
пожалуйста - кто имеет дело с IIS6.0 - опишите по шагам, что нужно сделать чтобы заработали скрипты на перл и/или динамическое содержимое а пр. при вводе www.../exe/sss.exe - началось скачивание sss.exe или запуск прямо на сервере.

Я так понимяю что надо что то прописать в РАСШИРЕНИЕ ВЕБ СЛУЖБЫ
В свойствах сервера(папки) выбрать >>> сценарии и/или исполняемые файлы.
Далее >> настройка а там вверху добавляются ассациации чегото с чем то - внизу какието непонятные приоритеты

- вроде чё токо не делал - и справка не помогает и в инете не нашёл или нетам искал - в книгах своих тоже нема.
вобщем плохо разбираюсь в этом вопросе - пока этот сервер не подниму - нет поля для экспериментов.

Автор: Materium 17.1.2007, 16:36
Так denix2, может быть проще задать этот вопрос в форуме по *nix?  smile 
Здесь CGI программирование на Perl.
Я бы помог но не знаю.

Автор: nitr 17.1.2007, 23:40
Materium, я не видел сервер IIS6.0(win2003) под никсами ;) (кстати указано что Винда)

denix2, в комплекте перл есть некая инфа по настройкам серверов.

perl_path/html/faq/Windows/ActivePerl-Winfaq6.html
не поможет, пиши.

Автор: nitr 18.1.2007, 00:23
Цитата
To configure ActivePerl to work with IIS 6 on Windows 2003:
Load the Internet Information Services (IIS) Manager applet from Window's Administrative Tools menu.
Select the desired system, then select Web Service Extensions. Click Add New Web Service Extension.
Enter a descriptive Extension Name (such as "Perl CGI"), then enter the following string in the Required Files field: 
C:\Perl\bin\perl.exe "%s" %s

As necessary, modify the path to the Perl executable on the selected system. Check Set Extension Status to Allowed, then click OK.
Expand the Web Sites directory in the IIS Manager and right-click Default Web Site. Select New | Virtual Directory.... Use the wizard to specify the location of your Perl CGI programs. On the Access Permissions page, ensure that Read, Run Scripts and Execute are enabled.
Right-click the new virtual directory and select Properties. On the Mappings tab of the Application Configuration page, ensure that the .pl or .cgi extension is mapped to the Perl interpreter specified above. (Enter the same string in the Executable Path field as shown in step 3.)
In order to run ASP scripts, ensure that Active Server Pages are "allowed". Under the Web Service Extensions directory, select Active Server Pages. Change the status from "Prohibited" to "Allowed".
Restart the IIS service.
Test your configuration as described in Testing Your Web Server Configuration.


и вы на верном пути ;)

Автор: denix2 18.1.2007, 23:44
nitr - спасибо за цитату - но в общем я так и делаю вро де бы. (доков с перлом нет у меня т.к. старая версия перл 5.6 (2000г) она про 2003-й винду ничего не знает - мож в этом проблема?) при попытке отправить cgi запрос или просто набрать www.../cgi/sss.pl explorer пишет через пару минут: Истекло время ожидания CGI
Превышено допустимое время ожидания для выполнения указанного приложения CGI. Процесс удален сервером.


У сервера в памяти появляется процесс perl.exe - который по видимому ничерта не делает - через 2-е мин, уже после появления данного сообщения на сайте perl, самозакрывается.

Значить попробую задать вопросы так: 
1. C:\Perl\bin\perl.exe "%s" %s - что такое  "%s" %s и надо ли это набирать.
2. On the Mappings tab of the Application Configuration page, ensure that the .pl or .cgi extension is mapped to the Perl interpreter specified above. - здесь я прописываю в настройках домашнего каталога (для начала разрешаю всё и запуск и чтение и запуск програм и сценариев)  - Жму на кнопку настройка и в сопоставлениях - добавляю новое: исполняемый файл - c:\perl\bin\perl.exe а расширение указываю .cgi - все команды (обработчик сценариев и проверка наличия файла - галки стоят по умолчанию).

И вот ещё - кэш тоже недавно отключил и перезагрузку IIS пробую - ничего не помогает - может всё в устаревшей версии перла - вроде не должно по идее...

И вот ещё - заранее благодарю за помощь...

Автор: denix2 22.1.2007, 19:44
разобрался я - всё теперь работает - токо не понял зачем нужно набирать %s" %s - и что это значит.

Проблема заключалась в том, что в сопоставлениях кокраз не были набраны эти символы %s" %s
нашёл полное описание настройки на странице http://aspn.activestate.com/ASPN/docs/ActivePerl/5.8/faq/Windows/ActivePerl-Winfaq6.html
- там всё по пунктам - какраз их мне и нехватало =). всёравно спасибо nitr за подсказку.

вторая проблема заключалась в самой программе CGI.

Автор: nitr 22.1.2007, 20:02
это параметры команды %s замениться на param1.cgi в таком случае:
.../perl param1.cgi
И имхо первый %s это параметры запуска перл
Кавычки из-за виндового path

Добавлено @ 20:05 
да и ссылка это тож самое ;)
perl_path/html/faq/Windows/ActivePerl-Winfaq6.html
где perl_path путь где установлен perl
Я не подумал уточнить smile , в дальнейшем учту.

Автор: GoDleSS 7.3.2007, 02:04
1. Сначала ставить IIS, затем перл, желательно 5.8.8
2. При установки указать "maped for ISAPI"
3. Установить в конфигурации IIS запуск скриптов.
4. Установить степень защиты низкой(процесс ИИС)
5. Проверить наличие C:\Perl\bin\perl.exe "%s" %s для .cgi и аналогичной записи для .pl

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)