IIS


Microsoft IIS

Microsoft Internet Information Services includes a web server, an ftp server and other services. IIS runs in Windows Server, however, for testing Microsoft IIS can run on Windows XP, Windows Vista, Windows 7, Windows 8 or Windows 8.1.
El programa Microsoft Internet Information Services incluye un servidor web, un servidor de ftp y otros servicios. IIS corre en un servidor Windows, sin embargo, para pruebas Microsoft IIS puede ejecutarse en Windows XP, Windows Vista, Windows 7, Windows 8 o Windows 8.1.

Common Gateway Interface (CGI-BIN)

It is a standard method used to generate dynamic content on web applications. A CGI-BIN executable is a console program *.exe that when is executed it generates html as shown in the code below. The web server sets CGI-BIN environment variables and sends data using the standard input. In the code below, the program may use the query_string to retrieve the data collected by a web form. You may create a CGI-BIN executable using any programming language and any platform.
Es un método estándar usado para generar contenido dinámico en aplicaciones web. Un ejecutable CGI-BIN es un programa de consola *.exe que cuando es ejecutado éste genera html como se muestra en el código de abajo. El servidor web fija variables de ambiente CGI-BIN y envía datos usando a la entrada estándar. En el código de abajo, el programa puede usar la query_string para retraer los datos colectados por una forma web. Usted puede crear ejecutables CGI-BIN usando cualquier lenguaje de programación y cualquier plataforma.

MyCgi.cpp
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
     char *browser = getenv("HTTP_USER_AGENT");
     char *query_string = getenv("QUERY_STRING");
     char *server_name = getenv("SERVER_NAME");
     // Do something with query_string
     //
     printf("Content-Type: text/html;charset=us-ascii\n\n");
     printf("<html>Hello world</html>");
     return 0;
}


ISAPI Extension

Becasuse CGI-BIN executable requires a lot of resources in the web server, ISAPI Extension is an alternative way to integrate programs in the Web Server using a DLL.An ISAPI Extension is a DLL that can be loaded by the Web Server and has the following exportable functions:
  • BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO* pVer) provides the version of the ISAPI extension
  • BOOL WINAPI TerminateExtension(DWORD dwFlags) is called to terminate the service
  • DWORD WINAPI HttpExtensionProc(EXTENSION_CONTROL_BLOCK* pECB) is called every time an HTTP request is received.
The DLL produced when compiling a Wintempla Web application is an ISAPI Extension.
Porque un ejecutable CGI-BIN requiere muchos recursos en el servidor Web, las Extensiones ISAPI son una alternativa para integrar un programa en el servidor Web usando una DLL. Una Extension ISAPI es una DLL que puede ser cargada por el servidor Web y tiene las siguientes funciones exportables:
  • BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO* pVer) proporciona la versión de la extension ISAPI.
  • BOOL WINAPI TerminateExtension(DWORD dwFlags) es llamada para terminar el servicio.
  • DWORD WINAPI HttpExtensionProc(EXTENSION_CONTROL_BLOCK* pECB) es llamada cada vez que una solicitud de HTTP se recibe.
La DLL producida cuando se compila una aplicación web de Wintempla es una Extension ISAPI.

Problem 1
Install Microsoft IIS. Go Control Panel > Program and Features > Turn Windows Features on or off > Internet Information Services, select as shown in the figure. If you do have Microsoft IIS in your computer, you may installed Microsoft IIS Express.
Instale Microsoft IIS. Vaya a Control Panel > Program and Features > Turn Windows Features on or off > Internet Information Services, seleccione como muestra la figura. Si usted no tiene Microsoft IIS en su computadora, usted puede instalar Microsoft IIS Express.

WindowsFeatures

Monitor a Web Server

Microsoft IIS provides some tools to monitor the operation of the web server as shown in the figure below. If you need to track the use of your server, you should consider checking some of these features.
Microsoft IIS proporciona algunas herramientas para monitorear la operación del servidor web como se muestra debajo. Si usted necesita seguir el uso de su servidor, usted debería considerar seleccionar algunas de estas características.

HealthAndDiagnostics

Internet Information Services manager

Internet Information Services manager is divided in:
  • Web servers You can use IIS manager to configure local and remote web servers.
  • Application pools You can add, edit or delete application pools to a web site. A web site requires at least one application pool. Each application pool may be associated to one or more web applications.
  • Sites A web server may host several web sites. You need to have at least one site in the web server.
The figure below illustrates how Internet Information Services manager is organized.
El administrador de Internet Information Services está organizado en:
  • Servidores WebUsted puede usar el administrador de IIS para configurar un servidor Web local o remoto
  • Pools de aplicaciones Usted puede agregar, editar o borrar pools de aplicaciones a un sitio web. Un sitio web requiere al menos una pool de aplicaciones. Cada pool de aplicaciones puede estar asociada con una o más aplicaciones web.
  • Sitios Un servidor web puede hospedar varios sitios web. Usted necesita tener al menos un sitio web en el servidor web.
