Uso de IBM HTTP Server en lugar de Apache HTTP Server

Es posible configurar IBM HTTP Server (IHS) para utilizarlo con la Consola de gestión, sin embargo, es muy recomendable utilizar el Apache HTTP Server que viene incluido.

Antes de empezar

Acerca de esta tarea

Este tema describe cómo realizar las siguientes tascas:

  1. Configure los archivos PHP precompilados.
  2. Modifique los archivos de configuración de IBM HTTP Server para que señalen a la aplicación web de Build Forge.
  3. Si utiliza un servidor proxy para acceder a la base de datos, modifique PHP para utilizar el servidor proxy.
  4. Si utiliza SSL, configure IHS para trabajar con Build Forge a través de SSL.
  5. Sistemas Windows: sustituya la biblioteca libeay32.dll en el directorio de instalación de IBM HTTP Server.
  6. Sistemas AIX: configuración adicional

Configure los archivos PHP precompilados

Acerca de esta tarea

Esta tarea describe cómo ubicar los archivos PHP proporcionados para copiarlos a las ubicaciones especificadas. Los archivos se encuentran en los siguientes directorios:

  • Sistemas Windows
    <bfinstall>\ihs_modules
  • Sistemas UNIX y Linux
    <bfinstall>/Platform/ihs_modules

Procedimiento

  1. Copie los módulos PHP. Cree el directorio modules si es necesario.
    • Sistemas Windows
      cd <bfinstall>\ihs_modules\modules\
      copy *.dll C:\Program Files\IBM\HTTPServer\modules
    • Sistemas UNIX y Linux
      cd <bfinstall>/Platform/ihs_modules/modules
      cp libphp5.so /opt/IBM/HTTPServer/modules
  2. Copie las extensiones PHP. Cree el directorio extensions si es necesario.
    • Sistemas Windows
      cd <bfinstall>\ihs_modules\lib\php\extensions\
      copy *.dll C:\Program Files\IBM\HTTPServer\extensions
    • Sistemas UNIX y Linux
      cd <bfinstall>/Platform/ihs_modules/lib/php/extensions/no-debug-zts-20090626
      cp *.so /opt/IBM/HTTPServer/extensions
  3. Copie el archivo php.ini que se le proporciona. Cree el directorio conf si es necesario.
    • Sistemas Windows
      cd <bfinstall>\ihs_modules
      copy php.ini C:\Program Files\IBM\HTTPServer\conf
    • Sistemas UNIX y Linux
      cd <bfinstall>/Platform/ihs_modules
      cp php.ini /opt/IBM/HTTPServer/conf
  4. Edite el archivo php.ini que copió en el directorio conf para que incluya un puntero al directorio extensions. Añada o sustituya la siguiente línea:
    • Sistemas Windows
      extension_dir = C:\Program Files\IBM\HTTPServer\extensions
    • Sistemas UNIX y Linux
      extension_dir = /opt/IBM/HTTPServer/extensions
  5. Edite el archivo php.ini con la información de su sistema. Puede utilizar el archivo php.ini que se proporciona para Apache HTTP Server como una guía. El archivo se proporciona en la siguiente ubicación:
    • Sistemas Windows
      <bfinstall>\Apache\php\php.ini
    • Sistemas UNIX y Linux
      <bfinstall>/server/apache/conf/php.ini
  6. Añada acceso de escritura a todos los directorios utilizados en php.ini. En sistemas UNIX y Linux, ejecute el siguiente mandato en los directorios:
    chmod -R 777

Editar el archivo de configuración de IBM HTTP Server

Procedimiento

  1. Localice el archivo httpd.conf para IBM HTTP Server (IHS) en el directorio conf de la instalación del servidor.
  2. Modifique el valor de DocumentRoot para que señale a la aplicación web de Build Forge, tal como se muestra en el ejemplo. En este ejemplo, el directorio de instalación de Build Forge es /opt/buildforge.
    <VirtualHost *:80>
         ServerAdmin build@sudominio.com
         DocumentRoot /opt/buildforge/webroot/public
         ServerName ausbuild01.sudominio.com
         ServerAlias build.sudominio.com mc.sudominio.com #optional server aliases
         ErrorLog logs/ausbuild.error_log
         CustomLog logs/ausbuild.access_log common
    </VirtualHost>
  3. Añada entradas relacionadas con PHP.
    • Sistemas Windows
      LoadModule php5_module "C:\Program Files\IBM\HTTPServer\modules\php5apache2_2.dll"
      
      <IfModule dir_module>     
         DirectoryIndex index.html index.php
      </IfModule>  
      
      AddType application/x-httpd-php .php 
      
      # PHPIniDir es la ubicación del archivo php.ini
      PHPIniDir "C:\Program Files\IBM\HTTPServer\conf"
    • Sistemas UNIX y Linux
      LoadModule php5_module "/opt/IBM/HTTPServer/modules/libphp5.so"
      
      <IfModule dir_module>     
         DirectoryIndex index.html index.php
      </IfModule>  
      
      AddType application/x-httpd-php .php 
      
      # PHPIniDir es la ubicación del archivo php.ini
      PHPIniDir "/opt/IBM/HTTPServer/conf"
  4. Cambie las sentencias para el usuario predeterminado:
    • Si está utilizando un sistema AIX, utilice Usuario daemon y Grupo staff, en lugar de Usuario daemon y Grupo daemon.
    • En sistemas Linux, cambie las sentencias al usuario daemon y al grupo daemon en el archivo templates_c en la carpeta <bfinstall>/webroot/templates_c. Un ejemplo de un sistema Linux es chown daemon:daemon/opt/buildforge/webroot/templates_c.
  5. Cambie los permisos en el archivo templates_c. Utilice daemon: daemon en sistemas Linux y daemon: staff en sistemas AIX. El siguiente es un ejemplo para sistemas Linux:
    chown daemon:daemon /opt/buildforge/webroot/templates_c
  6. Si fuera necesario, cambie el número de puerto de IHS. El puerto predeterminado es el 80. Realice los cambios necesarios en httpd.conf.

