Не работают cgi скрипты

Выделенный сервер своими руками

Облако тегов

Мои контакты

mail:
admin@dedicatesupport.com

Партнеры

Друзья

Счетчики

Настройка выполнения CGI скриптов в apache 2.0

Маленькая заметка по настройке выполнения CGI скриптов в apache.
Свободный перевод подробнейшего мануала.
Итак приступим.
CGI — (Common Gateway Interface) это механизм который дает возможность взаимодействия любой программы и веб сервера apache. То есть, грубо говоря, веб сервер может выполнить любую внешнюю программу и результаты ее работы выдать веб браузеру. Неважно на чем написана программа. Механизм универсален. Но для этого необходимо указать веб серверу, что эту программу нужно выполнить. Вот для этого и необходима настройка веб сервера.

Для настройки есть два механизма. Первый и наиболее часто используемый — с помощью директивы ScriptAlias. Синтаксис такой:
ScriptAlias /cgi-bin «/home/home_dir/cgi-bin»
то есть при наборе в брaузере адреса http://www.ваш_домен.com/cgi-bin/ будут выполняться с крипты из каталога /home/home_dir/cgi-bin.
Обычно одной этой директивы достаточно, для того чтобы скрипты начали исполняться.
Одной из часто появляющихся ошибок является ошибка номер 500. Внутренняя ошибка сервера. Частенько она возникает из-за недостаточных прав для исполнения внешней программы. chmod 755 Вам поможет 🙂

Вторым вариантом настройки выполнения скриптов является использование директив AddHandler и SetHandler.
Пример:

Все файлы из папки /var/www/mydir при обращении в браузере http://www.ваш_домен.com/mydir/ будут исполняться как cgi скрипты.
Еще один вариант. В каталоге много html файлов. И там же нужно разрешить выполнение cgi скриптов. Тут нам поможет директива AddHandler. Пример:

Читайте также:  Подошва сломалась пополам что делать

Вот и все. Помещаем файл в соотвествующую директорию веб сервера и вызываем его браузером. При успешной настройке в окне браузера выведется строка Hello, World.На этом закончу маленькую заметку по настройке выполнения cgi скриптов для веб сервера apache.

Добрый день. Подскажите, как

Подскажите, как запустить JavaScript с помощью CGI-скрипта?

Т.е. имеем http://www.ваш_домен.com/XXXX.js , но необходимо запустить XXXX.js через CGI-скрипт.

Требуется чистый запуск, без выдергивания значений или обработки данных.

Буду безмерно благодарен.

Подскажите, в каком файле

Подскажите, в каком файле нужно прописать эти директивы? Я поставил апач 2.2 и у меня файл httpd.conf пустой, пытался просто записать в него, но сервер не захотел запускаться Потом попытался записать в apache2.conf не могу найти подходящую строчку, и собственно после дополнения его сервер опять же не стартует.

Никак не могу понять, как

Никак не могу понять, как заставить Apache при обращении на, скажем, http://localhost выполнять http://localhost/cgi-bin/index.cgi?

Размести в корне сервера файл

Размести в корне сервера файл index.html следующего содержания:

Тупой редирект

делай так: 240-ая строка

делай так:
240-ая строка httpd.conf (в если там ничего не менял):
DirectoryIndex \cgi-bin\script.cgi
и будет тебе счастье =)

Самый верный и оптимальный

Самый верный и оптимальный вариант из всех предложенных

Источник

Не работают cgi скрипты

как видите он не ставит бэкслеш после cgi и сразу пишет файл скрипта. что я неправильно настроил??

Название уточнила. lynx. Всего записей: 11 | Зарегистр. 24-04-2002 | Отправлено: 10:45 26-04-2002 | Исправлено: lynx, 00:40 27-04-2003

Vasya Pupkin

Мракобес

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Peterer, поищи в конфиге апача ScriptAlias. Эта строка должна выглядеть примерно так: ScriptAlias /cgi-bin/ «e:/home/localhost/cgi-bin/» Видимо где то здесь ты слэш и не поставил.

———-
я не люблю людей
Всего записей: 7038 | Зарегистр. 24-02-2001 | Отправлено: 16:38 26-04-2002
Peterer

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору F:/home/localhost/cgiadmincenter.cgi

тоже самое, а слеши стоят.
что еще может быть.

Добавлено
проблема даже в большем (а может и в меньшем))) апач не воспринимает ни одного слеша после того, как вводится ссылка на директорию cgi, но не воспринимает только слеши, если поставитсть, к примеру, точку, то он ее видит, но точка это не слеш.

Всего записей: 11 | Зарегистр. 24-04-2002 | Отправлено: 17:03 26-04-2002
lynx

Advanced lynx

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Peterer

Цитата:

script not found or unable to stat: F:/home/localhost/cgiadmincenter.cgi

как видите он не ставит бэкслеш после cgi и сразу пишет файл скрипта.

