Apache Permission Denied Error can be caused due to one of many configuration mistakes listed below
Check the apache configuration settings
i) The first is the reference to folder where cgi or perl files will reside and its execute permission settings
<ScriptAlias /cgi-bin/ /usr/local/cgi-bin/> <Directory "/usr/local/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory>
ii) The second is the proper add handlers that are set for the file execution
AddHandler cgi-script .cgi .pl <Files ~ "\.pl$"> Options +ExecCGI </Files> <Files ~ "\.cgi$"> Options +ExecCGI </Files>
Check the apache error log for any messages (/var/log/apache2/error.log).