Posted by: Qasim Virjee
on Monday, 23 July 2007
43
(0 votes, average: 0 out of 5)
I got a call today from someone who builds sites with Joomla that wasn't sure what the best way to move sites between servers was, and in fact was inquiring about getting designguru to sub-contract the work.... this kind of shocked me at first because its quite a simple process.
Then again, over the years I've become somewhat familiar to shell/unix command prompt plus using ftp and phpmyadmin - all things that may seem daunting to a newbie, so I thought to type up a post with some suggestions for all of you.
Ultimately, a Joomla site is made up of a database and a bunch of files (the core Joomla install + any extensions your specific site has been setup with + extra images etc...)
1. The standard-issue solution: For years I've been either
downloading the entire root file structure using an ftp client, or
shell access to my server, and then jumping into phpmyadmin to 'export'
my database to an sql file which I download on my local system.
The
advantage of using shell is that you can first create a tidy zip file
of your site before downloading it - sometimes files tend to go missing
otherwise via ftp when your connection times-out etc...
Okay, so at this point, you've got local versions of your database and files, now you need to throw them onto the new server setup... *before you do* make sure that the version of sql is the same - there could be funkiness otherwise. To upload the sql file, get into phpmyadmin on the new server and open a database (or create one if needed), you'll want to make sure that the collation is the same as previous to avoid characters turning out as &^%$# type strings... then click on the 'import' tab, choose your locally saved sql file and click 'go.' That's it - your db should be securely installed on the new setup.
I recommend uploading the zip you created in shell, then using shell access to unzip it on the new server. If you don't have shell access, ftp the files up to the new server and repeat the directory path as before - ie. put everything in the root or directory of the domain as before (eg. http://www.domain.com or http://www.domain.com/site).
You'll need to edit the configuration.php file in your root directory to reflect the new server's absolute path as well as the database location (if its not 'localhost' - check with your host company), plus database name and login info - if you set it up differently from before.
Voila, you've moved your site!
2. The 'Easier' Way: Extensions: If you're a bit too shy or time-pressed to do everything I've just mentioned, you can venture over to J!ED and check out the extensions which are available to do this job for you... well, at least parts of the job.
I haven't tried these but a couple worthy of mention when I glanced over the options this afternoon are: Joomla Cloner (commercial), JoomlaPack (Open Source). JoomlaPack looks particularily delicious because it has measures to ensure file integrity as well as a component structure to enable you to simply re-instate your site within an existing Joomla install.
Has anyone used an extension to handle this task? What have your experiences been?
I had used Agora for years. Everytim...
it is good that the extension's devel...
I like how you executed the upload vi...
thanks, it looks great and loads fast...
Blessing! Souvenir! Decoration! Gift!...