Connect Apache HTTP Webserver with Tomee (Tomcat)#

There are many solutions with rewrite rules in the web.
But there is a mod called mod_jk which uses th AJP 1.3 Connector easily, see https://community.jaspersoft.com/wiki/connecting-apache-web-server-tomcat-and-writing-re-direct-rules

This connector is enabled by default at ../tomee/conf/server.xml

    <!-- Define an AJP 1.3 Connector on port 8009 -->
	<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />	
Note: Finally if you have Apache HTTP in front of Tomee/Tomcat you can disable connectors for port 80 and 443 here, too!

Install mod_jk#

> sudo apt-get install libapache2-mod-jk 
    libapache-mod-jk-doc tomcat8
    Die folgenden NEUEN Pakete werden installiert:
    libapache2-mod-jk
    Holen:1 http://ftp.de.debian.org/debian stretch/main amd64 libapache2-mod-jk amd64 1:1.2.42-1 [163 kB]
    libapache2-mod-jk (1:1.2.42-1) wird eingerichtet ...
    apache2_invoke: Enable module jk

Restart

/etc/init.d/apache2 restart

Configure#

Check for a worker.properties file in /etc/apache2/mods-available/jk.conf
Use default at
vi /etc/libapache2-mod-jk/workers.properties
Optionally: Create worker on your own (not necessary!)
vi /etc/apache2/workers.properties file:
	# Define 1 real worker using ajp13
	worker.list=ajp13_worker
	# Set properties for ajp13_worker (ajp13)
	worker.ajp13_worker.type=ajp13
	worker.ajp13_worker.host=localhost
	worker.ajp13_worker.port=8009
	Connect worker in config
		vi /etc/apache2/conf-available/modjk.conf		
		JkWorkersFile /etc/apache2/workers.properties
		# Where to put jk shared memory
		# Update this path to match your local state directory or logs directory
		JkShmFile /var/log/apache2/mod_jk.shm
		# Where to put jk logs
		# Update this path to match your logs directory location (put mod_jk.log next to access_log)
		JkLogFile /var/log/apache2/mod_jk.log
		# Set the jk log level [debug/error/info]
		JkLogLevel info
		# Select the timestamp log format
		JkLogStampFormat "[ %a %b %d %H:%M:%S %Y ] "
		
Enable Conf
    a2enconf modjk.conf
    a2disconf modjk.conf

Configure mod_jk #

Set tomacat home and java home. To get your java home use
readlink -f /usr/bin/java | sed "s:bin/java::"
 => /usr/lib/jvm/java-8-openjdk-amd64/jre/

Edit

	
vi /etc/libapache2-mod-jk/workers.properties
 workers.tomcat_home=<yourhome>
 workers.java_home=/usr/lib/jvm/default-java

Add Tomee sites

vi /etc/apache2/sites-enabled/000-default.conf
add under "DocumentRoot":
JkMount /JSPWiki* ajp13_worker
JkMount /Homepage* ajp13_worker
Note: Check Port in VirtualHost element and adjust if not 80 !!!!	

Restart (see above)