CGI (от англ. Common Gateway Interface — «общий интерфейс шлюза») — стандарт интерфейса, используемого для связи внешней программы с веб-сервером. Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, хотя многие предпочитают названия «скрипт» (сценарий) или «CGI-программа».
Подключение CGI для исполнения в настройках apache
Выполняемой программой может быть любая программа или скрипт расположенный в зоне видемости апача. Также этот файл должен иметь флаг "исполняемый"(ls -lah file.pl где будет указаны права этого файла. chmox +x file.pl для установки прав файла.) Также на многих серверах недопускается выполнение файла если директория в которой находится скрипт и/или файл скрипта возможны для записи всех пользователей(имеют права 777). В этом случае будет выдана 500 ошибка браузеру (Internal Server Error) и будет добавлена запись в лог-файлы (в директории /var/log/httpd/ в файлы error_log или suexec.log) следующего содержания:
[2011-01-13 15:45:38]: uid: (503/w2atech) gid: (505/505) cmd: collector.pl
[2011-01-13 15:45:38]: file is writable by others: (/var/www/user/data/www/site.ru/bin/collector.pl)
Для того, чтобы разрешить Web-серверу запускать скрипты необходимо выполнить следующее Создать или открыть файл .htaccess в директории где находится скрипт и добавить в него следующие строки.
Options +ExecCGI
AddHandler cgi-script .cgi .pl
После чего все файлы с расширениями .cgi и .pl будут считаться внешними программами и если будут обладать возможностью запуска, будут запускаться и весь стандартный вывод будет передоваться браузеру клиента.
Свежие комментарии