NC4 - E Team - R9.8 Installation/Upgrade- IBM HTTP Server Installation

This document is intended for use by system administrators who are responsible for installing the IBM HTTP Server (IHS) where the E Team application will reside.

Installation Instructions

Before proceeding with the IBM HTTP Server installation, please review the system requirements for the Server Environment to be certain that your server meets the minimum requirements necessary for optimal performance with the E Team application.

Server Installation

  1. Click on install.exe to start installation process.
    The system displays the Welcome screen.
    User-added image
  2. Click Next> to continue.
    The system displays the Software License Agreement
    User-added image
  3. Accept the license agreement and click Next>.
  4. Accept the default installation directory or modify the directory location. Click Next> to continue.
    The system displays the port values.
    User-added image
  5. Accept the default Port values and click Next>.
    The system displays the following window.
    Username and password are not required for the fields shown.
    User-added image
  6. Select Log on as a local system account and click Next>.
    The system displays the HTTP Administration Server Authentication screen.
    User-added image
  7. Input username and password for the HTTP Administration page.
  8. Click Next> and the installation process will begin.

Post Installation

Once installation has completed, the following files need to be added or replaced:

SSL Module – to enable SSL

File name: mod_ibm_ssl.sso

Copy this file to Drive:\Program Files\IBM\HTTPServer\Modules
 
Refer instructions on configuring SSL.

 
Websphere plug-in (WAS) – this module actually handles the re-direction part of IHS

File name: mod_was_ap20_http.dll 

Copy this file to Drive:\Program Files\IBM\HTTPServer\Modules

The following two template files are used to configure IHS:

File name: plugin-cfg.xml 

File name: httpd.conf

  1. Rename the default httpd.conf to httpd.conf_org

    IHS has a default httpd.conf file that is the main configuration file for IHS under drive:\Program Files\IBM\HTTPServer\Conf directory.
     
  2. Copy the template httpd.conf in order to make modifications to it. Modify to include the correct installation path, server name and IP address of the front-end machine. If a line starts with a # sign, it means it is commented out or comment. 

Editing the HTTPD.CONF File

  1. Change the installation path of IHS in the template httpd.conf. Replace default values in template httpd.conf C:/Program Files/IBM/HTTPServer to correct location of the IHS.
  2. Search for Listen 0.0.0.0:800 and change to the desired port. Edit the servername and input the correct DNS.

    Listen 0.0.0.0:800
    Servername DNS (ex. Eteam.lacounty.org)
    Servername: internal URL
  3. At the bottom of the httpd.conf file, edit the following section to your network configuration (IP, Port, etc.).

    <VirtualHost 10.0.0.201:800>
    Servername DNS (ex. Eteam.lacounty.org)
    Servername: internal URL

    <VirtualHost 10.0.0.201:443>
    Servername DNS (ex. Eteam.lacounty.org)
    Servername: internal URL
  4. At the bottom of the httpd.conf file, edit the following section to your network configuration (IP, Port, etc.).

    <VirtualHost 10.0.0.201:800>
    Servername DNS (ex. Eteam.lacounty.org)
    Servername: internal URL

    <VirtualHost 10.0.0.201:443>
    Servername DNS (ex. Eteam.lacounty.org)
    Servername: internal URL
  5. Modify the path where the SSL certificate is stored.

    Keyfile "C:/Program Files/IBM/HTTPServer/conf/keys/SSLCert.kdb"

Editing PLUGIN-CFG.XML File 

This is the WAS plugin config file which is in XML format. Take a look at the following example. You only need to modify the bolded areas in the installation directory, Application server name and tags to reflect the context.

<?xml version="1.0" encoding="ISO-8859-1"?>
<Config RefreshInterval="300">

<!--   The log is set to warn   change name  to point to  dir / file name -->       
    <Log LogLevel="trace" Name="D:/Program Files/IBM/HTTPServer/logs/http_plugin.log"/>

<!-- Virutal Host is the name that Apache uses   eg  in this case  tsolutions.nc4.us -->

    <VirtualHostGroup Name="default_host">
        <VirtualHost Name="URL:80"/>
        <VirtualHost Name="URL:443"/>
      </VirtualHostGroup>
   

       <ServerCluster Name="JBOSS001_Cluster" 
                   MaxConnections="-1"
                   RetryInterval="120"
                   LoadBalance="Random">
      
        <Server Name="serverJ001" >
            <Transport Hostname="APPLICATIONSERVERNAME" Port="80" Protocol="http"/>
        </Server>  
       
        <PrimaryServers>
            <Server Name="serverJ001"/>
         </PrimaryServers>
    
    </ServerCluster>
 
    <UriGroup Name="jboss001_URIs" >
     <Uri Name="/output/*" />
            <Uri Name="/contextname/*" />
            <Uri Name="/contextnameTraining/*" />
    
    </UriGroup>
   
    <Route ServerCluster="JBOSS001_Cluster"
        UriGroup="jboss001_URIs" VirtualHostGroup="default_host"/>


