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

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





Другие материалы и статьи
» Новый проект от Блогуна - новые возможности монетизации блогов и сайтов: Знакомьтесь, новая фишка от Blogunа: Beagent.ru - уникальная система для заработка и рекламы в любых со...
» Система контекстной рекламы "CLIS" закрыта: Сервис "Сlis" является профессиональным оператором контекстной рекламы.Владельцам рекламных п...
» Буржуйская биржа ссылок Spiders Market: Сегодня хочу представить Вашему вниманию динамично развивающийся проект - зарубежную биржу ссылок ...
» Анонс сервиса регистрации сайта в каталогах ссылок Promosys: Promosys - это уникальный сервис регистрации сайта в каталогах ссылок, поисковых системах и рейтингах Р...
» Ссылочная блоговая биржа BuyPost: Система BuyPost -- это ссылочная блоговая биржа с уникальными возможностями:  - если Вас интересуе...

Категории


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

Полезные заметки

  •