I recently opened a DH hosting account after being referred by a friend – but because I wasn’t sure what I’d think of the service, I just opened with the default DH subdomain. Ok, so now I realize the service rocks, and I want to move my site and domain over here.
All the forum help and wiki articles I can find about transferring tell what to do if you are opening a new DH account, as a new user – but what do I do if I already have one? There’s no longer an option to “add my domain during registration”, so as far as I can tell, I can’t mirror it.
I backed up my site from it’s current cpanel into my DH subdomain, so there’s a tarball sitting there with all my data - is there a relatively painless way to expand that into the directory and then switch the DNS over from my domain?
Since you already have an account, you “add a domain” in a slightly different way. While there are several places in the Control Panel where you can add a domain to an existing account, I suggest using the Domains->Manage Domains page. At the bottom of that page, you will find a link to “Add a Domain / Sub-domain”. Click that link and complete the form that is provided for the domain you intend to transfer. Give it a few minutes to “take effect” (you can tell it is “ready” when the “clock” icon next to the new domain name on the “Manage Domains” page goes away - you can check by going to the Manage Domains page again, as needed, but don’t just “refresh” after “adding the domain” or you risk just re-submitting the process )
Once that is done, extract the contents of the tarball you now have in the “subdomain.dreamhosters.com” directory in your user’s ftp space into the directory that was created for the “new” domain you are transferring. The best way to do this is via the shell. Make sure that your user is a "shell user (which you can confirm, or set as necessary from the “Users” section of the control panel - Edit Users). Then connect to your shell in Dreamhost via an ssh client. Very good instructions for this process, and basic use of the *nix shell commands are available in the Dreamhost Wiki. Just use the tar program from there to do the extraction - if you need help with the use of tar from the command line (don’t be afraid of this, as it is not difficult), just search google for a tutorial or run “man tar” to see tar’s man pages.
Once the DNS updates have made their way across the internet, browsers will see your site as served by Dreamhost. By doing it this way (in effect, keeping your site on the old host while installing it on Dreamhost) you should have minimal downtime; visitors who get the updated DNS will see the site from Dreamhost while those that are not reading the updated DNS yet will see it from the “old” host. Once DNS is updated for all parts of the 'net , everyone will see it the site served from Dreamhost, and you can do whatever you want with the site on the old host (it will no longer be visible).