Ayuda sobre productos BOLD:

Instalación del IIS

Página:
< Volver

Instalación Automática

La instalación automática se realiza normalmente mediante unos ficheros *.bat, en esta sección se añaden los comandos utilizados por si fuera necesarios ejecutarlos por partes.

  • Desinstalación del servidor IIS mediante linea de comando

start /w pkgmgr.exe /uu:IIS-WebServerRole;WAS-WindowsActivationService

  • Instalación del servidor IIS mediante linea de comando

start /w pkgmgr /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-Security;IIS-BasicAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

  • Preparación de IIS7 para su uso en BOLD

%windir%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /notListedCGIsAllowed:False /notlistedISAPIsAllowed:True

  • Importación de Pools y aplicaciones mediante linea de comando

%windir%\system32\inetsrv\appcmd add apppool /in < c:\apppools.xml

%windir%\system32\inetsrv\appcmd delete sites «Default Web Site»

%windir%\system32\inetsrv\appcmd add site /in < c:\sites.xml

Instalación Manual

Para la instalación manual del IIS tendremos que acceder a la configuración del servidor y añadir los siguientes roles:

  • Características HTTP comunes(instalada): Contenido estático, Documento predeterminado, Examen de directorio y Errores HTTP.
  • Desarrollo de aplicaciones(instalada):ASP.NET( esta característica es solo necesaria para que el IIS7 cree los ficheros web.config que se explican más adelante y que deberemos manipular), Extensiones ISAPI y Filtros ISAPI.
  • Seguridad(instalada): Autentificación básica, Autenticación de Windows y Filtro de solicitudes.
  • Herramientas de administración(instalada): Todas las opciones.

Una vez añadidos los roles ya podremos acceder al IIS, desde Inicio >> ejecutar >> inetmgr

Abriremos el IIS, nos colocaremos en el nodo raíz (el que tiene el nombre de la máquina)
y seleccionaremos Restricciones de ISAPI y CGI

  • Con el botón derecho agregaremos un nuevo módulo.
  • En el campo Ruta de acceso indicaremos la ruta de una de nuestras dll (ej.: BOLDCluster.dll)
  • Seleccionaremos en el menú de la derecha Modificar configuración de la característica y marcaremos Permitir módulos isapi no especificados.

Configuración manual de pools y servidores

Ahora procederemos a configurar los Grupos de aplicaciones creando las aplicaciones para nuestras ISAPIModules, BOLDCluster.dll y ISAPIBoldWP.dll.

Accederemos a Grupos de aplicaciones (en el nodo principal del árbol) y añadiremos el POOL para el Cluster llamado bold y tantos servidores como queramos configurar (ej workplanner_s1, workplanner_s2, development).

Con el botón derecho crearemos un nuevo grupo de aplicaciones y lo configuraremos de la siguiente forma:

  • Versión de .NET Framework: Sin código administrado
  • Modo de canalización administrada: Clásica.
  • Accedemos a Configuración avanzada y activamos lo siguiente:
    • (General):
      • Habilitar aplicaciones de 32 bits TRUE
    • CPU (solo para los servidores no hacer nada para el cluster) :
      • Afinidad del proceso habilitada TRUE
      • Máscara de afinidad del procesador -Affinity- para el S1 1, para el S2 2, para el S3 4 y para el S4 8
  • Modelo de proceso:
    • Identidad colocar el usuario y el password de la máquina
    • Tiempo de inactividad a 0 (desactivado) (Idle time out)
  • Reciclaje:
    • Intervalo de tiempo regular a 0 (desactivado: no se recicla)(Regular Time Interval)

Para cada servidor extra que queramos configurar repetiremos los pasos anteriores.

Una vez definidos los Grupos de aplicaciones procederemos a definir las aplicaciones dentro de los sitios web

  • En el nodo Default web site agregaremos la aplicación que hemos creado para el Cluster, con el mismo nombre que la habíamos definido antes. Para definirla tenemos que seleccionar el Grupo de aplicaciones correspondiente (en nuestro caso bold), indicar la ruta de acceso (en nuestro caso la ruta a BOLDCluster.dll) en el botón Conectarse como colocar el usuario o usuaria y el password de la máquina. Finalmente se puede probar que la configuración es correcta clicando el botón correspondiente.
  • Para definir los sitios web de la ISAPIBoldWP.dll el procedimiento es un poco distinto.
    • En primer lugar hay que Agregar un directorio virtual con el nombre servers, añadiendo la ruta correspondiente y colocando el usuario o usuaria y password de la máquina.
    • En el caso de tener varios servidores tenemos que añadir un nuevo directorio virtual que cuelgue del nodo servers con el nombre de la instancia de la que dependen (en nuestro caso development / workplanner) y con las mismas características que el anterior.
    • Finalmente agregaremos tantas aplicaciones como hayamos definido (workplanner_s1, workplanner_s2) colgando del nodo anterior (workplanner) con nombres s1 y s2 (si usamos cluster, en caso contrario este paso no es necesario).

