Arrismog
asked on
Websphere Application Server + HTTP Web Server integration
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:
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!!
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>
...
====================================
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!!
And you web server (Apache) is started, and listening on Port 80. Right?
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.
ASKER
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:
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/t estWeb
========================== ========== ========== ========
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
@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
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/t
==========================
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
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.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
and verify that the contents of
/opt/IBM/HTTPServer/Plugin s/config/w ebserver1/ plugin-cfg .xml
accurately reflect the updated & regenerated plugin-cfg.xml
/opt/IBM/HTTPServer/Plugin
accurately reflect the updated & regenerated plugin-cfg.xml
ASKER
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!
Adding the following lines on the httpd.conf file, refreshing apache and accessing at port 80 resolves to the ApplicationServer correctly!
Thanks everyone!