Ok, so here is a strange problem that has just started happening:
Yesterday I added a new domain to Virtualmin (GPL), and immediately the site started throwing a 403 Forbidden error. No files had been uploaded yet. Usually, it will just give an index of the files in that folder, so I put some files in the folder, and still 403 errors. Even accessing files directly gave a 403 error.
I tracked it down to something related to permissions, but I'm not sure what. All user directories in /home/ are chmod 750. Oddly enough all previous existing sites are working fine. Only new sites show 403 errors.
If I change the /home/newuser and /home/newuser/public_html to chmod 755, then new domains will start working correctly, but I don't accept this as a fix. It's a workaround, and one I'm not happy with.
So... any clues as to why new domains have to have 755 to work, while old ones are content with 750 permissions? It's as if Apache can't get into the directories, but I've deleted and recreated several different domains as a test. I've made sure Apache is getting added in the new groups created. SuEXEC is on, but I've also disabled it to test.
I haven't made any configuration changes lately.