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



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

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





Другие материалы и статьи
» Рекламная контекстная сеть "Контекст": Сегодня речь пойдет о новой рекламной сети "Контекст", позволяющей разместить рекламные блоки аналогичн...
» Автоматическое продвижение сайтов в SAPE с помощью Wizard.Sape: Представляю анонс нового сервиса от Сапе - Wizard.Sape. С сегодняшнего дня работатет окрытое бета-...
» Коротко о создании сайтов: Создание сайта - первый шаг на пути освоения интернета и эффективного использования его возможностей. К...
» Современные технологии продвижения сайтов: Поисковое продвижение сайта - это совокупность методов, позволяющих поднять позицию сайта в разных поис...
» Биржа тизерной рекламы Teasernet: Тизеры -- это наборы небольших блоков: текст + картинка, которые «дразнятся», т.е. завлекают посетителя...

Категории


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

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

  •