Лични средства
Вие сте тук: Начало Дебиан Справочник CGI

CGI

Използване на CGI програми

CGI са програми, които имат URL. Когато се извърши достъп до този URL, уеб сървърът изпълнява програмата и изходът й се връща към клиента. Този изход може да бъде HTML, чист текст, графика или нещо друго. Тук няма да се описват техники как се правят CGI програми, а само необходимото за да се настрои такава програма да работи на debian.

Програмата трябва да е с разширение .cgi, да е изпълнима и да отговаря на условията на apache. Ако програмата не отговаря на условията на apache, то опитите да се изпълни CGI-a ще връщат Internal server error, а описание на грешката може да се намери във файла /var/log/apache/suexec.log. Ето пример за създаване на CGI с адрес http://debian.fmi.uni-sofia.bg/~потребител/test.cgi:

$ chmod go-w,a+x public_html

$ cd public_html
$ cat > test.cgi
#!/bin/sh
echo 'Content-Type: text/plain'
echo
id
^D

$ chmod go-w,a+x test.cgi

Последната команда премахва правото write за group и other и добавя право execute за all.

Накратко

  • Файлът трябва да е с разширение .cgi и ако е скрипт първият ред да изглежда така:
    #!пълен_път_до_интерпретора [опции]
    Уверете се, че файлът съществува, особено ако е в директорията /usr/local.
  • Правата на файла трябва да позволяват изпълнението от всички и да не може да се променя от другите и от групата:
    chmod go-w,a+x файл
    
  • Правата на директорията да не позволяват други да я променят (и така да подменят CGI-а):
    chmod go-w директория
    
  • Подробности около грешките могат да се намерят във файловете /var/log/apache/error.log и /var/log/apache/suexec.log. Когато в първият файл има грешка Premature end of script headers подробности за грешката трябва да се търсят във втория файл.
Действия към документ