Здравствуйте, ситуация такая: Стоит ubuntu 9.04 desktop когдато ставили apache2+php+mysql, возникла потребность поставить perl, в гугле пол дня статьи рыл...
поставил mod_perl
$ sudo aptitude install libapache2-mod-perl2
$ sudo a2enmod perl
Module perl already enabled
$ perl -v
Результат
читать дальше »
Код:
This is perl, v5.10.0 built for i486-linux-gnu-thread-multi
Copyright 1987-2007, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
Создаю виртуал хост в апаче
$ cd /etc/apache2/sites-available/
$ sudo cp ./default ./test
$ sudo gedit ./test
Редактирую конфиг так:
читать дальше »
Код:
<VirtualHost 127.0.0.3:80>
ServerAdmin @
DocumentRoot /home/my/httpd_docs/test.local/WWW
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/my/httpd_docs/test.local/WWW>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /home/my/httpd_docs/test.local/cgi-bin/
<Directory "/home/my/httpd_docs/test.local/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /home/my/httpd_docs/test.local/test.local-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /home/my/httpd_docs/test.local/test.local-access.log combined
Alias /doc/ "/home/my/httpd_docs/test.local/doc/"
<Directory "/home/my/httpd_docs/test.local/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
создаю директивы:
$ mkdir /home/my/httpd_docs
$ mkdir /home/my/httpd_docs/test.local
$ mkdir /home/my/httpd_docs/test.local/WWW
$ mkdir /home/my/httpd_docs/test.local/cgi-bin
$ mkdir /home/my/httpd_docs/test.local/doc
Включаю домен
$ sudo a2ensite peps.local
добавляю расширение в httpd.conf
Код:
AddHandler cgi-script .cgi .pl
добавляю в hosts домен
$ sudo gedit /etc/hosts
Код:
127.0.0.3 test.local www.test.local
рестарт апач
$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2
... waiting [ OK ]
делаю скрипт проверки:
$ gedit /home/my/httpd_docs/test.local/cgi-bin/env.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";
}
Захожу на
http://test.local/cgi-bin/env.cgi
Ошибка 500 Internal Server Error
Пробовал другие скрипты perl, итог тотже.
содержимое test.local-error.log:
читать дальше »
[Mon Oct 19 04:05:20 2009] [error] [client 127.0.0.3] Premature end of script headers: env.cgi
[Mon Oct 19 04:05:23 2009] [error] [client 127.0.0.3] (13)Permission denied: exec of '/home/peps/httpd_docs/test.local/cgi-bin/env.cgi' failed
[Mon Oct 19 04:05:23 2009] [error] [client 127.0.0.3] Premature end of script headers: env.cgi
содержимое test.local-access.log:
читать дальше »
127.0.0.3 - - [19/Oct/2009:04:05:23 +1100] "GET /cgi-bin/printenv.cgi HTTP/1.1" 500 446 "-" "Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.14) Gecko/2009090216 Ubuntu/9.04 (jaunty) Firefox/3.0.14"
Сборку определяет так:
читать дальше »
Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.2 with Suhosin-Patch mod_perl/2.0.4 Perl/v5.10.0 Server at test.local Port 80
Посоветуйте пожалуйста, что можно сделать. Статьи в интернете ничему не привели, если есть у кого нибуть проверенная статья, дайте плиз линк.
Спасибо.