Identificar el servidor proxy en PHP

Acerca de esta tarea

Lleve a cabo este paso sólo si la consola de gestión necesita utilizar un servidor proxy para acceder a su base de datos.

Procedimiento

Edite el archivo de configuración de PHP php.ini. Se encuentra ubicado en <php-install>/lib;, por ejemplo, /usr/local/php-5.3.6.

Añada las entradas siguientes:

bf_proxyHost=<nombre_host_servidor_proxy>
bf_proxyPath=<vía_acceso_su_proxy>
bf_symlinkPath=<enlace_simbólico_a_vía_acceso_proxy>

Configurar SSL para IHS

Acerca de esta tarea

Además de la configuración normal de SSL para IHS, hay requisitos adicionales para que funcione con Build Forge®.

Procedimiento

  1. Incluya los directorios de la herramienta Build Forge® en su vía de acceso.
    • Sistemas Windows:
      • bfinstall\ibmjdk\bin
      • bfinstall\openssl
    • Sistemas Linux o Unix:
      • bfinstall/server/ibmjdk/bin
  2. Incluya los directorios de la herramienta Build Forge® en su vía de acceso de bibliotecas.
    • Sistemas AIX (LIBPATH):
      • bfinstall/openssl
    • Sistemas Linux o Unix (LD_LIBRARY_PATH):
      • bfinstall/openssl
  3. Convierta las claves de Build Forge® de PKCS12 a CMS. Utilice la versión más reciente de la herramienta GSKIT. En gsk7\bin (Windows) o bin (Unix o Linux), ejecute el mandato siguiente (se han añadido saltos de línea para que resulte más claro):
    gsk7cmd -keydb 
            -convert 
            -db bfinstall\keystore\buildForgeKeyStore.p12 
            -pw contraseña_buildForgeKeyStore
            -old_format pkcs12 
            -new_format cms
  4. Almacene la contraseña en un archivo de ocultación (stash). IHS utiliza este archivo para obtener la contraseña durante el inicio. Sin él, IHS solicitará la contraseña. Utilice la versión más reciente de la herramienta GSKIT. En gsk7\bin (Windows) o bin (Unix o Linux), ejecute el mandato siguiente (se han añadido saltos de línea para que resulte más claro):
    gsk7cmd -keydb 
            -stashpw 
            -db bfinstall\keystore\buildForgeKeyStore.kdb 
            -pw contraseña_buildForgeKeyStore
  5. Modifique httpd.conf. Incluya las entradas siguientes para Windows. Si desea que los usuarios accedan únicamente utilizando https, debe comentar Listen 80.
    LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
    # Listen 80
    Listen 0.0.0.0:443
    <VirtualHost *:443>
    SSLEnable
    SSLClientAuth None
    SSLProtocolDisable SSLv2 
    SSLServerCert buildforge
    KeyFile bfinstall\keystore\buildForgeKeyStore.kdb
    SSLStashFile bfinstall\keystore\buildForgeKeyStore.sth
    ErrorLog bfinstall\Apache\logs\ssl_error.log
    TransferLog bfinstall\Apache\logs\transfer.log
    </VirtualHost>

    Incluya las siguientes entradas para Unix y Linux. Si desea que los usuarios accedan únicamente utilizando https, debe comentar Listen 80.

    LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
    # Listen 80
    Listen 0.0.0.0:443
    <VirtualHost *:443>
    SSLEnable
    SSLClientAuth None
    SSLProtocolDisable SSLv2 
    SSLServerCert buildforge
    KeyFile bfinstall/Platform/keystore/buildForgeKeyStore.kdb
    SSLStashFile bfinstall/Platform/keystore/buildForgeKeyStore.sth
    ErrorLog bfinstall/server/apache/logs/ssl_error.log
    TransferLog bfinstall/server/apache/logs/transfer.log
    </VirtualHost>

    bfinstall es la raíz del directorio de instalación. Con los pasos anteriores, en Unix y Linux, podría necesitar añadir /Platform a bfinstall para llegar al directorio correcto. También debe utilizar una barra inclinada (/) en lugar de una barra inclinada invertida (\) para separar los directorios.

Resultados

Consulte la documentación de IHS sobre la configuración de SSL para obtener más información.

Windows: sustituir DLL

Acerca de esta tarea

Si está utilizando una versión de IBM HTTP Server anterior a la versión 8.0, debe sustituir una DLL con la que se proporciona con Rational® Build Forge®.

Procedimiento

Localice y sustituya el archivo libeay32.dll existente en varias ubicaciones en el directorio de instalación de IBM HTTP Server.
  • Utilice el archivo libeay32.dll que se proporciona en <bfinstall>/openssl.
  • Busque todas las instancias de la DLL y sustitúyalas. Las ubicaciones de ejemplo en Windows 2003 son:
    <instalación_ihs>\Plugins\gsk7\gsk7_32\icc\osslib
    <instalación_ihs>\gsk7\icc\osslib

Resultados

El servidor HTTP se puede iniciar de la forma habitual después de haber sustituido la DLL. Si no la sustituye, no se inicia el servidor HTTP.

Sistemas AIX: configuración adicional

Con sistemas AIX, se necesita una configuración adicional.

Procedimiento


Comentarios