CentOS: CGI скрипты в apache 2.0 - Справочник Манимейкера или Народные ссылки



CentOS: CGI скрипты в apache 2.0

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

Для настройки есть два механизма.

Первый и наиболее часто используемый - с помощью директивы ScriptAlias.

Синтаксис:

ScriptAlias /cgi-bin "/home/home_dir/cgi-bin"

При наборе в брaузере адреса httр://www.ваш_сайт.ru будут выполняться скрипты из каталога /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 при обращении в браузере httр://www.ваш_сайт.ru/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.

Народная ссылка для регистрации:

CentOS: CGI скрипты в apache 2.0

Категории:

Поделитесь этой записью или добавьте в закладки

   






1 комментарий

Всё это хорошо, но только вот у меня под Centosом cgi скрипту почему-то закрыт доступ к файловой системе. В частности функции C++ open и creat порождают errno=13 (Permission denied). Причём никаких недоразумений с правами доступа к файлам и папкам нет, поскольку соответствующая программа без проблем выполняется отдельно от Apache.

Кстати говоря, та же самая ошибка порождается ещё и совершенно безобидной функцией синхронизации процессов semget (получить семафор).

Комментировать





Другие материалы и статьи
» Webartex - биржа статей нового поколения: Биржа WebArtex - это новая биржа статей, предоставленная Seopult. На данной стадии проект находится в с...
» Народный интернет-промысел: Они зарабатывают, и не мало, а очень-очень много!Как, спросите Вы:   Эксплуатируя возможности...
» Партнерская программа интернет-магазина электрооборудования: Представляю краткий анонс партнерской программы по созданию собственного интернет-магазина по продаже э...
» CentOS : VPN Server установка и настройка : ...
» DeepAge - инновационный сервис размещения вечных ссылок: Любой сайт должен делать деньги. Именно поэтому и создан инновационный сервис DeepAge для вебмастеров. ...

Категории


Последние комментарии