It really depends on your level of expertise when it comes to networking.
I personally have a homelab kit consisting of a 24 port LAN switch and two Dell r710 servers running VMWare server instances. One of my instances runs Ubuntu server with SAMBA file server installed. I find that this works well for networked drives on windows computers, but Mac may be a different story. This may end up being a bit of a complicated endeavor as it requires a bit of a background into Linux permissions, command lines and software configuration. If you're up for the challenge, that would be my recommendation.
https://www.samba.org/
If you're instead looking for a more graphical experience in windows, you would probably be better suited to simply creating a homegroup. This way, you can seamlessly make files shareable on the network.
https://lifehacker.com/5883517/how-to-set-up-windows-7-homegroups-for-seamless-instant-sharing-between-pcs-in-your-home
As for the VPN, there are plenty of ways to make this a reality. I'm assuming from what I read in your response that you are interested in VPN's mainly for their LAN over WAN capabilities? OpenVPN would be a good entry-level way to get VPN set up as it has support for windows machines.
https://openvpn.net/index.php/open-source/documentation/howto.html
I personally have PFSense as a server instance and run all of my LAN traffic through it. PFSense is good in the sense that it has a beautiful interface (better than most standard routers that I have come by) and has some advanced features for power users. It also has an amazing repository for programs such as OpenVPN to run naively on it, thus allowing your vpn to be supported on the box and not another machine. If you're interested into delving deeper into network-ability, you can download PFSense on just about any old PC you have lying around and giving it a shot.
https://pfsense.org/