Eventually I found the problem, it was a CyPanel BUG.
Initially reported by @vpsingh 6mo ago, I hope someone will look into it . Perhaps Syed, @josephgodwinke @die2mrw007 …
After struggling for a week , here is my understanding of the issue , and my workaround to fix it in 2 mins - hopefully without breaking anything else.
Although OLS is the HTTP server, Apache2 is also installed by CyPanel.
mysite.com, was in fact served by Apache2 (which is just Apache for Ubuntu), though OLS is installed and running. That’s why I got the Apache2 404
Check this out via SSH:
apache2 -v ** Server version: Apache/2.4.52 (Ubuntu)
grep -r Listen /etc/apache2/* // List Apache2 active ports
Now, open /etc/apache2/apache2.conf and comment the line below:
#Include ports.conf ** This prevent Apache2 to listen to any ports (80, 443)
Restart Apache2, Done!
Finally my index.html was served by OLS.
Thanks.