Si queremos aprovechar nuestro servidor Apache para que reciba llamadas a distintos dominios, pero que cada uno ejecute un CGI Néfele independiente, debemos seguir una pautas de organización y algunos cambios en la configuración de Apache.
En c:\Apache24\cgi-bin debes crear tantas carpetas como dominios tengas y dentro de ellas los ejecutable.
Para evitar confusiones se recomienda usar los nombre de dominio para nombrar las carpetas.
Ejemplo:
c:\Apache24\cgi-bin\dominio1\dominio1.exe
c:\Apache24\cgi-bin\dominio2\dominio2.exe
En la carpeta c:\Apache24\htdocs también puedes crear subcarpetas para cada dominio, nosotros recomendar hacerlo por limpieza y organización.
c:\Apache24\htdocs\dominio1 c:\Apache24\htdocs\dominio2
Siempre que tengamos que modificar algo del hhtpd.cof es muy sano hacer primero una copia del fichero, por que si las modificaciones que hemos realizado provocan algún error solo sabremos que Apache no inicia.
Buscar la palabra ServerRoot y agregamos la variable CGIROOT, si en este equipo hemos utilizado NéfeleWizar lo normal es que nos encontremos que ya esta definida, pero siempre esta bien comprobarlo.
# Define SRVROOT "/Apache24" ServerRoot "${SRVROOT}" #---------------------------------------------------------------------------- # Definimos la variable CGIROOT con la carpeta CGI principal Define CGIROOT "/Apache24/cgi-bin" #---------------------------------------------------------------------------- #
Localiza esta cadena y quita la # del Include
# Virtual hosts # Include conf/extra/httpd-vhosts.conf
Agregar los Dominios que tengas como figura aquí:
<VirtualHost dominio1.com:80> ServerAdmin dominio1@gmail.com ScriptAlias /index.html "${CGIROOT}/dominio1/dominio1.exe" // Aquí podemos añadir otros Alias que nos hagan falta para este dominio DocumentRoot ${SRVROOT}/htdocs/dominio1 // En caso de no utilizar una carpeta htdocs para cada dominio omite esto ServerName dominio1.com ErrorLog logs/dominio1.com-error_log CustomLog logs/dominio1.com-access_log common </VirtualHost> <VirtualHost dominio2.com:80> ServerAdmin dominio2@gmail.com ScriptAlias /index.html "${CGIROOT}/dominio2/dominio2.exe" // Aquí podemos añadir otros Alias que nos hagan falta para este dominio DocumentRoot ${SRVROOT}/htdocs/dominio2 // En caso de no utilizar una carpeta htdocs para cada dominio omite esto ServerName dominio2.com ErrorLog logs/dominio2.com-error_log CustomLog logs/dominio2.com-access_log common </VirtualHost>
Como siempre que toqueteamos algún fichero de configuración de Apache, procedemos a reiniciar apache, cruzando los dedos porque si hemos cometido algún error es muy posible que no vuelva a iniciar.
Articulo creado gracias a la inestimable ayuda e infinita paciencia de Marcelo Roggeri