Apache. Запуск CGI приложений

CGI - это стандартный метод веб-серверов для запуска внешних приложений, передавать им запросы браузеров и отдавать клиенту генерируемые этими приложениями ответы. CGI приложения это один из самых простых способов создания динамических страниц на вашем веб-сервере.

CGI приложения могут быть написаны на разных языках. Часто используемые - Perl, C, Python, PHP. Вы можете даже написать shell скрипт, который будет исполняться как CGI программа. В Интернет - огромное количество примеров, если интересно.

CGI программы это обычные файлы, как HTML или картинка. Отличие только в том, что когда клиент обращается к ним, Apache запускает их и возвращает клиенту сгененрированный результат. Обычно эти программы имеют расширение .cgi и распологаются в каталоге cgi-bin вашего веб-сервера. Хотя это не обязательно.

Для того, чтобы разрешить запуск CGI приложений на вашем веб-сервере проделайте следующие шаги:

1. На главной странице модуля нажмите на иконку виртуального сервера, на котором вы хотите включить исполнение CGI приложений. Или выберите Default server(Сервер по умолчанию), чтобы разрешить исполнение на всех виртуальных серверах.

2. Нажмите на значок каталога в котором вы хотите разрешить исполнение CGI приложений.

3. На странице параметров каталога нажмите на значок Document options(Параметры документа) и измените поле Directory options(Параметры каталога) в значение Selected below(Выбранные ниже). Затем установите переключатели Execute CGI programms(Запускать CGI приложения) и Generate directory indexes(Создать индексный файл для каталога) в значение Yes(Да). Нажмите кнопку Save(Сохранить). Эта настройка - разрешает Apache исполнять CGI в этой директории.

4. Вернитесь на страницу параметров каталога и нажмите на значок MIME Types. В таблице Content handlers(Контент) выберите cgi-script из выпадающего списка и введите .cgi в поле рядом. Затем нажмите кнопку Save(Сохранить). Эта настройка - сообщеает Apache, идентифицировать любые файлы с расширением .cgi как CGI программы.

5. Нажмите на кнопку Apply Changes(Применить изменения) для актуализации изменений.

Можете проверить, должно уже работать.

 

Ва также можете установить права доступа на этот каталог, чтобы ограничить круг пользователей, кто может создавать CGI приложения. Для настройки доступа проделайте следующие шаги:

1. На главной странице модуля нажмите на иконку виртуального сервера, на котором вы хотите сконфигурировать исполнение CGI приложений. Или выберите Default server(Сервер по умолчанию), чтобы сконфигурировать исполнение на всех виртуальных серверах.

2. Нажмите на значок CGI Programs(CGI приложения). Откроется окно для конфигурирования параметров CGI.

3. CGI directory aliases(Алиасы CGI) работают точно так же как и простые алиасы.

В пустую строку введите URL путь типа /cgi-bin/ в поле From(Откуда) и полный путь к каталогу в поле To(Куда), например /home/example/cgi-bin/.

4. Нажмите кнопку Save(Сохранить) и Apply Changes(Применить изменения) чтобы изменения вступили в силу.

 

Обычно, все CGI приложения запускаются от имени пользователя, от которого запущен веб-сервер Apache. На системе с множеством пользователей это может быть не безопасно, так как любое CGI приложение пользователя будет исполнятся от имени apache или httpd, а это значит, что можно закрыть доступ к некоторым файлам для другого пользователя или внести изменения в конфигурацию Apache воспользовавшись специально запрограммированным CGI скриптом. Поэтому имеет смысл определить, что CGI приложения виртуального хоста будут запускаться от имени владельца этого хоста. Для этого проделайте следующие шаги:

1. Удостоверьтесь, что на вашем сервере есть программа suexec.

2. На главной странице модуля нажмите на значок виртуального сервера, который вы хотите изменить.

3. Нажмите на значок User and Group(Пользователи и группы).

4. В поле Run as UNIX user(Запуск от имени) выберите User name(Имя пользователя) и введите имя пользователя, кто является владельцем этого виртуального хоста.

5. Таким же образом заполните поле Run as UNIX group(Запуск от группы), выберите Group name(Имя группы) и введите ее имя.

6. Нажмите кнопку Save(Сохранить).

7. Для первого запуска suexec, нажмите Stop Apache(Остановить Apache) и затем Start Apache(Запустить Apache).

8. Для проверки, работает ли suexec, откройте лог ошибок Apache. В нем должна появится строчка, что suexec mechanism enabled(suexec включен).

 

Помните, что процесс написания CGI приложений довольно сложен, так как все, что вы увидите в случае ошибки это 500 HTTP Status code. Для тестирования приложений будет удобно использовать модули к Apache, такие как mod_perl и mod_php. Они помогают при отладке кода приложений.




Ссылки:

К содержанию

© Copyright 2004-2017 - CMS Made Simple
Сайт работает на CMS Made Simple version 1.4.1

© Все печеньки Break-people.ru принадлежат авторам проекта.

Яндекс цитирования Рейтинг@Mail.ru Яндекс.Метрика