La figura de abajo muestra como el administrador de Internet Information Services manager está organizado.

IISManagerOrganization

Tip
To manage a:
  • Web server First, select the server on the left panel, and then use the Action panel located on the right side of IIS Manager.
  • Handler Mappings First, select Handler Mappings on the left panel, then select the Handler Mapping from the list, and finally use the Action panel located on the right side IIS Manager.
  • Web site First, select the web site on the left panel, and then use the Action panel located on the right side of IIS Manager.
For a web server to operate, both: the web server and its associated Application Pool must be running.
Para administrar un:
  • Servidor web Primero, seleccione el servidor en el panel de la izquierda, y entonces use el panel de Acciones ubicado en el lado derecho del administrador de IIS.
  • Handler Mappings Primero, seleccione Handler Mappings (Asignaciones de controlador) en el panel de la izquierda, entonces seleccione el Handler Mapping (Asignaciones de controlador) en la lista, y finalmente use el panel de Acciones ubicado en el lado derecho del administrador de IIS.
  • Sitio web Primero, seleccione el sitio web en el panel de la izquierda, y entonces use el panel de Acciones ubicado en el lado derecho del administrador de IIS.
Para que un servidor web opere, ambos: el Servidor Web y su Grupo de Aplicaciones (Application Pool) deben estar corriendo.

Problem 2
If there any web sites in the server, please delete them. You may skip this step.
Si hay existen sitios web en el servidor, por favor bórrelos. Usted puede saltarse este paso.

Step A
Go Control Panel > Administrative Tools > Microsoft Internet Information Services Manager.
Vaya a Control Panel > Administrative Tools > Microsoft Internet Information Services Manager.

Iis

IisManager

Step B
Stop the web server. First select the web server on the left, and then click Stop on the right as shown.
Detenga el servidor web. Primero seleccione el servidor web en la izquierda, y entonces haga clic en Stop en la derecha como se muestra.

StopWebServer

Step C
First select the web server on the left, and then use the context menu to remove it.
Primero seleccione el servidor web en la izquierda, y entonces use el menú de contexto para removerlo.

RemoveWebSite

Problem 3
If there any Application Pools in the server, please delete them. You may skip this step.
Si hay existen Application Pools en el servidor, por favor bórrelas. Usted puede saltarse este paso.

Step A
Stop the Application Pool. First select Application Pools on the left panel, then click on any Application Pool in the list, and finally click Stop on the right panel as shown.
Detenga la Application Pool. Primero seleccione Application Pools en el panel de la izquierda, entonces haga clic en una Application Pool en la lista, y finalmente haga clic en Stop en el panel en la derecha como se muestra.

StopApplicationPool

Step B
Once an Application Pool is stopped, it can be deleted. First select the web server on the left, and then use the context menu to remove it. You may delete all existing Application Pools.
Una vez que una Application Pool está detenida se puede borrar. Primero seleccione el servidor web en la izquierda, y entonces use el menú de contexto para removerlo. Usted puede borrar todas las Application Pools.

RemoveApplicationPool

Problem 4
Create a web site called Sales using IIS Manager.
Crear un sitio web llamado Sales (Ventas) usando IIS Manager.

Step A
We will create now the web site Sales. Expand the main tree, select the Sites folder, open the context menu, and select Add Web Site. When ready, press the OK button.
Nosotros crearemos ahora el sitio web Sales (Ventas). Expanda el árbol principal, seleccione la carpeta Sites, abra el menú de contexto, y seleccione Add Web Site. Cuando esté, listo presione OK.

AddWebSite

AddWebSiteDlg

SalesSite

Step B
An application pool must have been created for the Sales web site. Click on Application Pools to see the application pools, select then the sales application pool, and click on Set Application Pools Defaults. Be sure the pool configuration is as displayed below. When ready, press OK.
Una Pool de aplicaciones debe haberse creado para el sitio web Sales. Haga clic en Application Pools para ver las Pools de aplicaciones, seleccione entonces la Pool de la aplicación Sales, y haga clic en Set Application Pools Defaults. Asegúrese que la configuración de la Pool sea como se muestra debajo. Cuando esté, listo presione OK.

ApplicationPools

ApplicationPoolDefaults

Tip
ApplicationPoolIdentity represents a Windows user account called IIS APPPOOL\MyApplicationPool (where MyApplicationPool is the name of the Application Pool), which is created when the Application Pool is created, this account is by default a member of the IIS_IUSRS group.
ApplicationPoolIdentity representa una cuenta de usuario de Windows llamada IIS APPPOOL\MyApplicationPool (donde MyApplicationPool es el nombre de la Application Pool), la cual es creada cuando se crea la Application Pool, esta cuenta es por defecto un miembro del grupo IIS_IUSRS.

Predefined Security Accounts

