Generally I put things in /usr/local/vpnserver
for example. See this answer for details about the purpose of various unix-based directories.
You can create Launch Daemons to have the vpn start when your computer starts. These are located in /Library/LaunchDaemons
. An example file might be...
/Library/LaunchDaemons/vpnserver.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" “http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>vpnserver</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>Program</key>
<string>/usr/local/vpnserver/vpnserver</string>
<key>ProgramArguments</key>
<array>
<string>start</string>
</array>
</dict>
</plist>
You can start the daemon or stop it with the following commands, respectively...
sudo launchctl load -w /Library/LaunchDaemons/vpnserver.plist
sudo launchctl unload -w /Library/LaunchDaemons/vpnserver.plist