уже в общем пару часов мучаюсь, и догадываюсь, что разгадка в какой-нибудь точке с запятой где-то в конфиге или еще что-то из той же оперы.. но все же.
Проблема: Apache2 вместо запуска перл-скрипта просто выводит его содержимое.
уже кучу веток перечитал, и тут /etc/apache2/mods-available/mime.conf строку
AddHandler cgi-script .pl
расскоментил.
и такие команды делал:
ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/
ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/
ах, да. еще сталкивался с такой ошибкой при выполнении:
/var/log/apache2$ sudo a2enmod perl
ERROR: Module perl does not exist!
хотя сам перл из командной строки вполне себе работает.
Привожу конфиги.
/etc/apache2/sites-available/default:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Directory /var/www/labs/>
Options +ExecCGI Includes
AddHandler cgi-script .pl cgi-action
SetHandler *.pl
AllowOverride All
Order allow,deny
allow from all
<Files ~ "\.pl$">
Options +ExecCGI
</Files>
</Directory>
# ScriptAlias /cgi-bin/ /var/www/cgi-bin/
# <Directory "/var/www/cgi-bin">
# AllowOverride None
# Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
# Order allow,deny
# Allow from all
# </Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/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>
(Кстати, да, необходимо запустить скрипт из той папки, в которой он лежит. В данном случае labs)
файл httpd.conf оставил пустым, как и советуют везде.
и так как файл отображается, то и в логах ошибок ничего по этому поводу нет..
Пользователь решил продолжить мысль 10 Апреля 2013, 11:24:28:
чуть не забыл, вот содержимое перл-скрипта:
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>";
print "<HEAD><TITLE> Test </TITLE></HEAD>";
print "<BODY>";
print "<br>";
print "<h2>123</h2>";
print "</BODY></HTML>";