Windows Linux Apache httpd Requirements

6-12 Oracle Fusion Middleware Developers Guide for Oracle Adaptive Access Manager Then, create soft links to the libraries as follows: cd usrlocalapache2lib ln -s liblog4cxx.so.10.0.0 liblog4cxx.so.10 ln -s libxml2.so.2.6.32 libxml2.so.2 ln -s libapr_memcache.so.0.0.1 libapr_memcache.so.0 Also, ensure that the binary files have executable permission. Apache httpd is typically run as root so that it creates a parent process that listens on port 80, and it spawns handler processes that run as the user given in the User directive in httpd.conf. For this reason, create a user called oaamuio that is the checkpoint user for the UIO Apache Proxy. The proxy configuration and log files are accessible by this user. Ensure that only this user can access the log files. Assuming homeoaamuio is the home directory for this user, the directory structure looks like the one presented in Table 6–10 . The UIO Apache Proxy data files should follow the directory structure shown in Table 6–10 . If you want to change the location of the various configuration files, refer to the Configuring httpd.conf section. The run-time user of httpd should have the appropriate permissions to access all these files.

6.3.4 Configuring Memcache for Linux only

This is an optional configuration that may be needed for Linux deployment of UIO Apache Proxy. The UIO Apache Proxy maintains a session for the user where it keeps local state such as session level variables for the user. On Windows, there is always a single process for Apache httpd server running and so this session information is local to the process. On Linux, you could have multiple Apache httpd server processes running which means the session information cannot be kept local to the process but needs to be centralized. In this case, memcached is used to hold the session usrlocalapache2liblibapr_ memcache.so.0.0.1 APR Memcache client library. Table 6–10 Directories for Linux UIO Proxy Data Files Directories Description homeoaamuiouioUIO_Settings.xml UIO Apache Proxy settings XML file homeoaamuiouioUIO_log4j.xml UIO Apache Proxy Log4j log4cxx configuration XML file homeoaamuiouioTestConfig.xml UIO Apache Proxy application configuration files any number homeoaamuiouioUIO_Settings.rng Relax NG grammar for UIO_Settings.xml homeoaamuiouioUIO_Config.rng Relax NG grammar for application configuration XML files homeoaamuiouiologsuio.log UIO Apache Proxy log Table 6–9 Cont. Directories for Linux UIO Proxy Binary Files Directories Description Oracle Adaptive Access Manager Proxy 6-13 information. The following description is to identify when you must use memcached to hold the UIO Apache Proxy session information. Apache httpd ships with a selection of Multi-Processing Modules MPMs which are responsible for binding to network ports on the machine, accepting requests, and dispatching children to handle the requests. On Linux: httpd can run with two different MPMs: httpd with prefork MPM single-threaded or with worker MPM multi-threaded. The MPM is built into the httpd and is not a run-time option. With prefork MPM, httpd maintains a pool of single-threaded processes, where each request is handled by a single process. In this case, you must configure UIO Apache Proxy to use memcached. With worker MPM, httpd maintains a pool of multithreaded processes, where every process could be handling multiple requests at a time. In this case, you can configure Apache httpd to launch a single process and avoid using memcached. However, the default configuration launches multiple processes and if you want to keep that unchanged, then you must configure UIO Apache Proxy to use memcached. Here is an example of httpd.conf example that can be used to configure a worker MPM to launch a single process. Following forces worker MPM to run 1 process make sure mod_cgid is not loaded, otherwise it starts one more httpd process. Basically ThreadLimit=MinSpareThreads=MaxSpareThreads=MaxClients=ThreadsPerChild and StartServers=1. Setting MaxRequestsPerChild to 0 ensures that the process is not bounced. IfModule mpm_worker_module ThreadLimit 150 StartServers 1 MinSpareThreads 150 MaxSpareThreads 150 MaxClients 150 ThreadsPerChild 150 MaxRequestsPerChild 0 IfModule On Windows, httpd MPM is always in multi-threading mode with a single process. On Linux, in the case where the httpd runs multiple process irrespective of single or multithreaded, the UIO Apache Proxy session data must be maintained in a common store database or cache so that multiple processes can access the session data. The UIO Proxy uses memcache a memory based very fast cache to store the session data. At startup, the UIO Proxy autodetects whether httpd is running with a single process or multiple processes. If httpd is running with multiple processes which is the case with prefork or worker mpm on Linux, it tries to connect to the memcache daemon using default connection parameters that are defined in Section 6.3.6.1, UIO_ Settings.xml . On Windows, by default, the UIO Proxy uses local sessions. It does not connect to the memcache daemon; however it can also be configured to maintain session data in the memcache daemon explained in Section 6.3.6.1, UIO_ Settings.xml . For the scenarios where the UIO Apache Proxy is connecting to memcache daemon, you must install memcache on your system using the instructions from the memcache Web site and run the memcache daemons before running the Apache httpd. Install memcache using instructions at: