Windows Server Alternatives?


Jackass Extraordinaire
So, I have a dirty secret to tell. I have been using Windows Server Essentials 2012 R2 for my home server for years. I'm looking at getting into something new. I feel like the OS is dated and it's starting to show it's age. I originally went with Windows because I had a lot of HTPC's that used Media Center and I had hooked up to the server to stream movies. Also used it to store backups over the network. I gave my dad access to the server so he could stream from his house over a VPN as well. I also stream to the kids devices with Plex.

With the death of Media Center and me moving all the HTPC's over to Kodi I find that I really don't 'need' a Windows server anymore.

All I need is a server that I can connect to remotely if I need to download something on my laptop or phone, do VPN's so my dad doesn't bitch about loosing movies, and stream to the home network. I also need to do a Plex server for the kids. I figure I can do a DDNS service to get a host name like I had with WSE2012 and then port forward from the router to the server. VPN's are pretty easy to set up these days as well. And Plex server is Plex server. It's not too difficult there.

I'm thinking about going with a Linux based server OS mainly because it's free but I haven't really done anything with Linux in 15 years.

Any of you Linux guys know a good distro that would work for all that stuff? Should I enable the GUI seeing as how I'm a super huge Linux noob? Does it really effect the server operations that much to have the Gui going?
I haven't touched a proper Linux system in years either being more of a Windows guy (I was very much into Slackware before the distro lost its momentum) so I can't help you choose a current distro for your needs, but to answer your last two questions :

- the GUI (X server) is just another service, it won't impact how the server works. If you go with a lightweight one such as XFCE it's really not going to eat up a lot of resources either. Having more code running is just going to expose more potential vulnerabilities (also why Windows has introduced the Core mode since quite a few years now)
- most of the configuration you will implement will rely on text files... So editing a text file in console mode or under a GUI is not going to make a difference, with the GUI running you'll just be using the terminal a lot (same for downloading packages, compiling stuff if you need to, etc.)

You could also have the X server installed but not running by default and invoke it on demand with the startx command (or whatever it is called now).
If you want to try out linux, your best bet is to learn how to use the terminal, but having a GUI to manage files definitely doesn't hurt at all. I do 99% of my work in the terminal, except when moving media files around.

I would suggest Linux Mint, it's easy to use/install and similar to a windows workflow. Even a full fledged install with a GUI will use less resources than a Windows Desktop.

You can play around with it by grabbing the ISO, image a flash drive and booting from it. When booted, you can actually try the full desktop experience without having to install it as well.

As far as plex media server goes, you can download an installation package for it from Plex's website, ez-pz.

Some things you'll want to know:

Samba (SMB/CIFS): File Server, you can setup network shares which can be mounted as network drives in Windows.

SSH: Remote command line, do everything from your desktop, remotely. instead of needing local access to the server, including remote desktop with VNC if you need it.

SFTP: If you have this enabled, you can use an S/FTP client like filezilla to access files from wherever.

VNC: Remote Desktop

APT (.deb)/Yum (.rpm): Package managers. All Linux distros use package managers for installing software. Most will use one or the other, but there are others out there. The OS itself and software all use packages for installation and updating. They are basically zip/tar files containing the software itself and metadata to handle dependencies etc.

Literally everything is a file in Linux: You won't find any registries in Linux land. You can even talk to hardware through files in the file system!

systemd/init.d: Service managers (think Windows Services), all system services are handled with these suites. Just like package managers, there are others out there, but most ditros will use one or the other.

nano: Command line text editor, it is your friend. If you end up following a tutorial and it says to use "vi" in a command to edit a file, use "nano" instead. Unless you already know how to use vi, don't use it.

su/sudo: Become root (administrator). When editing configuration files and whatnot, you'll likely need to be root. sudo will

Webmin: Web-based tool where you can manage the entire server from the browser.

man: Manual. This is your CLI friend. Prepend any command with man, and you'll get documentation on what it is and how to use it.

Useful Commands:

ls = dir
ls -la = dir with extra information
netstat = netstat
netstat -l = netstat + listening sockets
ping = ping
ip address = ipconfig
cd = cd
sudo nano /path/to/file = edit file as root
systemctl restart samba = restart service
apt-get install xxx = install a package by name
df -h = show disk usage
top = text-based task manager
htop = better text-based task manager
mv = move/rename file
cp = copy file
rm = delete file
mkdir = create directory
tail -f = watch a file as it changes
cat = output a file
mount = mount a disk

^^ All of these have desktop apps btw
I grabbed VirtualBox and I'm evaluating Ubuntu and Amahi right now. I'll look into mint. I'm not a huge fan of ubuntu so far. It just feels weird. Just started messing with Amahi.

Thanks t3hl33td4rg0n! That's a lot of help!
Linux Mint with the Cinnamon desktop environment is a nice one to start with. The GUI feels a lot more familiar when you're coming from Windows. And most things that work in Ubuntu will work similarly on Mint.