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 (получить семафор).

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





Другие материалы и статьи
» Программа для регистрации сайта в каталогах и рейтингах: SMILE: SEO Tools - программа для автоматической и полуавтоматической регистрации сайта в каталогах и ре...
» Уникальный проект по заработку в сети GreatInvest Group : Хочу представить Вам новый уникальный проект GreatInvest Group, который предлагает вполне реа...
» Безопасность превыше всего: Множество людей имеют в наличии какое-то транспортное средство. Благодаря автомобилю можно быстро перед...
» Пресс-резиз новой мультифункциональной биржи блочных и контекстных ссылок "Индек": Новость года - холдинг "INDEK" запустил в эксплуатацию новейшую биржу купли-продажи блочных и конт...
» Анонс биржи купли-продажи доменов, сайтов: Хотите купить или продать готовый сайт?  Или дешево продать-купить домен? Для этого и создана бирж...

Категории


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