Make sure production is being backed up regurally and there's a DR plan in place. Database, web site(s), any dependencies - everything you need to get the application(s) running on a new server. Secure off-site backups would be ideal.
Set up a stage environment on a new server. If you feel the DB instance should be on its own server (not web facing), put that on its own server.
Implement any version control system, load your code into it, and deploy it to the new stage environment. I believe Visual Studio Team Services is free for up to 5 users. If your team is larger than 5 people, get your company to spend the money.
Wipe out the old production server and use that as stage.
No matter how bad the environment, it can be fixed. It will take time and will be painful for everyone involved. But that just makes it so much more gratifying when you're done.