The Raspberry Pi that I setup as a web server has also been doing double duty as a VPN server.

I use OpenVPN, and wrap it with Stunnel since I sometimes need to use the VPN in countries that filter their Internet access.

Stunnel makes the VPN look like HTTPS traffic, so this gets around deep packet inspection.