Web server start problem on AIX

Technote (troubleshooting)

Problem(Abstract)

IBM HTTP Server (or any Web server) fails to start. It reports a port 80 conflict.

Symptom

When starting an IBM HTTP Server that listens on port 80, the user gets the following error:
address already in use. make_sock: could not bind to address [::]:80 no listening sockets available.

Cause

Starting with AIX 5.3 TL09 and AIX 6.1.3.0, it automatically starts LWI http server as WebSM server. The http4websm subsystem is bound to port 80. Even after the server reboot, port 80 will be bound to http4websm subsystem. This conflicts with IBM HTTP Server that also listens on port 80. Thus IBM HTTP Server fails to start.

Environment

AIX 6100 TL4, 6100 TL3, 6100 TL2 SP4, 5300 TL11, 5300 TL10, and 5300 TL9 SP4

Diagnosing the problem

Before starting IBM HTTP Server, issue the following request:

http://hostname

If you see the AIX Web-based System Manager page, you will have the problem.

Resolving the problem

The AIX team has APARs for this problem. (Different APAR numbers for different TLs.) Before the fix is applied, you can manually comment out the following line in the /etc/inittab file:

webserverstart:2:once:startsrc -s http4websm

For more details about AIX APARs, see the links to "Fix pack information for: port 80 address already in use" below.

Note: The idea of checking port conflict as described in this technote is not limited to WebSM. If any component, such as a Proxy server, is listening on port 80, IBM HTTP Server won't start if it also listens on port 80.


              =====================================================

The following example taken from my personel lab as I run into the following issue, when I found the above IBM Technote post for this resolution.

root@lpar1(/usr/IBMIHS/bin)# ./apachectl start
(67)Address already in use: make_sock: could not bind to address [::]:80
no listening sockets available, shutting down
Unable to open logs

root@lpar1(/usr/IBMIHS/bin)# 

root@lpar1(/)#rmsock f1000700019f0bb0 tcpcb
The socket 0x19f0808 is being held by proccess 331942 (java).
root@lpar1(/)#

root@lpar1(/)#ps -ef |grep 331942
    root 331942 196740   0 12:42:54      -  0:17 /usr/java5/bin/java -Xbootclasspath/a:/var/websm/lwi/runtime/core/rcp/eclipse/plugins/com.ibm.rcp.base_6.1.2.200801281200/rcpbootcp.jar:/var/websm/lwi/lib/ISCJaasModule.jar:/var/websm/lwi/lib/icl.jar:/var/websm/lwi/lib/jaas2zos.jar:/var/websm/lwi/lib/jaasmodule.jar:/var/websm/lwi/lib/lwinative.jar:/var/websm/lwi/lib/lwinl1.jar:/var/websm/lwi/lib/lwinl2.jar:/var/websm/lwi/lib/lwinl3.jar:/var/websm/lwi/lib/lwirolemap.jar:/var/websm/lwi/lib/passutils.jar -Xverify:none -cp eclipse/launch.jar:eclipse/startup.jar:/var/websm/lwi/runtime/core/rcp/eclipse/plugins/com.ibm.rcp.base_6.1.2.200801281200/launcher.jar com.ibm.lwi.LaunchLWI
    root 360482 180406   0 13:08:39  pts/0  0:00 grep 331942
root@lpar1(/)#

Solution:

Comment out the entry in inittab and reboot it. 

:webserverstart:2:once:startsrc -s http4websm >/dev/null 2>&1