I would go with a headless Ubuntu server. This is the toc I followed setting up my server
## Table Of contents
1. [Bootable USB](#bootable-usb)
1. [Download Ubuntu](#download-ubuntu)
2. [Format USB drive](#format-usb-drive)
3. [Copy files to USB Drive](#copy-files-to-usb-drive)
2. [Copy vital config files](#copy-vital-config-files)
3. [Install Ununtu 17.10 Server](#install-ununtu-1710-server)
1. [Boot from USB](#boot-from-usb)
2. [Install Ubuntu](#install-ubuntu)
3. [Login remotely (SSH)](#login-remotely--ssh-)
4. [Updating Ubuntu](#updating-ubuntu)
5. [Installing the necessary software](#installing-the-necessary-software)
6. [Configure auto mount for raid and virtualbox](#configure-auto-mount-for-raid-and-virtualbox)
7. [Create the necessary users and groups](#create-the-necessary-users-and-groups)
4. [Configure Samba](#configure-samba)
5. [Create symlinks for the users](#create-symlinks-for-the-users)
6. [Configure transmission-daemon](#configure-transmission-daemon)
7. [Configure duplicity](#configure-duplicity)
8. [Configure minidlna](#configure-minidlna)
9. [Configure virtualbox](#configure-virtualbox)
10. [Manually create virtualbox VM for the perfect server](#manually-create-virtualbox-vm-for-the-perfect-server)
1. [Commands to remeber](#commands-to-remeber)
2. [Connect to VM with remote desktop](#connect-to-vm-with-remote-desktop)
11. [Install the perfect server](#install-the-perfect-server)
* [LAMP Stack](#lamp-stack)
* [The Perfect Server - Ubuntu 17.10 (Artful Aardvark) with Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot and ISPConfig 3.1](#the-perfect-server---ubuntu-1710--artful-aardvark--with-apache--php--mysql--pureftpd--bind--postfix--dovecot-and-ispconfig-31)
* [LEMP Stack (Only 16.04 but should still work)](#lemp-stack--only-1604-but-should-still-work-)
* [The Perfect Server - Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD and ISPConfig 3.1)](#the-perfect-server---ubuntu-1604--nginx--mysql--php--postfix--bind--dovecot--pure-ftpd-and-ispconfig-31-)
12. [Open port 80 in the router](#open-port-80-in-the-router)