Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/07/2009, 09:30
Pato2
 
Fecha de Ingreso: junio-2007
Mensajes: 4
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: ¿Cómo hacer para que un servidor Apache vea un web.config?

Listo ya solucioné mi problema... ahorita les cuento como.

Este es el toque:

Creamos un nuevo Sitio Web.

Para eso realizamos los siguientes pasos:

Tomando como base la información de: "visualwin.com\host-header\"
Hacemos lo siguiente:

1. Abrimos el IIS.


2. Damos clic derecho sobre la carpeta raíz “Web Sites” y seleccionamos la opción “New” y la sub-opción “Web Site…”


3. Indicamos una descripción:


El siguiente paso es el más importante.

4. Indicamos el puerto por el que va a escuchar este nuevo Sitio Web. Debe ser diferente al 80 ya que el Sitio Web que se crea automáticamente al instalar el IIS usa ese puerto de forma predeterminada. En nuestro caso particular usamos el puerto 8080.
Además debemos indicar el nombre de encabezado de host (Host header) que será el nombre que tomar nuestro nuevo Sitio Web (Como el caso del “Default Web Site” que se crea al instalar el IIS) y no es precisamente es el nombre con el que se accederá a través de la red. En nuestro caso particular usamos el nombre “Nuevo Web Site” (puede renombrarse después si es necesario).


5. Lo siguiente es indicar la ruta donde se alojaran nuestras aplicaciones (esto corresponde a la ruta “C:\inetpub\wwwroot” en el “Default Web Site”). En nuestro caso particular usamos la ruta “C:\inetpub\wwwroot2”.


Preferiblemente para no tener que estar desactivando la opción de permisos de accesos anónimos en nuestros directorios virtuales podemos impedirlos completamente en este nuevo Sitio Web al desmarcar la opción “Allow anonymous access to this Web site”.

6. La opción siguiente la dejamos como esta, a menos que se requiera hacer algún cambio.

Finaliza la creación del nuevo Sitio Web.

Publicamos la aplicación.

Nota Importante: No debe hacerse como podría hacerse con una carpeta comúnmente (dándole clic derecho, propiedades, Web Sharing o Uso Compartido Web ) donde no importa su ubicación, ya que de esa forma la estaríamos publicando en el “Default Web Site” donde se supone que ya existe un directorio virtual con el mismo nombre, por lo que no nos será posible.

La forma de hacerlos es la siguiente:

1. Copiamos las carpetas que necesitamos (de “C:\inetpub\wwwroot”) y las colocamos en la ruta de alojamiento de nuestro nuevo sitio web (“C:\inetpub\wwwroot2”).

2. Remplazamos en todos los archivos de texto (.config, .aspx, .xml, etc) donde se utilice el nombre del servidor (NombreServidor) o la palabra “localhost” por NombreServidor:puerto (NombreServidor:8080) o localhost:puerto (localhost:8080) respectivamente.
Para esto puede utilizarse la herramienta gratuita TexRep (una posible ruta de descarga esta en este enlace: "no-nonsense-software.com\cgi-bin\redirect\cgirdir.exe?texrep".

3. En el IIS creamos los pools de aplicación necesarios (puede que no requieras ninguno).

4. Actualizamos (refrescamos) nuestro nuevo Sitio Web para poder ver los directorios que hemos agregado.

5. Damos clic derecho sobre el directorio que queremos publicar y seleccionamos la poción “Properties”.

6. En el cuadro de dialogo que se nos muestra (estando en la etiqueta o pestaña “Directory” ) damos clic al botón “Create” y seleccionamos la opción que corresponda de la lista de pool de aplicación (si no tienes otra opcion dejalo en el default).

Los siguientes pasos pueden ser opcionales para otros proyectos:

7. Seguidamente seleccionamos la etiqueta o pestaña “Directory Security” y damos clic en el botón “Edit…”.

8. Si la opción “Enable Anonymous access” se encuentra habilitada la deshabilitamos y damos clic al botón “OK” (esto solo si tu aplicación no requiere acceso anónimo).

9. Finalmente damos clic a la etiqueta o pestaña “ASP.NET” y verificamos que la versión de “Framework” sea la requerida según la aplicación que estemos publicando (1.1.4322 ó 2.0.50727).

Estos últimos 5 pasos (del 5 al 9) deben realizarse para cada directorio que se deba publicar.





Cita:
Iniciado por Pato2 Ver Mensaje
Hola a todos.
Espero se encuentren bien.

Mi caso es el siguiente:
Se desea montar varios web services (creados en .net 2005) para una aplicación de pruebas y esos mismos para una aplicación de producción en un mismos servidor (Windows 2003 server Enterprise edition), pero que vean bases de datos (SQL server 2005) diferentes y que ambas aplicaciones puedan correr al mismo tiempo.

El problema: En el IIS (v6.0) no se pueden crear dos directorios virtuales con el mismo nombre.

Solución parcial: Monte un servidor Apache que incluye el modulo mod_aspdotnet.so (v2.2.0.2006) donde la aplicación de pruebas la he direccionado al puerto 8080.
El otro problema: el servidor apache toma su configuración de “httpd.conf” y no del los web.config de los web services.

Las dos preguntas:
¿Cómo hacer para montar dos web services con el mismo nombre en el IIS? o
¿Cómo hacer para que un servidor Apache vea un web.config?


Detalles adicionales:
El problema principal está en la autenticación en el web.config pues si pongo <allow users="?" verbs="GET,POST" /> la pagina de logueo toma como nombre de usuario a “SYSTEM” que es con el que se inicia el servicio de Apache. Cambié la configuración de inicio del servicio de Apache para que se inicie con mi usuario pero esto tampoco sirvió. Pues aunque si toma mi nombre de usuario por defecto (como lo haría si tomara <authentication mode="Windows" />) al poner mi contraseña dice que el nombre esta vacio.

Última edición por Pato2; 03/08/2009 a las 13:42