PASOE configuration
- On PASOE, enable the AJP protocol from the PASOE instance directory:
{CATALINA_BASE}/bin/tcman.sh feature AJP13=on
{CATALINA_BASE}/bin/tcman.sh config psc.as.ajp13.port=50000
tcman stop
tcman start
Note that due to updates in 11.7.6, 12.2.3 , 12.3, a PASOE instance fails to start properly because the AJP13 protocol is configured by default with: secretRequired="true". The secret option is supported since Apache Module mod_proxy_ajp 2.4.42, 2.5.
Apache HTTPD configuration
- Install Apache 2.2x or later
- Configure your Apache to include the optional mod_proxy that configures the web server to act as a proxy server and mod_proxy_ajp modules, to use the AJP protocol to to forward requests to PASOE Tomcat.
In conf/httpd.conf, enable the following modules, removing the hash (#) sign to load then at Apache startup time
Include conf/extra/httpd-vhosts.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
Note that the limitation of the AJP protocol, is it's maximum packet size, therefore mod_proxy_ajp does not support large body sizes (8186 (8 Kbytes - 6)), and the number of bytes actually left to send from the request body in the packet. Whereas mod_jk and current Tomcat versions, the packet size can be enlarged to 64K. On the other hand mod_proxy this can be used to forward requests for a particular web application to a Tomcat instance, without having to configure a web connector such as mod_jk
The following modules don't specifically need to enabled:
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
- Setup virtual hosts
Modify the httpd-vhosts.conf to setup virtual host settings. Enclose all the apache configuration parameters for each and every virtual host between these VirtualHost tags.
The following settings illustrate a configuration for the PASOE SOAP transport instead of WSA. Adjust the configuration accordingly for the other transports:
Edit /conf/extra/httpd-vhosts.conf
# Virtual Hosts
<VirtualHost *:80>
DocumentRoot <path to http root folder>/www
ServerName localhost
<Directory "<path to http root folder>/www/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
ProxyPass /soap ajp://[host]:8009/soap
ProxyPassReverse /soap ajp://[host]:8009/soap
</VirtualHost>
- VirtualHost *:80 – Indicates that all the name-based virtual hosts will be listening on the default port 80
- Replace [host] with the PAS server hostname or IP address.
- Any apache directives can be used within the virtualhost container such as ServerAlias, ErrorLog, CustomLog (access_log, error_log )
- For the name-based virtual host to work properly, the DNS entry for each virtual host must point to the same external ip-address of the physical server where the Apache webserver is running.
- Restart the Apache and test
apache2/bin/apachectl restart
Check VirtualHost Configuration Syntax:
apache/bin/httpd -S
VirtualHost configuration:
Syntax OK
When something is not configured properly, it will display a Warning message, example:
Warning: DocumentRoot [/apache/docs/<name>] does not exist