Что то я ничего не понимаю. Простейшее желание, а не дают. Согласно логике должен помочь system("sh script"). А на деле одна и таже прога, но.. если запускать через shell то работает, через CGI - код из того же system() плохой. Ладно был бы MVS ресурс, мог бы чего подумать (как раньше tso через telnet не работал), а тут ?? Худая корова еще не газель!
Я извиняюсь, конечно, за такое предположение, но Вы PATH проверили? или system(sh ./script) ? одно из обслуживаемых мной приложений это туча cgi scriptов писанных на REXX и работает это все совершенно замечательно. Web сервер стандартный от IBM то бишь Apache :-)
2akost: ВебСфера - это не ВебСервер. Это линейка продуктов. WebSphere AS - раньше была примочкой к ВебСерверу и позволяла запускать сервлеты. А затем стала отдельным продуктом, включающим в себя (или подминающим) ВебСервер.
В моем случае на Сферу денег зажали и пользуюсь тем, что в комплекте. (простой сервер не может запускать сервлеты)
2Gregory: на самом деле я пробовал с абсолютными именами system("/bin/sh /u/user/scr.sh") - не пашет. Та же прога запущенная ручками - пашет. Вызывается ли в вашем(ко мне можно - в твоем?) приложении из REXX скрипта shell-скрипт ? Туча CGI работает сама по себе само собой.
Добавлено (12.12.2008, 13:38) --------------------------------------------- И, входящий в поставку z/OS - это IBM HTTP server. Он создан на базе Lotus Domino Go Server. Тоесть не Apache.
Однако входящий в комплект Сферы АС ВебСервер создан именно на технологии Apache.
Насколько я помню, Lotus Domino Go WebServer был в USS с рождения. Apach был портирован позже. Он хоть и работает, но не поддерживается IBM. Тоесть все проблемы решай сам. Потом кто-то решил, что Lotus не звучит и его банально переименовали. Потом кто то увидел, что все хотят Apache, взял порт (возможно проверил) и начал поддерживать, но в составе Сферы. Отдельно сам по себе он до сих пор не поддерживается.
Худая корова еще не газель!
вызывается, например address TSO "DELETE '"backup"'" address TSO "ALLOC FI(BACKUP) DA('"backup"') NEW", "SPACE(50 50) TRACKS RECFM(F LRECL(80) BLKSIZE(32000)" address TSO "FREE FI(BACKUP)" paths = '' do i = 1 to path.0 paths = paths' 'path.i end i address sh "pax -wvzf //\'"backup"\' "paths say 'Backup of FIPS code to 'backup' completed' exit
насчет web сервера - да, он называется IBM HTTP server, но его выполняемые файлы и файл конфигурации позволяют заключить что это apach а не DominoGo... впрочем, я спорить не буду, домино так домино мне вообще-то все равно :-)
В данном примере я вижу вызов pax - это бинарная прога, а не скрипт. Извините за объяснение, но скрипт это текстовый файл состоящий из команд шела. В частном случае там может быть одна строка с тем же pax. Мне важен момент вызова из CGI этого текстового файла-скрипта. Проги вызываются без проблем.
Добавлено (16.12.2008, 14:27) --------------------------------------------- Простейший способ определить по конфигу(httpd.conf) кто это, это сделать поиск директивы PASS и ALIAS.
В Лотусе обязательно будет что-нибудь типа: Pass /icons/* /usr/lpp/internet/server_root/icons/*
В Апаче в принципе нет директивы PASS. Он использует ALIAS для той же цели: Alias /icons/ /usr/local/apache/icons/
Добавлено (17.12.2008, 12:31) --------------------------------------------- Все гениальное просто. Права доступа на мой скрипт по дефолту только для меня. Тоесть у юзера ВебСервера(а он не я же) не было прав запустить мой скрипт.