I've installed SilverStripe and DB on my local machine, and deployed the files via Capistrano to a remote server, together with a database dump from dev and restore to the remote db. Everything is working fine but I am wondering - am I missing out on anything by not running the install directly on the remote machine? I.e. special apache configs or anything? Or are remote "cold" deploys via SVN and DB to a virgin apache/php/mysql enabled server fine?
I don't know what Capistrano is, but usually copying over the local files and restoring the DB is all you need to do to migrate from a local install to another server (if it's apache => apache). SilverStripe doesn't mess with apache configs (that won't work with most shared hosters anyway), it relies on the .htaccess file to configure url rewrites.
Other than that, you have to edit _config.php accordingly and run a /dev/build?flush=all after migration to be on the safe side.