Después, seleccionaremos el sitio web que hemos creado y haciendo doble click en Asignación de controladores(Handler Mappings) nos aparecerá la lista de controladores definidos, con el botón derecho seleccionaremos Agregar asignación de módulo y nos aparecerá una ventana que hay que rellenar con los siguientes datos.

  • Ruta de acceso -> nombre de la dll
  • Módulo -> seleccionar IsapiModule
  • Ejecutable -> indicar la ruta de acceso a la dll
  • Nombre -> nombre de la dll
  • El botón Restricción de solicitudes donde configuraremos:
    • en la pestaña Asignación marcar Invocar…,
    • en la pestaña Verbos Todos los verbos
    • en la pestaña Acceso, Ejecutar.

Por último seleccionaremos en el menú de la derecha la opción Modificar permisos de características para la dll correspondiente al sitio web que estamos configurando y marcaremos la opción de ejecutar.

El fichero web.cfg debería crearse junto a nuestras *.dll, este fichero ha de tener una configuración similar a este en una instalación de productivo estándar

<configuration>
    <system.webServer>
        <handlers accessPolicy="Read, Execute, Script">
            <add name="ISAPIBoldWP" path="ISAPIBoldWP.dll" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files (x86)\Global Planning Solutions\BOLD WorkPlanner\server\servers\workplanner\binWP\ISAPIBoldWP.dll" resourceType="File" requireAccess="Execute" preCondition="bitness32" allowPathInfo="true"/>
            <add name="BOLDCluster" path="BOLDCluster.dll" verb="*" modules="IsapiModule" scriptProcessor="C:\Program Files (x86)\Global Planning Solutions\BOLD WorkPlanner\server\servers\workplanner\binWP\BOLDCluster.dll" resourceType="File" requireAccess="Execute" preCondition="bitness32" allowPathInfo="true"/>
        </handlers>
    </system.webServer>
</configuration>

Para más detalles sobre la configuración del Cluster ver el siguiente artículo

Configuración semiautomática de pools y servidores (mediante scripts)

Una vez completados los pasos de preparación del servidor IIS ya sólo queda preparar las diferentes instancias del servidor de aplicación que estarán en ejecución.

Para ello nos apoyaremos en el módulo BOLDXML2. Existen unos scripts en la carpeta BOLDXML2\bin que automatizan estas acciones. Para poder ejecutarlos hay que ejecutarlos desde un shell preparado a su vez de la forma apropiada. Hay que seguir los siguientes pasos:

  • Verificar que están todas la depedencias externas del módulo BOLDXML2 (descomprimir el archivo node_modules.zip dentro de BOLDXML2\node_modules)
  • Abrir un cmd.exe (ejecutar como administrador)
  • cd C:\Program Files (x86)\Global Planning Solutions\BOLDXML2
  • Ejecutar el script generate_BOLDXMLConfig.bat indicando la ubicación del servidor por defecto:
generate_BOLDXMLConfig "C:\Program Files (x86)\Global Planning Solutions\Custom_Files\Integration\configuration\Workplanner\boldserver"
  • Nos creará el archivo BOLDXMLConfig.bat de inicialización del BOLDXML2 en la carpeta padre de ‘boldserver’. En este caso C:\Program Files (x86)\Global Planning Solutions\Custom_Files\Integration\configuration\Workplanner
  • Abriremos un CMD en esta ruta y ejecutaremos BOLDXMLConfig.bat
cd C:\Program Files (x86)\Global Planning Solutions\Custom_files\Integration\configuration\workplanner
BOLDXMLcONFIG.bat 

Creación de un servidor independiente

addwpserver_setup <identificador del servidor> <usuario_admin> <password> <CLIENT_NAME> <SETUP_CLIENTCONFIGDIR> <SETUP_BINWP> <sufijo instancia cluster>
addwpserver_setup DemoEvento gpsuser gpsxxxx DemoEvento production "C:\Program Files (x86)\Global Planning Solutions\BOLD WorkPlanner\Server\Servers\demotiendas\binWP"

