Okay. Well you have a lot of possible solutions to such a deployment process.
What Don wrote is a nice one. If you're using Apache Virtual Hosts make it very easy to host multiple
independant sites on on IP, but its only handy if you can control your DNS or wanna apply your local
static host configuration (/etc/hosts or %SystemRoot%\system32\drivers\etc\hosts).
You have to understand how HTTP works. I don't know how deep you're into that. Just in a short: The idea is to create a new domain, prefixed for example, just like "test.YOURDOMAIN.COM" and let it have its completely own directory, not a subdir. If you make an entry to your HOSTS file on your client, you
can use your browser to access that web site actually on your server, that does not really host that domain but with that hosts configuration your browser will ask for the testing domain and retrieve those files if you configured your server correctly. In your case (actually you seem to have DNS access) you can leave the hosts-file part out, because maybe you really can configure your own subdomains.
That approach is nice, because you can switch easily - immediately without service interruption or side effects (enable/disable sites, reconfigure apache). You won't have to mess around with directories and
create perhaps insane filesystem states if access is not disabled, services get unavailable... a mess for a heavy load site - or if you wanna maintain service quality - the better way.
So if you wanna do it this way, and you have an apache, you would...
- Create a virtual host (http://httpd.apache.org/docs/2.2/en/vhosts/) with a fictional domain prefix
- Apply your production virtual host, so your customers still reach your site, test it twice and tunneld :)
- Add the Domain name to your hosts file from where you run the tests
- Check if it really works and your site is still available
For a Debian GNU/Linux Server Environment and can give you more detailed hints. RHEL derivates I don't have enough experiences.