Junte maneiras diferentes de fazer isso. Se você não tem nenhuma intenção de hospedar qualquer outro site, exceto o acesso à vpn, a maneira mais rápida e fácil seria usar um firewall e permitir apenas a partir da rede local. Qualquer um que se conecte à VPN terá um endereço local, como 192.168.1.x. Então, usando o UFW
sudo ufw allow from 192.168.1.0/24 to any port 80
Se você pretende ter outros sites e está configurando isso como um vhost, geralmente você pode lançar um
Allow from 192.168.1.0/24
Ou
Allow from 192.168.1.*
Na configuração do vhost. Eu esqueço o formato exato para o intervalo de ip, mas é um dos dois referenciados acima. Basta procurar informações sobre o Apache vhosts