Маленькая заметка по настройке выполнения 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.
Пример:
Alias /mydir/ /var/www/mydir/
SetHandler cgi-script
Options +ExecCGI
Order allow,deny
Allow from all
Все файлы из папки /var/www/mydir при обращении в браузере http://www.ваш_домен.com/mydir/ будут исполняться как cgi скрипты.
Еще один вариант. В каталоге много html файлов. И там же нужно разрешить выполнение cgi скриптов. Тут нам поможет директива AddHandler. Пример:
Alias /slayer/ /var/www/slayer/
AddHandler cgi-script .pl
Options +ExecCGI
Order allow,deny
Allow from all
Исполняться как cgi скрипты будут только файлы имеющие расширение .pl
Напоследок пару тестовых скриптов. Они написаны на перле. Обычно для него все и настраивается. Создаем файл test.pl и пишем в нем:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";
Вот и все. Помещаем файл в соотвествующую директорию веб сервера и вызываем его браузером. При успешной настройке в окне браузера выведется строка Hello, World.На этом закончу маленькую заметку по настройке выполнения cgi скриптов для веб сервера apache.
border-top:solid windowtext
border-top:solid windowtext 1.0pt;
сверхизобретения во целых кругах людской деятельности; исполнительская деятельность актеров, фонограммы и радиопередачи; По той же Парижской конвенции научные открытия не умеют быть отложены к умственной собственности, поскольку интернациональное право не сосредоточивает права собственности применительно к научным открытиям. Конвенция об учреждении Мировой организации умственной собственности ( ВОИС ), приобретенная в Стокгольме в 1967 году, предусматривает соблюдающие предметы умственной собственности: литературные, художественные создания и научные труды;
Никак не могу понять, как
Никак не могу понять, как заставить Apache при обращении на, скажем, http://localhost выполнять http://localhost/cgi-bin/index.cgi?
Размести в корне сервера файл
Размести в корне сервера файл index.html следующего содержания:
<html>
<head>
<title> Тупой редирект </title>
<meta http-equiv="refresh" content="0; url=/cgi-bin/index.cgi"/>
</head>
</html>
Судовладелец при приобретении
Судовладелец при приобретении уведомления о бесталанном эпизоде, происшедшем на судне, обязан известить об этом: если бесталанный эпизод произошел на судне морского транспорта: в соответственную государственную инспекцию труда; в транспортную прокуратуру; в территориальные общества объединений профсоюзов; в федеральный орган исполнительной власти, ведающий проблемами морского транспорта; в федеральный орган исполнительной власти, уполномоченный на исполнение государственного регулирования безопасности при использовании атомной энергии, если бесталанный эпизод произошел на ядерной энергетической установочке судна или при транспортировке ядерных тканей, радиоактивных веществ и отходов;
делай так: 240-ая строка
делай так:
240-ая строка httpd.conf (в если там ничего не менял):
DirectoryIndex \cgi-bin\script.cgiи будет тебе счастье =)
Это надо в .htaccess
Это надо в .htaccess копаться.
Угу.
Да именно в файле .htaccess