I have been using Linode to run my websites for some time now but have always configured them by hand. Command line enabling of conf files to setup sites is a real pain sometimes. I decided to upgrade my server to Ubuntu 18.04 and thought why not just get a panel setup with it. I followed this The Perfect Server - Ubuntu 18.04 (Bionic Beaver) with Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot and ISPConfig 3.1 and now have a great server to host sites, email, custom ftp and dns to name a few features.
It was pretty easy to do with a fresh Ubuntu install if you know what you are doing on the command line. The one thing I opted not to do was include phpmyadmin as I find it to be a much less secure option and prefer to use an app on my computer to connect.