Add Apache2 Perl Support in Ubuntu 12.04
-
sudo apt-get install libapache2-mod-perl2 (if Ubuntu Server use aptitude install)
-
( if the perl-mod is not enabled, you may use:
sudo a2enmod perl )
-
mkdir ~/www/cgi-bin (it could be anywhere, just take it as an example)
-
Add the following code to
/etc/apache2/sites-enabled/000-default file before </VirtualHost> line.
# Use 'ModPerl' module to process '.pl' and '.cgi' file
<Files ~ "\.(pl|cgi)$">
SetHandler perl-script
PerlResponseHandler ModPerl::PerlRun
Options +ExecCGI
PerlSendHeader On
</Files>
# Use '/home/www/cgi-bin/' as a CGI Directory
ScriptAlias /cgi-bin/ /home/www/cgi-bin/
<Directory "/home/www/cgi-bin/">
Options ExecCGI
AddHandler cgi-script cgi pl
</Directory>
-
Restart the apache2 service:
sudo service apache2 restart
-
Test the perl environment:
-
Create file
test.pl in /home/www/cgi-bin/:
#!/usr/bin/perl -w
print "Content-type: text/html\r\n\r\n";
print "Hello there!<br />\nJust testing .<br />\n";
for ($i=0; $i<10; $i++)
{
print $i."<br />";
}
-
Note 1:
#!/usr/bin/perl -w is used to locate the perl parser which could be located by which perl.
-
Note 2: code
print "Content-type: text/html\r\n\r\n"; is required to make it a valid CGI program.