LE client needs to bind to port 80, which I'm already using

You could use the docker version and change your apache configuration to proxy the verification requests to the webserver running in the docker container.

I described something similar with nginx in another topic

Also take a look at the webroot and manual modes in the documentation

webroot: (–webroot-path should be pointed to your public_html) you specify a directory where the files for verification are added by the client without starting a webserver at all

manual: (-a manual) Requires to copy and paste commands into a new terminal session. Allows to run client on machine different than target webserver, e.g. your laptop.

2 Likes