An Application Pool may have the following identity values:
  • LocalSystem This account has all user rights, and it is part of the Administrators group on the web server. Avoid using the Local System account because it presents a severe security danger for your web server.
  • LocalService This account is a member of the Users group and has the same user rights as the Network Service account, but limited to the local computer.
  • NetworkService This account is a member of the Users group and has user rights that are required to run applications. It can interact throughout an Active Directory-based network by using the computer account's credentials. This account offers the most safety against an attack.
  • ApplicationPoolIdentity This is a dedicated fake user account for an application pool. You should use this type of Application Pool identity for all your webapplications.

Una Application Pool puede tener los siguientes valores de identity:
  • LocalSystem Esta cuenta tiene todos los derechos de usuario, y esta es parte del grupo de Administradores del servidor web. Evita usar la cuenta de LocalSystem porque esta representa un peligro severo en la seguridad de su servidor web.
  • LocalService Esta cuenta es un miembro del grupo Users y tiene los mismos derechos que la cuenta de Network Service, pero está limitada a la computadora local.
  • NetworkService Esta cuenta es miembro del group Users y tiene derechos que son necesarios para correr aplicaciones. Este puede interactuar a través de una red con Directory Activo para usar las credenciales de la cuenta de la computadora. Esta cuenta ofrece la mayor seguridad contra un ataque.
  • ApplicationPoolIdentity Esta es una cuenta dedicada artificial para una Application Pool. Usted debería usar está identidad de Application Pool para todas sus aplicaciones web.

Step C
Start the Application Pool called sales, and then, start the web server if it not running. If there is a black rectangle in the web site icon, the web site is not running.
Inicie la Application Pool llamada sales, y entonces, inicie el servidor web si este no está corriendo. Si hay un rectángulo negro en el icono del sitio web, el sitio web no esa corriendo.

ServerOK

Step D
Create a simple html file and place in C:\inetput\wwwroot. Use a web browser to test the Sales web site.
Cree un archivo simple de html y coloquelo en C:\inetput\wwwroot. Use un explorador web para probar el sitio Sales.

index_htm

wwwroot_folder

indexrun

Problem 5
Configure a Handler Mapping to process ISAPI Extension dlls.
Configure un Handler Mapping para procesar dlls de Extensiones ISAPI.

Step A
First, select the Sales web site. Second, double click the Handler Mappings.
Primero, seleccione el sitio web Sales. Segundo, haga doble clic en Handler Mappings.

HandlerMappings

Step B
In the list of Handler Mappings, look for the Handler Mapping called ISAPI-dll, it must be found under the disabled Handler Mappings. Select ISAPI-dll on the panel on the right click on Edit Feature Permissions (or Right click and select Edit Feature Permissions) check Execute.
En la lista de Handler Mappings, busque por un Handler Mapping llamado ISAPI-dll, este debe encontrarse en los Handler Mappins deshabilitados. Seleccione ISAPI-dll en el panel de la derecha y haga clic en Edit Feature Permissions (o haga clic con el botón derecho y seleccione Edit Feature Permissions), marque Execute.

HandlerMappingList

ISAPI_Handler_Mapping

Step C
Select the ISAPI-dll Handler Mapping, and click the Edit Features link on the right. Be sure the execute permission is checked. When ready, press the OK button. Finally, be sure the ISAPI-dll Handler Mapping is enabled.
Seleccione el Handler Mapping de ISAPI-dll, y haga clic en el link de Edit Features en la derecha. Asegúrese de que el permiso de ejecución este marcado. Cuando esté listo, presione el botón de OK. Finalmente, asegúrese de que el Handler Mapping para ISAPI-dll esté habilitado.

EditFeature

ExecutePermissions

ISAPI_dll_enabled

Tip
In some cases, you will need to Restart the web server using the Restart button in IIS Manager, and stop/start the Application Pools for the changes to take effect.
En algunos casos, usted tendrá que Reiniciar el servidor web usando el botón de Restart en el administrador de IIS, y detener/arrancar las Application Pools para que los cambios tengan efecto.

Tip
If you have Microsoft IIS installed in a computer at home using your Internet home connection, do not forget to enable the Inbound Rule called World Wide Web Services (HTTP Traffic-in) located in Windows Firewall.
Si usted tiene instalado Microsoft IIS en una computadora en casa usando una conexión a Internet de casa, no se olvide de habilitar la Inbound Rule llamada World Wide Web Services (HTTP Traffic-in) localizada en el Windows Firewall.

MIME type

A media type or content type is used in HTTP to indicate the type of information that is being sent or received. Microsoft IIS has a list of MIME types, however, you can add more types to the list so that Microsoft IIS can know the MIME type required.
Un tipo de media o tipo de contenido es usado en HTTP para indicar el tipo de información que se está enviando o recibiendo. Microsoft IIS tiene una lista de MIME types, sin embargo, usted puede agregar más tipos a la lista para que Microsoft IIS pueda sabe el tipo MIME requerido.

MimeType

© Copyright 2000-2019 Wintempla selo. All Rights Reserved. Sep 05 2019. Home