PDA

Показать полную графическую версию : Как подружить Apache и Perl?


Savant
13-01-2005, 23:30
На сервере (Windows 2k) стоит Apache 2.0.51 . Но никак не удается запустить perl-скрипты. Пёрл потребовался мне недавно, поэтому я не очень знаком с конфигурированием сервера на работу с пёрл. Сначала просто продублировал настройки для PHP c необходимыми поправками, но при запуске скрипта вылезает ошибка 500 (скрипты тут не при чем, тестировал даже простейший Hello World с одним print'ом). Помудрил еще, теперь файлы не запускаются, а загружаются с сервера :( . Вернул назад, к ошибке 500.

Помогите настроить перл, ведь он у многих стоит, дайте свои настройки в крайнем случае. Active Perl 5.8.6

mar
14-01-2005, 00:00
1) Перл сам по себе работает?
2) пример простого скрипта, выдающего 500-ую ошибку?
3) что в логе апача? (про ошибку)

Vlad Drakula
14-01-2005, 00:26
Savant
могу сказать что если взять настройки от ПХП и переписать их для перла то перл будет работать, но это так для если устанавливать перл в режиме CGI.

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

Savant
а инсталлеер запускал?

Savant
14-01-2005, 00:51
mar
Спасибо, что сказал про лог Апача
[Fri Jan 14 00:43:50 2005] [error] [client 192.168.0.1] malformed header from script. Bad header=Hello, World...: hello.pl

добавил в начало print "Content-Type: text/html\n\n"; и все заработало. Клево :) Ща учить будем
Но почему попадающиеся мне перловые скрипты не имеют в начале этой строчки?

С Новым годом друзья

Oaxa
14-01-2005, 08:23
Но почему попадающиеся мне перловые скрипты не имеют в начале этой строчки?
Скорее всего потому, что в попадающихся тебе скриптах есть немного другая строчка, например такая:
use CGI qw(:standard);
print header();
print start_html("Title");
.....
Другими словами, print "Content-Type: text/html\n\n"; в чистом виде используется редко. Чаще ее вызывают через функцию header модуля CGI.pm.

Savant
14-01-2005, 12:38
Oaxa
Да, действительно, вызов функций этого модуля используется. Спасибо

N:I:C:K:O:L:A
13-10-2005, 12:31
Извеняюсь за тупость и лень но вот вопрос:
настроил апач по инструкциям отсюда (http://www.thesitewizard.com/archive/addcgitoapache.shtml) взял простенькии принт скрипт и в ответ получил ошибку 403 Forbidden, разрешения говорит к файлу нет. Перепробавал на всех 2 пользаватей на машине но ответ такой же.

Работаю с\на

Apache/2.0.54 (Win32)
ActivePerl 5.8.0.802 Beta
Windows 2000 profesioal


Всем большое спасибо.

dmitryst
13-10-2005, 17:46
N:I:C:K:O:L:A
Видно, он у вас вне cgi-bin лежит, или cgi-bin секция сконфигурирована неверно
Дайте ту часть конфига (httpd.conf) где cgi-bin описывается, помозгуем

N:I:C:K:O:L:A
14-10-2005, 11:20
Не совсем уверен то что вам нужно поэтому выложу кажую строску с упоминанием cgi-bin

ScriptAlias /cgi-bin/ "E:/Program Files/Apache Group/Apache2/cgi-bin/"


<Directory "E:/Program Files/Apache Group/Apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

там их оказалось всего две.

А что может лежать вне cgi-bin? и какие должны быть конфигурации у cgi-bin?

vadimiron
14-10-2005, 11:45
N:I:C:K:O:L:A
Ну а скрипт то лежит в cgi-bin папке?? то есть в E:/Program Files/Apache Group/Apache2/cgi-bin/ ??
Или вы выполнили пункт номер 2 из статьи, приведённой вами?? тогда скрипт должен выполнятся везде

dmitryst
14-10-2005, 12:42
N:I:C:K:O:L:A
1. Скрипт должен лежать в cgi-bin
2. в начале перловского скрипта должна быть строка - путь к perl.exe, например '#!c:/perl/perl.exe" ( + в переменные окружения надо добавить путь до перла)
3. а файловая система NTFS?

vadimiron
14-10-2005, 12:44
+ в переменные окружения надо добавить путь до перла
А это обязательно?? Это же вроде тольео для удобства нужно, но перл и без этого должен работать

benya
14-10-2005, 13:01
1) Можно и как в юниксе, что бы когда будете загружать на сервер не менять пути #!/usr/bin/perl
2) Да эта тема бессмысленна. Perl и Apache дружат по умолчанию. Главное правильно поставить.

N:I:C:K:O:L:A
14-10-2005, 20:36
насколько я понял из документации то апач автаматически обрабатывает файлы с именем index.cgi/pl/html

Но да в принцепе указал полный urs не чего не изменилось

benya
17-10-2005, 11:02
Не может такого быть. На win32 вообще элементарно апач установить. Ищите ошибки.

dmitryst
17-10-2005, 12:40
N:I:C:K:O:L:A
Точно не может. Вчера у себя смотрел - конфиг стандартный, все работает ;)




© OSzone.net 2001-2012