Thanks for the suggestion of CloudFlare, I may use that regardless and having a backup that I don't have to change the DNS to would be handy as well.
As for the server, I changed the IP, locked down the firewall, installed
mod_evasive for Apache and installed fail2ban to help block unauthorised SSH. Handily, I asked the systems admin at work to take a look as well and he's monitoring it closely and giving me some more tips.
I'll see how it goes now, if not I may have to add a third-party like CloudFlare, even if it's just temporary until the attackers get bored.