How to setup a development server on Linux? I am developing a new web site for a client who is already on the web with an old site.

I need to develop the site under a different name (dns) and when it's ready, move it safely to a right name.

I am developing and hosting on AWS under Ubuntu using multi-site setup.

When I am ready I will pointing the DNS to my development server and by doing so I will be on air with the real site.
My question is: While developing I will be directing another domain to the development server say something like deveopment.com by the time I am ready to go live, I will be pointing the real domain to it, say real.com
Other than the dns' what else will I have to change on the server?
Will I have to change anything in the DB? Remember it’s on the same server and I can use the same DB.

Am I likely to run into any trouble?
It should work with no or limited changes. However, some modules include fully qualified paths in database tables or variables, so it is worth checking. 

Some areas to look at are:


settings.php, particularly the database array, $cookie_domain, and $base_url
The sites directory: are you using the default directory or one tied to your development environment? If your material is in sites/my.dev.com then you'll have my.dev.com in the files table
URL related modules like securepages, xmlsitemap, and so on


When I am moving from dev to production, I also use drush to double-check that I missed nothing. Running drush vget dumps the content of the variables table, so I can grep that for URLs. For example to see all the variables that have www.indiemade.com hardcoded:

$ drush vget | grep indiemade
securepages_basepath: 'http://www.indiemade.com'
securepages_basepath_ssl: 'https://www.indiemade.com'
seotools_base_url: 'https://www.indiemade.com'
xmlsitemap_base_url: 'http://www.indiemade.com'
...


One other tool you might want to look into is drush migrate, well explained here.