<!--  For ARE Standard  -->
    <ServerCluster Name="JBOSS002_Cluster" 
                   MaxConnections="-1"
                   RetryInterval="120"
                   LoadBalance="Random">
      
        <Server Name="serverJ002" >
            <Transport Hostname=" APPLICATIONSERVERNAME " Port="8080" Protocol="http"/>
        </Server>  
       
        <PrimaryServers>
            <Server Name="serverJ002"/>
         </PrimaryServers>
    
    </ServerCluster>
 
    <UriGroup Name="jboss002_URIs" >
     <Uri Name="/nc4are/*" />
  <Uri Name="/businessobjects/*" />
           
    
    </UriGroup>
   
    <Route ServerCluster="JBOSS002_Cluster"
        UriGroup="jboss002_URIs" VirtualHostGroup="default_host"/>


 
<!--  For Dashboard  -->
    <ServerCluster Name="JBOSS003_Cluster" 
                   MaxConnections="-1"
                   RetryInterval="120"
                   LoadBalance="Random">
      
        <Server Name="serverJ003" >
            <Transport Hostname=" APPLICATIONSERVERNAME " Port="8080" Protocol="http"/>
        </Server>  
       
        <PrimaryServers>
            <Server Name="serverJ003"/>
         </PrimaryServers>
    
    </ServerCluster>
 
    <UriGroup Name="jboss003_URIs" >
     <Uri Name="/dashboards/*" />
           
    
  </UriGroup>
   
    <Route ServerCluster="JBOSS003_Cluster"
        UriGroup="jboss003_URIs" VirtualHostGroup="default_host"/>


 </Config>

Once httpd.conf and plugin-cfg.xml are configured correctly, start IBM HTTP Server 6.1 window services. 
 
If it does not start, please check your httpd.config and plugin-cfg.xml files to ensure they have been properly configured.

Running JBoss Behind a Firewall Using HTTP

JBoss makes use of several ports to communicate between the client and the server. Some of these ports are configurable static ports but some ports are randomly assigned at runtime. While there are several strategies to handle this configuration, the easiest one is using JBoss JNDI and RMI over HTTP options.

If the configuration at your site includes firewalls between JBoss and its clients, please follow the instructions that follow:
 
JNDI over HTTP

JNDI over HTTP requires an adaptation to the jboss-service.xml file that can typically be found in the JBossType/deploy/http-invoker.sar/META-INF/jboss-service.xml where JBossType is one of "all", "default" or "minimal". You must adapt the ones you use.

The jboss-service file contains the following entry (the changes you have to make are marked by bold):

<!-- Expose the Naming service interface via HTTP -->

<mbean code="org.jboss.invocation.http.server.HttpProxyFactory"
name="jboss:service=invoker,type=http,target=Naming">

<attribute name="InvokerName">jboss:service=Naming</attribute>

<!—- This must be http or https.  If DRS/Sharing is being done on http it should be http if they are on https it should be https -->

<attribute name="InvokerURLPrefix">http://</attribute>

< !—This must be set to the proper port.  If jboss is on port 8080 then it is 8080 if jboss is listing on port 8443 then its 8443 -- >

<attribute name = "InvokerURLSuffix">:8080/invoker/JMXInvokerServlet</attribute>

<attribute name="UseHostName">false</attribute>

<attribute name="ExportedInterface">org.jnp.interfaces.Naming</attribute>

<attribute name="JndiName"></attribute>

</mbean>

 

<!-- Expose the Naming service interface via HTTP This maps to the ReadOnlyJNDIFactory servlet URL -->

<mbean code="org.jboss.invocation.http.server.HttpProxyFactory" name="jboss:service=invoker,type=http,target=Naming">

<attribute name="InvokerName">jboss:service=Naming,readonly=true</attribute>

<!—- This must be http or https.  If DRS/Sharing is being done on http it should be http if they are on https it should be https -->

<attribute name="InvokerURLPrefix">http://</attribute>

< !—This must be set to the proper port.  If jboss is on port 8080 then it is 8080 if jboss is listing on port 8443 then its 8443 -- >

<attribute name="InvokerURLSuffix">:8080/invoker/readonly/JMXInvokerServlet</attribute>

<attribute name="UseHostName">false</attribute>

<attribute name="ExportedInterface">org.jnp.interfaces.Naming</attribute>

<attribute name="JndiName"></attribute>

</mbean>    

When using an HTTP server you must add a mapping in the virtual host file for “/invoker/”.  So in your plugin-cfg.xml you will need to add the bold line below.

<UriGroup Name="jboss_local">

<Uri Name="/output/*" />

<Uri Name="/eteam/*" />

<Uri Name="/eteamTraining/*" />

<Uri Name="/nc4cf/*" />

<Uri Name="/frevvo/*" />

<Uri Name="/database/*" />

<Uri Name="/invoker/*" />

</UriGroup>

Was this article helpful?
0 out of 0 found this helpful

Article Feedback


While we can’t respond to you directly, we’d love to know how we can improve the article.

Please sign in to leave a comment.