You may wish to consider using a panel, either Cpanel or one of the others, if you do not previously have experience with maintaining your own server. Cpanel is unfortunately not free, but having worked with it at a prior job, it comes with a few features that could be useful including cphulkd that blocks brute force attempts, and provides a fairly easy to use interface.
However, without a panel, I would suggest minimizing the amount of services that you may be running, and the services being exposed on the outside internet. What those panels do well, at least Cpanel, is that it bundles all the usual services for DNS, mail, http servers, into one coherent package. If you are not fully familiar with exim or postfix, for example, you would probably want to ensure that those services are off when you are not using them, in case the configuration may be allowing open relay access or something similar. Familiarizing with iptables, and other utilities such as fail2ban (https://www.digitalocean.com/community/articles/how-to-protect-ssh-with-fail2ban-on-ubuntu-12-04) may also be helpful.
From my own experience, it is generally "learn-as-you-go". On my own setup, I had actually setup most of it on a local VM at home, unexposed to the outside, before transferring the configuration to my server.