exelens 22.03.2009 13:38
Есть вопрос! — По почте пришёл Вот такой вопрос
Суть вопроса:Расскажите пожалуйста как правильно настроить Perl и Apache?
Где в конфигурационном файле нужно прописать директорию скриптов Perl чтобы всё работало?
Как я понял из письма у него Ubuntu.
эээ у меня стоит и апач и перл ставил вот по этой статье http://forum.ubuntu.ru/index.php?topic=25668.0 но как мне удалось узнать папка cgi-bin не суеществует то есть мне надо её где-нить сосдать и где-то в конфигах прописать что вот эта папка по дефалту у меня для перл скриптов и все чтоб это работало, и как я понимаю это надо прописывать в конфиге апача но какой имено код прописывать я ненаю... ну как я понимаю прописывать надо в конец apache2.conf или просто в httpd.conf ???
ээээ ну я не досмотрел... и темболие тут нету на даный момент функции редактиррования своизх сообшений....
это ты про perl-cgi, а есть ещё modperl ну и вообще лучше пользоваться кошерными методами.
Вообшем народ давайте не буит тут разводить офтоп, помогите пожалуйста новичку... если не хотите помочь то так и скажите мы тебе не хотим помогать...
P.S. Администратор почисть пожалуйста темку от офтопа...
P.S. Администратор почисть пожалуйста темку от офтопа...
я же тебе сказал чего делать, в чем проблема ? :) если cgi хочешь, то директория cgi-bin в /var/www
Насчет настройки perl я нашол док... правд под винду... ну впринципе отличий нету, как я понял...
4.1) Добавляем директиву ExecCGI для запуска cgi скриптов на корневую директорию. Теперь весь блок будет выглядеть так:
<Directory />
Options Includes Indexes FollowSymLinks ExecCGI
AllowOverride All
Allow from all
</Directory>
4.2) Добавьте индексные файлы с расширением скриптов Perl: .pl .cgi.
<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php index.pl index.cgi
</IfModule>
4.3) Найдите строку:
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/"
Замените её на:
ScriptAlias /cgi-bin/ "C:/apache/cgi-bin/"
4.4) Найдите этот блок:
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Замените его на:
<Directory "C:/apache/cgi-bin">
AllowOverride All
Options None
Order allow,deny
Allow from all
</Directory>
Создайте пустой каталог C:/apache/cgi-bin, который будет содержать глобальные скрипты доступные из всех виртуальных хостов.
4.5) Найдите, раскомментируйте и отредактируйте строку, добавив .pl, определяющую расширения файлов perl скриптов:
AddHandler cgi-script .cgi .pl
5) Создайте тестовый скрипт printenv.pl следующего содержания:
Код:
#!/usr/bin/perl
##
## printenv -- Демонстрационная CGI программа выводящая значения переменных окружения
##
print "Content-type: text/plain; charset=iso-8859-1\n\n";
foreach $var (sort(keys(%ENV))) {
$val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
print "${var}=\"${val}\"\n";
}
Положите этот файл в C:\apache\localhost\www\ и C:\apache\cgi-bin\.
6) Запускаем веб сервер и проверяем:
Глобальный скрипт - http://localhost/cgi-bin/printenv.pl
Локальный, относящийся к виртуальному хосту localhost - http://localhost/printenv.pl
Если скрипты не запускаются, проверьте что у них в shebang (первая строка). Обычно должно быть так:
#!/usr/bin/perl
Уважаемые гуру обьясните мне теперь следуюшее что где над прописавать желательно название файла и что туда над добавить из выше указаного... ?
4.1) Добавляем директиву ExecCGI для запуска cgi скриптов на корневую директорию. Теперь весь блок будет выглядеть так:
<Directory />
Options Includes Indexes FollowSymLinks ExecCGI
AllowOverride All
Allow from all
</Directory>
4.2) Добавьте индексные файлы с расширением скриптов Perl: .pl .cgi.
<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php index.pl index.cgi
</IfModule>
4.3) Найдите строку:
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/"
Замените её на:
ScriptAlias /cgi-bin/ "C:/apache/cgi-bin/"
4.4) Найдите этот блок:
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
Замените его на:
<Directory "C:/apache/cgi-bin">
AllowOverride All
Options None
Order allow,deny
Allow from all
</Directory>
Создайте пустой каталог C:/apache/cgi-bin, который будет содержать глобальные скрипты доступные из всех виртуальных хостов.
4.5) Найдите, раскомментируйте и отредактируйте строку, добавив .pl, определяющую расширения файлов perl скриптов:
AddHandler cgi-script .cgi .pl
5) Создайте тестовый скрипт printenv.pl следующего содержания:
Код:
#!/usr/bin/perl
##
## printenv -- Демонстрационная CGI программа выводящая значения переменных окружения
##
print "Content-type: text/plain; charset=iso-8859-1\n\n";
foreach $var (sort(keys(%ENV))) {
$val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
print "${var}=\"${val}\"\n";
}
Положите этот файл в C:\apache\localhost\www\ и C:\apache\cgi-bin\.
6) Запускаем веб сервер и проверяем:
Глобальный скрипт - http://localhost/cgi-bin/printenv.pl
Локальный, относящийся к виртуальному хосту localhost - http://localhost/printenv.pl
Если скрипты не запускаются, проверьте что у них в shebang (первая строка). Обычно должно быть так:
#!/usr/bin/perl
Уважаемые гуру обьясните мне теперь следуюшее что где над прописавать желательно название файла и что туда над добавить из выше указаного... ?
потом
sudo a2enmod perl
по идее все.