So, I copied the folder into my SilverStripe root folder, renamed it 'blog', and then ran ?flush=1...but I'm finding no signs that the blog has been installed anywhere on my site. Certainly not on the main page, and in the admin page when I go to create a new page, there are no blog options like on the demo page. And I checked the folder permissions, the server should have full access to the blog folder. Any suggestions?
Are you looking at the backend or the frontend for changes? In the backend you need to create a new page with a type of blog holder.
You could try /dev/build?flush=all
Installing modules like this has always worked for me so you may want to look a bit closer at your setup if that doesn't work. Try another module for a test and see what happens.
I seem to remember that some modules (e.g. Data Object Manager) require that the directory be named a particular way (e.g. dataobject_manager rather than dom or something else) but I don't think this is the case with the blog module.