Or, depending on practical constraints, even http simple auth via nginx/apache reverse proxy.
They serve different use-cases but I wouldn't say that VPN is strictly better than HTTP auth or vice versa. Recommending to double up for a self-hosted little something, not a big target like 4chan or Gmail, is overkill