C Troubleshooting Oracle HTTP Server

This appendix describes common problems that you might encounter when using Oracle HTTP Server, and explains how to solve them. It includes the following topics:

C.1 Oracle HTTP Server Unable to Start Due to Port Conflict

You can get the following error if Oracle HTTP Server is unable to start due to port conflict:

[VirtualHost: main] (98)Address already in use: make_sock: could not bind to address [::]:7777

Solution

Determine what process is already using that port, and then either change the IP:port address of Oracle HTTP Server or the port of the conflicting process.

C.2 System Overloaded by Number of httpd Processes

When too many httpd processes are running on a system, the response time degrades because there are insufficient resources for normal processing.

Solution

Lower the value of MaxClients to a value the machine can accommodate.

C.3 Permission Denied When Starting Oracle HTTP Server On a Port Below 1024

You will get the following error if you try to start Oracle HTTP Server on a port below 1024:

[VirtualHost: main] (13)Permission denied: make_sock: could not bind to address [::]:443

Oracle HTTP Server will not start on ports below 1024 because root privileges are needed to bind these ports.

Solution

Follow the steps in Section 4.1.2.3, "Starting Oracle HTTP Server on a Privileged Port" to start Oracle HTTP Server on a Privileged Port.

C.4 Oracle HTTP Server May Fail To Start If PM Files Are Not Located Correctly

If Oracle HTTP Server is not able to locate Perl module (PM) files in the path defined in the PERL5LIB variable, Oracle HTTP Server may encounter the following errors, and fail to start:

[error] Can't locate mod_perl.pm in @INC (@INC contains:$ORACLE_HOME/perl/...)

or:

[error] Can't locate Apache::Registry.pm in @INC (@INC contains: $ORACLE_HOME/perl/...)

Solution

Check that ORACLE_HOME/ohs/bin/apachectl is correctly defined in the PERL5LIB variable. It should point to the path(s) containing the PM files. By default, it points to PM files in the following directories:

ORACLE_HOME/ohs/mod_perl/lib/site_perl/5.10.0
ORACLE_HOME/perl/lib/5.10.0
ORACLE_HOME/perl/lib/site_perl/5.10.0

C.5 Using Log Files to Locate Errors

You can use the following log files to help locate errors:

C.5.1 Rewrite Log

This log file is necessary for debugging when mod_rewrite is used. The log file produces a detailed analysis of how the rewriting engine transforms requests. The level of detail is controlled by the RewriteLogLevel directive.

See Also:

Rewrite Log in the Apache Server documentation.

C.5.2 Script Log

This log file enables you to record the input to and output from the CGI scripts. This should only be used in testing, and not for production servers.

See Also:

Script Log in the Apache Server documentation.

C.5.3 Error Log

This log file records overall server problems. Refer to Chapter 7, "Managing Oracle HTTP Server Logs" for details on configuring and viewing error logs.