El mensaje de error dice que has intentado ejecutar tus scripts como CGI en un directorio que no tiene permisos de ejecución. Entonces debes responderte a estas preguntas:
* ¿Son CGI mis scripts? ¿Es que no puedo/debo/quiero ejecutarles de otra manera? ¿Cómo les ejecutaba en Windows? Pues entonces ejecútalos de la misma manera.
* Si son CGI, los habrás instalado en un directorio visible por el servidor web. Bueno, pues el error indica que a ese directorio le debes poner el ExecCGI a On. La extensión .cgi o .pl es secundaria, pero para el servidor web puede ser importante. Por ejemplo, en la mayoría de las instalaciones Apache, cuando encuentra un fichero .cgi intentará ejecutarlo (y si se cumplen el resto de condiciones para ejecutar CGI en ese directorio, claro).
* Si no son CGI, no los ejecutes como si fueran CGI. Olvídate del servidor web y del cliente web. Arranca una pantalla de terminal y ejecútalos directamente.
Por lo que veo creo que si has escrito los programas en forma de CGI, por lo que entonces lo que falta es configurar bien el servidor web y/o colocar los scripts en un directorio donde sepamos que podemos ejecutarlos. En las últimas instalaciones Apache, vienen configurados para que /usr/lib/cgi-bin sea el único directorio donde esté permitido ejecutar cosas, por lo que tienes dos opciones: o colocas tus programas ahí o vas a la configuración de Apache e indicas otro directorio donde sí puedes ejecutarlos.
Ejemplo, por defecto aparece en httpd.conf este párrafo:
- Código: Seleccionar todo
### CGI's
AddHandler cgi-script .cgi .sh .pl .ida
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ScriptAlias /cgi/ /usr/lib/cgi-bin/
<Directory /usr/lib/cgi-bin/>
AllowOverride None
Options ExecCGI FollowSymLinks -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
que quiere decir que sólo se pueden colocar ejecutables en /usr/lib/cgi-bin y desde el cliente http se puede referenciar a ese directorio como '/cgi-bin/...' o '/cgi/...'. La opción ExecCGI es la que permite ejecutar scripts en ese directorio. Y los scripts permitidos tienen la extensión indicada por la línea AddHandler.
Si, además, quisiéramos darle a los usuarios del sistema (que cada uno reside en su correspondiente directorio /home/usuario/) la posibilidad de ejecutar los scripts que residan en su ~/public_html/cgi privado, deberemos añadir estas líneas:
- Código: Seleccionar todo
<Directory /home/*/public_html/cgi>
AllowOverride Options
Options +ExecCGI
SetHandler cgi-script
</Directory>
Como se ve, estamos indicando un directorio con un camino absoluto, activando la opción ExecCGI e indicando que se active la ejecución de scripts para todo tipo de ficheros que se encuentren ahí.
En tu caso, sólo tendrás que indicar el camino completo al directorio donde se encuentren tus programas.
Resumen: leete la configuración del Apache en donde quieres ejecutarlos.