Fedora linux forum

Форум русской поддержки ОС Fedora linux

 

#1 2009-06-15 15:32:48

Foxcool
Member
Зарегистрирован: 2008-02-24
Сообщений: 83

mod perl на Fedora 10

Изучаю Perl. Решил поставить модуль, чтобы попрактиковаться. Ставится все легко, а вот заставить его работать не могу. Конфиг сижу часами поправляю. Мне нужно, чтоы все .pl файлы выполнялись и index.pl работал. В httpd.conf добавил index.pl в строке DirectoryIndex. Выполнения не могу добиться.

Неактивен

 

#2 2009-06-15 15:35:55

Foxcool
Member
Зарегистрирован: 2008-02-24
Сообщений: 83

Re: mod perl на Fedora 10

Спойлер:

[Foxcool@foxbook html]$ cat < /etc/httpd/conf.d/perl.conf
#                                                       
# Mod_perl incorporates a Perl interpreter into the Apache web server,
# so that the Apache web server can directly execute Perl code.       
# Mod_perl links the Perl runtime library into the Apache web server 
# and provides an object-oriented Perl interface for Apache's C       
# language API.  The end result is a quicker CGI script turnaround   
# process, since no external Perl interpreter has to be started.     
#                                                                     

LoadModule perl_module modules/mod_perl.so

# Uncomment this line to globally enable warnings, which will be
# written to the server's error log.  Warnings should be enabled
# during the development process, but should be disabled on a   
# production server as they affect performance.                 
#                                                               
PerlSwitches -w                                                 

# Uncomment this line to enable taint checking globally.  When Perl is
# running in taint mode various checks are performed to reduce the   
# risk of insecure data being passed to a subshell or being used to   
# modify the filesystem.  Unfortunately many Perl modules are not     
# taint-safe, so you should exercise care before enabling it on a     
# production server.                                                 
#                                                                     
#PerlSwitches -T                                                     

# This will allow execution of mod_perl to compile your scripts to
# subroutines which it will execute directly, avoiding the costly
# compile process for most requests.                             
#                                                                 
#Alias /perl /var/www/perl                                       
#<Directory /var/www/perl>                                       
#    SetHandler perl-script                                       
#    PerlResponseHandler ModPerl::Registry                       
#    PerlOptions +ParseHeaders                                   
#    Options +ExecCGI                                             
#</Directory>

#PerlModule ModPerl::Registry
#<Files ~ ".pl">
#     SetHandler perl-script
#     PerlHandler ModPerl::PerlRun
#     Options +ExecCGI
#     PerlSendHeader On
#     allow from all
#</Files>

Alias /perl /var/www/perl
<Directory /var/www/html>
    SetHandler perl-script
    PerlResponseHandler ModPerl::PerlRun
    PerlOptions +ParseHeaders
    Options +ExecCGI
    Allow from all
</Directory>

# This will allow remote server configuration reports, with the URL of
#  http://servername/perl-status
# Change the ".example.com" to match your domain to enable.
#
#<Location /perl-status>
#    SetHandler perl-script
#    PerlResponseHandler Apache2::Status
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Location>

один блок закоментирован. Пытался уже сделать хотябы чтобы в папке выполсялось. Но никак. Даже тот дефолтный.

Неактивен

 

#3 2009-06-17 18:03:18

eraserhead
Member
Откуда: Moscow, Russia
Зарегистрирован: 2008-05-02
Сообщений: 134

Re: mod perl на Fedora 10

привет,

Foxcool написал:

Изучаю Perl. Решил поставить модуль, чтобы попрактиковаться. Ставится все легко, а вот заставить его работать не могу. Конфиг сижу часами поправляю. Мне нужно, чтоы все .pl файлы выполнялись и index.pl работал. В httpd.conf добавил index.pl в строке DirectoryIndex. Выполнения не могу добиться.

perl.conf поправляешь?

несколько хитов или короткий action plan:

- права -- проверь, что скрипты исполняемы (+х), принадлежат пользователю от которого запускается httpd (скорее всего apache:apache);

- поправь perl.conf след. образом:

Код:

Alias /perl /var/www/perl
<Directory /var/www/perl>
Options ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>

(эти опции можно задать глобально в httpd.conf, может они уже там есть)

- создай тестовый файл index.pl (рабочий контент может найти ниже smile) и положи в /var/www/perl, затем запусти из любимого броузера.

Код:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<h1>wasssap maan, it's works!!!</h1>\n";

Если после все этого ты не увидишь текста на странице, то идем в /var/log/httpd и смотрим последние записи в error_log и access_log

P.S. последний пункт логичнее было сделать первым wink


Failure is not an option -- it comes bundled with Windows.

Неактивен

 

#4 2009-06-18 17:21:58

Foxcool
Member
Зарегистрирован: 2008-02-24
Сообщений: 83

Re: mod perl на Fedora 10

Я, конечно сделал по-своему, но ваши подсказки вызвали у меня инсайты, без которых до меня бы не дошло. Проблема таилась в том, что я действительно пытался править perl.conf. Если внимательно взглянуть на основной конфиг, и конфиги, которые инклудятся из ../conf.d, то там очень много возможностей сделать ошибку обнаруживается. Многие строки там и там описывают дествия над одними и теми же объектами. Я вырубил этот инклуд и поправил все напряую. Теперь работает. (:
Опыта прибавилось немного. На хостинге меня пока не учат без панели настраивать всякие вкусности, т.к. без надобности это почти.

Большое спасибо!

Отредактированно Foxcool (2009-06-18 17:22:18)

Неактивен

 

#5 2009-06-29 15:58:50

eraserhead
Member
Откуда: Moscow, Russia
Зарегистрирован: 2008-05-02
Сообщений: 134

Re: mod perl на Fedora 10

Foxcool,

не кошерно все в один конфиг сваливать smile для этого такую структуру и создали

представь себе ситуацию, когда у тебя будут постепенно появляться новые модули/фишки/дополнения к твоему web-серверу — к примеру тот же самый phpmyadmin/phppgadmin/roundecube и прочее... и что все должны дописывать необходимые строки в основной конфиг httpd? а потом ты будешь по нему искать что и где если понадобится что то поправить? однозначно неудобно!


Failure is not an option -- it comes bundled with Windows.

Неактивен

 

#6 2009-07-02 14:20:25

Foxcool
Member
Зарегистрирован: 2008-02-24
Сообщений: 83

Re: mod perl на Fedora 10

А я уже вернул все на место. И перенастроил кошерно. wink

Кстати, как раз установка майадмина и заставила вернуть структуру... (:

Отредактированно Foxcool (2009-07-02 14:21:43)

Неактивен

 

#7 2009-07-18 12:12:15

eraserhead
Member
Откуда: Moscow, Russia
Зарегистрирован: 2008-05-02
Сообщений: 134

Re: mod perl на Fedora 10

прив,

дело привычки smile


Failure is not an option -- it comes bundled with Windows.

Неактивен