What's the fastest way to port an IIS 7 config from one machine to a new one?
Including all the sites, applications, virtual directorys, ftp accounts, etc...
Is there one machine.config file containing all this info?
If you're doing a 100% copy, then I suggest IIS7 Shared config. You can access it at the top level of IIS. Do an export, copy the files over to the new server, then connect to it from shared config on the other end.
Note: Once you've enabled shared config once, then the Windows machine keys will be imported and you don't need to use shared config anymore. In other words, turn on shared config which causes the import to work, then you can turn it off again and it will continue to work (assuming you copied the files to the default config folder).
The core files used are applicationHost.config and administration.config.