It really depends on what sort of setup you have, but I don't see any technical reason why you couldn't.
- Software configuration: not sure exactly what you mean by this, but if you're using Apache/PHP/MySQL (assuming this since a lot of facebook apps use PHP), you should be able to use the same configuration for all of them. You would want to create separate databases for the live and development versions, but other than that, the setup should be straightforward.
- Development environment: again, we don't know anything about your development environment, but it should be easy enough to just set up your development tools to target the testing site, and only move code over to the production site once it's ready to go.
- Version control: set it up the way you normally would, just have the live and testing sites be separate projects/directories/solutions/whatever your version control system calls it.
As a general strategy, I would have your development site be a separate subdomain on your main site, so have the live app be at
example.com and the testing/development app be at
dev.example.com or some such. Set up two different databases, one for the live app and one for testing, and point all your development tools at the testing copy.
It's hard to give you any more specific info without knowing more about the environment you're working in. What languages, software, etc. are you using, who is your current host, etc.