Я правильно поняла, скрипты у тебя лежат в папке /cgi-bin/ ?

Тогда это ошибка в путях.

Покажи мне строчку
ScriptAlias

в твоем Апаче.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 19:34 26-04-2002
Peterer

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору с этим cgi у меня как-то удалось разобраться, но вот всплыла новая ошибка (эх, как трудно быть бестолковым)))
скрипт не может запуститься.
в браузере пишется вот такая ошибка:Error message:

couldn’t create child process: 22503: F:/home/localhost/cgi-bin/ikonboard/admincenter.cgi

скажите пожалуйста, что я на этот раз делаю не так??

(22503)The system cannot find the path specified. : couldn’t create child process: 22503: F:/home/localhost/cgi-bin/ikonboard/admincenter.cgi
[Fri Apr 26 21:51:06 2002] [error] [client 127.0.0.1] (22503)The system cannot find the path specified. : couldn’t spawn child process: F:/home/localhost/cgi-bin/ikonboard/admincenter.cgi

Всего записей: 11 | Зарегистр. 24-04-2002 | Отправлено: 21:51 26-04-2002
Great

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Короче ошибка в самом файле admincenter.cgi. Насколько я понял, енто файл Админ-центра Форума? Ему для работы куча разных наворотов нужна — модули и т.д.
Вообще child process — так называется дочерний процесс в Perl. Эта функция, насколько я знаю, плохо работает в Виндах или вообще не работает. А вот couldn.t spawn child process — так обычно пишется, когда Perl не может интерпретировать данный сценарий.
Попробуй ка ты для начала проверить все адреса. Открываешь admincenter.cgi простым блокнотом и смотришь первую строчку — твой адрес в Интерпретатору. Обычно это или #!/usr/local/bun/perl или #!/usr/bin/perl
А вообще, если в Перле и работе Апача не разбираешься — будет сложно. Лучше возьми все это, свали на сервак — и там в онлайне настраивай!
Всего записей: 36 | Зарегистр. 20-03-2002 | Отправлено: 22:21 26-04-2002
Peterer

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору в том-то и дело, что я настраиваю с сервера. могу конечно настраивать и с клиентской машины.
установлен активный перл (последняя версия вчера взял с сайта)

в файле прописано #!/usr/bin/perl

с перлом раньше ни когда не работал.

Всего записей: 11 | Зарегистр. 24-04-2002 | Отправлено: 22:50 26-04-2002 | Исправлено: Peterer, 23:15 26-04-2002
lynx

Advanced lynx

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Peterer

У тебя, часом, Апач не 2.х??

Тогда путем к перлу — точный путь и названые файла, например:

#!e:/usr/bin/perl.exe
либо
#!e:/usr/bin/Perl.exe

То есть и регистр проверь.

Добавлено
А! еще может быть трабла с хостами. У тебя один хост? файл hosts создал?

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 01:51 27-04-2002
DimoN

Tech administrator

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору lynx

Цитата:

У тебя, часом, Апач не 2.х??

да он, сто пудов

Ставь перл в c:/usr/ (полный путь к перлу c:/usr/bin/perl)

в скриптах #!/usr/bin/perl
потом идешь в папку с перлом и копируешь perl.exe в эту же папку с именем perl

———-
Мы Баним с улыбкой 🙂 ™
Всего записей: 7528 | Зарегистр. 19-04-2001 | Отправлено: 02:26 27-04-2002
Peterer

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору прописал полный путь к перлу, скрипты начали запускаться.

но вот проблема.
сделал все така, как сказано в инструкции нв Вашем форуме. а оно не пускает меня дальше админцентра. ввожу логин-пароль запускается перл и снова я но той же страничке и так логин с паролем можно вводить до бесконечности. в логах ни чего не пишется.

Всего записей: 11 | Зарегистр. 24-04-2002 | Отправлено: 09:11 27-04-2002 | Исправлено: Peterer, 09:13 27-04-2002
Great

Junior Member

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вариантов тут два:
Не удалил исходный инсталляционный файл (install.cgi чтоли).
Неправильно вводишь свои данные (пароль/логин).

Скорее всего наверное второе. Проверь там все. Не знабывай, что в паролях и логинах регистр очень важен.

Всего записей: 36 | Зарегистр. 20-03-2002 | Отправлено: 19:49 27-04-2002
Peterer

Newbie

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору я еще раз проделал установку.
то же самое. оно не принимает логин-пароль, а в логах ни чего не пишет.
Всего записей: 11 | Зарегистр. 24-04-2002 | Отправлено: 23:45 28-04-2002
lynx

Advanced lynx

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Peterer

Цитата:

оно не принимает логин-пароль

Зайди в директорию /members/
Найди себя, ты создал, админа то?
Посмотри как тебя звать и какой пароль, посмотри, стоит ли статус ad

Источник

Оцените статью