Pi-hole with OpenVPN VPS Debian

@Mcat12 Thanks for the pointer. Disabling lighttpd's accesslog by commenting out the /etc/lighttpd/lighttpd.conf wont survive Pi-Hole updates.
The safe way is to create /etc/lighttpd/external.conf and add the following

include_shell "sed -i -r 's/^(\s*accesslog\.filename)/#\1/' /etc/lighttpd/lighttpd.conf"
include_shell "sed -i -r 's/^(\s*\"mod_accesslog\",)/#\1/' /etc/lighttpd/lighttpd.conf"
More info

1,2,3,4

How about just having this in the extra config?

accesslog.filename = ""

accesslog.filename = "" in external.conf prevents lighttpd from starting

[details=Error] debian:~# systemctl status lighttpd.service
? lighttpd.service - Lighttpd Daemon
Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled)
Active: failed (Result: exit-code) since Tue 2017-02-14 17:10:38; 17s ago
Process: 6880 ExecStart=/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf (code=exited, status=0/SUCCESS)
Process: 8204 ExecStartPre=/usr/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf (code=exited, status=255)
Main PID: 6880 (code=exited, status=0/SUCCESS)
Feb 14 17:10:38 debian systemd[1]: Starting Lighttpd Daemon...
Feb 14 17:10:38 debian lighttpd[8204]: Duplicate config variable in conditional 0 global: accesslog.filename
Feb 14 17:10:38 debian lighttpd[8204]: 2017-02-14 17:10:38: (configfile.c.957) source: cat external.conf 2>/dev/null line: 12 pos: 1 parser failed somehow near here: (EOL)
Feb 14 17:10:38 debian lighttpd[8204]: 2017-02-14 17:10:38: (configfile.c.957) source: /etc/lighttpd/lighttpd.conf line: 67 pos: 1 parser failed somehow near here: (EOL)
Feb 14 17:10:38 debian systemd[1]: lighttpd.service: control process exited, code=exited status=255
Feb 14 17:10:38 debian systemd[1]: Failed to start Lighttpd Daemon.
Feb 14 17:10:38 debian systemd[1]: Unit lighttpd.service entered failed state.[/details]
However it works if accesslog.filename is commented or didn't exist in lighttpd.conf, to begin with.

This dumps the ovpn file to the /root folder and I've disabled root. How can I change where that file is sent?

As noted on your issue on github, I think you're getting us confused with piVPN. We don't do anything with VPN configs. Cheers!