?
Solved

Websphere Application Server + HTTP Web Server integration

Posted on 2011-03-23
7
Medium Priority
?
2,011 Views
Last Modified: 2012-05-11
Hello experts

I have the following schema:

- Linux SLES 9 SP2
- IBM Websphere Application Server 6.1
- IBM (Apache distribution) HTTP Web Server 6.0 with http plugin integration with Websphere (installed from another package)

I installed an application, called testWeb, under contextPath "/testWeb"

Already did the "Generate Plugin" and "Propagate Plugin" from Websphere administrative console so the WebServer could talk with my ApplicationServer. Validating the plugin-cfg.xml generated:
===============================
...
 <VirtualHostGroup Name="default_host">
    <VirtualHost Name="*:9080"/>
    <VirtualHost Name="*:80"/>
    <VirtualHost Name="*:9443"/>
    <VirtualHost Name="*:5060"/>
    <VirtualHost Name="*:5061"/>
    <VirtualHost Name="*:443"/>
 </VirtualHostGroup>
...
<ServerCluster CloneSeparatorChange="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="server1_nappa01Node01_Cluster" PostBufferSize="64" PostSi
zeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60">
      <Server ConnectTimeout="0" ExtendedHandshake="false" MaxConnections="-1" Name="nappa01Node01_server1" ServerIOTimeout="0" WaitForContinue="false">
         <Transport Hostname="nappa01.prod.com" Port="9080" Protocol="http"/>
         <Transport Hostname="nappa01.prod.com" Port="9443" Protocol="https">
            <Property Name="keyring" Value="/opt/IBMIHS/Plugins/config/webserver1/plugin-key.kdb"/>
            <Property Name="stashfile" Value="/opt/IBMIHS/Plugins/config/webserver1/plugin-key.sth"/>
         </Transport>
      </Server>
   </ServerCluster>
   <UriGroup Name="default_host_server1_nappa01Node01_Cluster_URIs">
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ivt/*"/>
      <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/testWeb/*"/>
   </UriGroup>
...
====================================

Open in new window


I can access the application from port 9080 (http://10.84.234.24:9080/testWeb) but NOT from port 80 (http://10.84.234.24/testWeb, showing an 404 Not found error)

Any ideas? Can't get to it yet :S!!
0
Comment
Question by:Arrismog
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
7 Comments
 
LVL 41

Expert Comment

by:HonorGod
ID: 35206180
And you web server (Apache) is started, and listening on Port 80. Right?
0
 
LVL 9

Expert Comment

by:jeremycrussell
ID: 35207330
Navigate to your application in the WebSphere Management console, then to Manage Modules.  You will need to select both the appserver and the webserver, and check the box for the web modules in your app and map those to both the app and web servers.  The regen your plugin config.
0
 

Author Comment

by:Arrismog
ID: 35209343
Hello experts

@HonorGod: Yes, web server is started, if I go to http://10.84.234.24 , the IBM HTTP Web Server's default page is shown.

@jeremycrussell: Yes, I already selected both appserver and webserver as shown:

 	
testSession.jar - testSession.jar,META-INF/ejb-jar.xml - EJB Module
WebSphere:cell=nappa01Node01Cell,node=nappa01Node01,server=server1
WebSphere:cell=nappa01Node01Cell,node=nappa01Node01,server=webserver1
	
testWeb - testWeb.war,WEB-INF/web.xml 	- Web Module 
WebSphere:cell=nappa01Node01Cell,node=nappa01Node01,server=server1
WebSphere:cell=nappa01Node01Cell,node=nappa01Node01,server=webserver1

Open in new window


As a note, when checking the Apache's error log, when trying to access http://10.84.234.24/testWeb (port 80, not 9080, where testWeb is the ContextPath set from the app), it still tries to go to the default DocumentRoot from Apache:
======================================================
File does not exist: /opt/IBMIHS/htdocs/en_US/testWeb
======================================================
Looks as if the http plugin isn't working or the Apache WebServer isn't paying attention to route it to the ApplicationServer's control.

Still, by accessing 9080 port, http://10.84.234.24:9080/testWeb, works fine

0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 9

Expert Comment

by:jeremycrussell
ID: 35209384
Is the webserver setup to be managed in WebSphere console?  You would have had to enter login credentials that you created durng the webserver/plugin install.  To have WAS automatically update the plugin-cfg.xml this has to be setup.  If that is configured, you'll need to copy the plugin-cfg.xml file generated from the WAS server to the IHS server.
0
 
LVL 9

Accepted Solution

by:
jeremycrussell earned 2000 total points
ID: 35209449
Wait, I just noticed the URIs are present in your config.. Didn't see that earlier.

In the httpd.conf, is the plugin configured?   Should see a couple line like below.

LoadModule was_ap20_module /opt/IBM/HTTPServer/Plugins/bin/64bits/mod_was_ap20_http.so
WebSpherePluginConfig /opt/IBM/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml

Check the WebSpherePluginConfig path is correct.
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 35209974
and verify that the contents of

/opt/IBM/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml

accurately reflect the updated & regenerated plugin-cfg.xml
0
 

Author Closing Comment

by:Arrismog
ID: 35220582
Yes! The mod_was_ap20_http.so LoadModules from the httpd.conf and the WebSpherePluginConfig were missing from that config file, pretty strange considering that I did install the plugins from the IBM IHS Plugin installation wizard.

Adding the following lines on the httpd.conf file, refreshing apache and accessing at port 80 resolves to the ApplicationServer correctly!

Thanks everyone!
0

Featured Post

Moving data to the cloud? Find out if you’re ready

Before moving to the cloud, it is important to carefully define your db needs, plan for the migration & understand prod. environment. This wp explains how to define what you need from a cloud provider, plan for the migration & what putting a cloud solution into practice entails.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Linux users are sometimes dumbfounded by the severe lack of documentation on a topic. Sometimes, the documentation is copious, but other times, you end up with some obscure "it varies depending on your distribution" over and over when searching for …
Join Greg Farro and Ethan Banks from Packet Pushers (http://packetpushers.net/podcast/podcasts/pq-show-93-smart-network-monitoring-paessler-sponsored/) and Greg Ross from Paessler (https://www.paessler.com/prtg) for a discussion about smart network …
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Suggested Courses
Course of the Month13 days, 6 hours left to enroll

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question