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:
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
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.
When too many httpd processes are running on a system, the response time degrades because there are insufficient resources for normal processing.
Lower the value of
MaxClients to a value the machine can accommodate.
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.
Follow the steps in Section 188.8.131.52, "Starting Oracle HTTP Server on a Privileged Port" to start Oracle HTTP Server on a Privileged Port.
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/...)
[error] Can't locate Apache::Registry.pm in @INC (@INC contains: $ORACLE_HOME/perl/...)
/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
If you configure mod_perl by using the EM mod_perl configuration page and try to remove a previously configured PerSetEnv variable from the Environment field, this error is thrown:
Failed to invoke operation save on MBean oracle.as.management.mbeans.register:type=component,name=ohs1,instance=webtier _inst7971,Location=AdminServer Apply failed, modify required parameters and save again. Validation of configuration trying to apply failed . . .
To correct this situation:
Close the pop-up error and click Revert.
Remove the PerSetEnv by doing one of the following:
Go to the Advanced Configuration page of EM and modify the mod_perl.conf file directly.
Go to the instance home/config/OHS/component_name/moduleconf/mod_perl.conf and edit the configuration file directly to remove the PerSetEnv value.
You can use the following log files to help locate errors:
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.
Rewrite Log in the Apache HTTP Server documentation.
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.
Script Log in the Apache HTTP Server documentation.
This log file records overall server problems. Refer to Chapter 7, "Managing Oracle HTTP Server Logs" for details on configuring and viewing error logs.
The UseWebCacheIp directive allows Oracle HTTP Server to use the Client IP address for logging and mod_authz_host access control when the client connects to Oracle HTTP Server through Oracle Web Cache. This feature may be usable with other front-end proxy servers, if the proxy sets the ClientIP request header to the Client IP address. When UseWebCacheIp is not enabled and a client connects to Oracle HTTP Server through Oracle Web Cache or other proxy, the client address used for logging and mod_authz_host access control will be that of Oracle Web Cache or other proxy.
Set UseWebCacheIp to
ON in your
Also, if you do not set UseWebCacheIp to
ON, the address of the host connecting to Oracle HTTP Server will be used for logging and host-based access control. In some cases this will be a proxy instead of the client.
The UseWebCacheIp directive is not available in Oracle HTTP Server versions 184.108.40.206.0 and 220.127.116.11.0.