Si la carpeta mobil/ está colgando del directorio del dominio, no habría que hacer nada para que el servidor web encontrara y sirviera los ficheros que hay dentro de ella (y siempre y cuando los permisos de lectura y ejecución de la carpeta fueran correctos).
Otra cosa son los ficheros .pl.
Al servidor web se le puede indicar de varias maneras que, en vez de entregar los contenidos de los ficheros Perl, los ejecute con el protocolo CGI.
Por ejemplo, una configuración típica con el servidor web, sería:
Using text Syntax Highlighting
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>
<Directory /home/*/public_html/cgi-bin>
AllowOverride Options
Options +ExecCGI
SetHandler cgi-script
</Directory>
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Aquí, definimos que ciertas extensiones deben ser interpretadas como correspondientes a programas CGI (AddHandler). O que todo fichero que esté dentro de un directorio ScriptAlias debe también ser considerado así. Y las dos marcas Directory indican las condiciones que queremos aplicar a dos directorios: el /usr/lib/cgi-bin del sistema, y las carpetas cgi-bin/ de cada usuario. Lo principal es marcar en ellas la opción +ExecCGI, para indicar que ahí queremos que se ejecuten los programas, en lugar de volcar sus contenidos.
El orden de ejecución de estas directivas es el siguiente:
* Primero, se permite la ejecución de cgi que estén en el directorio indicado por ScriptAlias
* Luego, si los cgi que queremos ejecutar están fuera de esos directorios, debemos hacer dos pasos:
a) Con AddHandler indicamos la extensión de los cgi
b) Con Options, activamos la opción +ExecCGI en el directorio donde van a estar.
Es decir, con solo la primera opción (ScriptAlias) te vale para definir dónde quieres que residan los cgi.
Y ya está. Un paso de seguridad adicional sería usar el módulo SuExec del Apache. Hay que dar una serie de pasos más en la configuración (usar el módulo UserDir, la URL debe tener un '~' delante del usuario, los cgi deben tener como propietario y grupo al propietario del sitio web, permisos adecuados de lectura y ejecución, etc), pero eso nos da como resultado que el cgi se ejecuta con la personalidad del propietario del sitio, reduciendo mucho los problemas de seguridad.
Más información en el
Apache Tutorial: Dynamic Content with CGI.