I expect that the confusion is coming because you are using both UFW and IPTABLES. UFW is a front-end for iptables, but if you add rules outside it I expect that it can't recognises those rules.
Thus you are not seeing the iptables rules injected to handle your OpenVPN connection.
I expect if you list the iptables rules you will see them. Try
You might want to double-check your php version. I have php7.0 as the bundled version in my Ubuntu 16.04 installs. IIRC, PHP5 has been deprecated/left-for-dead
Also, this suggests you're running out of RAM:
apache2 invoked oom-killer: gfp_mask=0x24201ca, order=0,
Possibly add more RAM, disk swap, or at least a swap file and see if ...
You are monitoring both http and https but banning only http using iptables action. Use iptables-multiport action and ban both http and https.
action = iptables-multiport[name=HTTP, port="http,https", protocol=tcp]
There are other scenarios where this is a useful trick and the method I have used in the past assumes a fairly standard internal network behind NAT and will work with any computer with any OS. I will assume that your network with internet access is on 192.168.1/0/24 and your private (offline) network is on 10.0.0.0/24.
Get hold of a normal internet router. ...