On the site you want to copy, go to 'Site Actions' and pick 'Site Settings'. From there, you can pick 'Save site as template' under the 'Look and Feel' section.
When you're creating a new site, there should be a new tab on the Templates box called 'Custom' - simply select your template, and away you go! Make sure that if you're deploying on another server, you'll have to install any custom web parts as well (BEFORE you create the site). The same applies for custom lists - templates can be saved from the List Settings page.
If you're going to be setting this site up in an entirely different Site Collection, you simply have to save the templates to your local system and upload them to the appropriate template galleries on the new Site Collection.