Ejemplo:

addwpserver_setup TestWP <usuario_admin> <password> TestWP
  • Creará un nuevo pool con nombre TestWP
  • Creará un nuevo directorio virtual en la ubicación http://localhost/servers/TestWP/ISAPIBoldWP.dll
  • Se supone que el binario del servidor se encuentra ubicado en C:\Program Files (x86)\Global Planning Solutions\BOLD WorkPlanner\Server\Servers\TestWP\binWP\ISAPIBoldWP.dll
  • Usará las credenciales, usuario_admin y password
  • Este nuevo servidor usará la configuración ubicada en la carpeta de cliente TestWP (normalmente: C:\Program Files (x86)\Global Planning Solutions\TestWP).
  • Crea el archivo WPServerCfg.properties ubicado en la carpeta C:\Program Files (x86)\Global Planning Solutions\BOLD WorkPlanner\Server\Servers\TestWP\config
  • El valor apunta a C:\Program Files (x86)\Global Planning Solutions\Custom_Files\integration\configuration\production\boldserver\WPServerCfg.ini
  • El parámetro permite indicar el sufijo a asignar al pool «instancia de cluster»

Crear el fichero de gestión de la aplicación web.config
Estos pasos son manuales hasta que se incorporen al script anterior.

Crear un fichero con el nombre web.config en la carpeta binWP donde se encuentra el fichero ISAPIBoldWP.dll

Crear el servidor BOLD Cluster

Se crea igual que un servidor normal, sólo que tiene el nombre especial bold.

addwpserver_setup bold <Ususario_adm> <Password> bold

El archivo binario del BOLD Cluster debe estar ubicado en alguna carpeta de otro servidor. Ejemplo: C:\Program Files (x86)\Global Planning Solutions\BOLD WorkPlanner\Server\Servers\Workplanner\binWP\BOLDCluster.dll

Crear una instancia de servidor en modo cluster

Para crear una nueva instancia s1 en la ubicación http://localhost/servers/workplanner/s1/ISAPIBoldWP.dll ejecutariamos

addwpserver_setup workplanner <Usuario_adm> <password> workplanner s1

NOTA: En cada uno de los sitios web creados abriremos el icono Autenticación, seleccionaremos Autenticación anónima Habilitada y con el botón derecho modificar, seleccionaremos Identidad del grupo de aplicaciones.

Utilización de los comandos en una máquina con entorno de desarrollo nativo en C++

Existen unos comandos equivalentes para configurar servidores en una máquina con un entorno de desarrollo (addwpserver_development.bat).

Ejecutando los comandos sin ningún parámetro es posible obtener ayuda adicional. A continuación se muestra la secuencia de comandos para obtener una configuración con cluster y dos instancias en un entorno de desarrollo:

  • Secuencia de creación de un cluster de dos servidores
    • Creación del servidor BOLD Cluster: addwpserver_development bold user pwd carpeta_cliente
    • Creación de la instancia W1: addwpserver_development FARM01 user pwd WP_TEST_FARM W1
    • Creación de la instancia W2: addwpserver_development FARM01 user pwd WP_TEST_FARM W2
  • Secuencia de eliminación del cluster anterior
    • Eliminar instancia W1 (Default Web Site\servers\FARM01\W1): delwpserver FARM01 W1
    • Eliminar instancia W2 (Default Web Site\servers\FARM01\W2): delwpserver FARM01 W2
    • Eliminar el directorio virtual que agrupaba a todas las instancias (Default Web Site\servers\FARM01): delwpserver_vdir.bat FARM01
    • Eliminar BOLD Cluster: delwpserver bold

Nota importante: en el fichero C:\Windows\System32\inetsrv\Config\applicationHost.config debería aparecer una línea similar a la siguiente (dependiendo de la ubicación del archivo BOLDLCluster.dll):

<add path="C:\Proyectos\WPTrunk\binWP\exes\BOLDCluster.dll" allowed="true" description="Cluster" allowPathInfo="true"\>
Was this article helpful?
5 out Of 5 Stars

1 calificación

5 Estrellas 100%
4 Estrellas 0%
3 Estrellas 0%
2 Estrellas 0%
1 Estrellas 0%
5
How can we improve this article?
How Can We Improve This Article?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Contenido