More notes on this website are to come!
Hosting
This site was built using a virtual private server from Linode. I selected this company based on the reviews I saw around the web, but I encourage you to do your own research before selecting a hosting company.
I have no relations to Linode (other than them hosting my website), but if you decide to join, consider using my referal link. I recieve $20 towards my server bills if you stay with them for 90 days after using this link. Some people think this practice is questionable, since they feel it encourages people to give undue praise, so here is a plain link. On of my goals in writing content for this website was to be as unbaised as possible. I only endorse Linode because I have had little to complain about with them (any complaints I will gladly vent here). Hopefully your experience building a website will be just as plesant, though remember to have a cool head when things go wrong (and have some backups!).
One note about Linode: there servers come with an IPv6 address by default, and there guide to securing your server does not mention setting up an IPv6 firewall. iptables only applies to IPv4, so make sure to configure ip6tables! The good news is both have nearly the exact same commands. Until more people move to IPv6, you are probably okay to block all traffic on it (giving you less potential attack area on your system), but having support for new standards is nice.
Protecting My Computer While Accessing the Server
If my server were to ever become compromised, I wouldn’t want my local computer to be open to attack when I go to access my server. So I have a clone of my Trusted Browsing virtual machine that I only use for accessing my website. However, there are such things as VM escapes, so if I found out my site was hacked, I would avoid using even that if possible.
Backups
I use the Linode backup service. For a small amount extra each month, I get automatic daily and weekly backups, plus one snapshot of my own. Restoring from the backups is as simple as deleting the existing disk images and loading the backup (though I would suggest only doing this if you are okay with losing everything on the server since the last backup).
I wrote my own backup script (I know, not the best) to backup both aidanmontare.net and code.aidanmontare.net. If you have a similar server setup (like if you followed this guide) then you should be able to modify the script to fit your needs.
This script makes backups on the server and copies it locally. Even if the Linode datacenter were to disappear, I would be able to recreate my server from my notes and then upload the backup of the database and files to restore WordPress.