Выполнение perl-скриптов на сервере

Привет!

Продолжу серию постов по настройке сервера на Ubuntu. Сегодня мы рассмотрим выполнение и вывод результата работы perl-скриптов.

PERL FILE Давайте создадим простой perl-скрипт и загрузим его на сервер.

Код скрипта
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, world!";
При обращении к нему мы увидим его код:
2015-01-02_114250

Просто залить скрипт на сервер в папку cgi-bin мало, необходимо произвести специальную настройку. Напомню, у нас есть сервер с ОС Ubuntu 14.04 и Apache 2.4.7. Первым делом правим файл mime.conf, который расположился в /etc/apache2/mods-available/:
 nano /etc/apache2/mods-available/mime.conf 
После строчки  #AddHandler cgi-script .cgi 
добавляем  AddHandler cgi-script .pl 
и перезагружаем Apache:  service apache2 reload 

Теперь при обращении напрямую сервер возвращает нам ошибку 403 (Запрещено). Скорее всего это будет именно так. Для исправления ситуации необходимо прописать в конфигурации виртуального хоста после DocumentRoot:
        
                AllowOverride None
                Options +ExecCGI
                Require all granted
        

и выполняем в консоли команду  chmod +x /путь/до/cgi-bin/название_скрипта.pl 
Теперь наш скрипт выполняется:
2015-01-02_122832

Для вывода результата на какой-либо странице необходимо в конфиг-файле, для директории сайта дописать Options Includes и на следующей строчке: AddHandler server-parsed .shtml .php (расширения могут быть любые), чтобы получилось так:
2015-01-02_133353

SHTML Теперь создадим страницу hi.shtml, для вывода содержимого hi.pl, который использовался в примерах. В любом месте страницы, где нам необходимо подключить perl-скрипт вставляем  . В моём случае это тег H2:

Код страницы hi.shtml



Hi!


Тут может быть любой текст...



В действии эту страницу можно увидеть тут: oles.pp.ru/demo/perl/hi.shtml

Спасибо за внимание!

Автор: Олесь Быков

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.