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

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





Другие материалы и статьи
» Система по покупке и продаже трафика Ru Click: Данная система дает возможность быстро и дешево купить посетителей рекламодателю,  владе...
» Заработок на обмене валюты с помощью Forex: Forex представляет собой биржу, размещенную в сети Интернет, с помощью которой, играя на рынке, участни...
» Аналитический обзор рынка FOREX за среду, 10 февраля 2010 года: В среду европейский заряд на борьбу с долларом США несколько ослаб, в то же время о поддержке со сторон...
» Партнерская программа с оплатой за регистрации Fishker.ru: Краткий обзорчик партнерки Fishker.ru (заработок от социальной сети за бесплатные регистрации)Может ком...
» Анонс партнерской программы и хостинга Сервер Хост: Уникальный набор услуг: партнерская программа и профессиональный хостинг на максимально выгодных д...

Категории


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

  •   

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