But I'm afraid that I will not get into the terminal as much as I'd like to, biggest reason for playing around with this is to learn new things, on the other hand if I start out with Linux (Ubuntu / openSUSE) it could become so overwhelming that I get stuck and can't get further
That's why I suggested using a virtual machine to learn how to do all this with Linux. Install VirtualBox on your MacBooc/iMac/PC/whatever and install whatever version of Linux you want. If you screw things up, just blow away the VM and start over. Once you feel more confident with managing a server, use real hardware.
Ate there any advantages to connect a printer to the a server
I much prefer to connect my printer directly to my network as opposed to connecting to a computer/server and sharing it on my network. Of course this only works if you're printer supports this, however, even cheap printers these days have that built in.
Being able to securely connect to it from a distance
There are lots of ways to do that. "ssh" is a very common way although that's better if you're very comfortable with the command line. It's how I remotely log into my server (which doesn't run a window manager and thus the command line is my only option). You'll want to read some guides on how to setup an ssh server securely (i.e. use ssh keys with a passphrase, don't allow password logins, and never allow remote root user logins).
If you want something a little more user friendly that easily gives you access to your computer's window manager and desktop, then I'd use Apple's built in remote desktop (or whatever it's called) assuming you install OSX. If you install Linux, then VNC or TeamViewer (I use TeamViewer to remotely access my parent's computer when they're having problems) are good.
Either way you go requires you setup port forwarding on your router. You'll obviously want to use secure passwords and what not because you're opening up certain ports on your server to the internet.
I also take it a step further and use a custom port for this stuff. "Security through obscurity" doesn't really make things any more secure, however, it does mean my server logs don't get flooded with folks from Russia/China/etc trying to hack into my server on a daily basis (this happens to my friends who use default ports).
Look up how to setup Samba if using Linux. Look up how to share files/directories on OSX if going that route.
Webserver (for test/dev use, not for hosting websites from home)
You've got all kinds of options here. I'd start with learning how to configure Apache or nginx (which one you choose doesn't really matter for your use case although I prefer nginx) to just serve static files. If you want to start getting into more dynamic stuff, then you can start looking into languages like php/python/ruby/go/java/javascript and node/etc and how to setup web servers in them. Since you said it's just for test/dev, I wouldn't bother doing this on your main server. Just do it on a Linux virtual machine on whatever machine you typically use.
Media server (Low priority)
I suggest Plex. It's what I use at home. It's easy to setup, widely supported, and will play just about anything you could possibly want.
I want something that is stable and works and has guides of how to do things.
Linux and OSX will both be stable. I suggest going with Ubuntu Linux since it's one of the most popular distros and new user friendly. You'll find tons of guides on all this stuff.
You shouldn't need to upgrade your hardware to run Linux.