I wanted to have a backup and restore process for my Joomla Website which was in existence for about a month. I have been managing websites as a hobby for a lot longer than that and have worked in mainstream applications development for more than 30 years. I wnat to be sure any backup/restore process I use actually works, so to backup and test the restore process I decided to use JoomlaPack and restore my domain to a subdirectory of another domain that I also had.
The site was Joomla 1.0.13, with sh404SEF, JoomlaPack 1.1.0, JW Media Manager XTD, Simple Image Gallery PRO, JoomlaFCK2. I was a bit worried about the SEF not working after the move, but I need not have worried. I did have one problem after the move with embedded Image Sources and links in content (see below).
To give people the benefit of my experience when moving the site, here are my steps and the small issues I came across :
Moving Installation to another server and www.address
1. Use JoomlaPack to create archive and FTP the archive (.zip) to local PC.
- Make sure you include all Joomla directories in the backup step, including directories that you might not use like "cache" (otherwise you seem to get warnings on the restore) and in the case of cache, you will have to manually creat a direcory of this name on the target server.
2. Unzip the archive and use FTP to transfer to new location.
3. Install as per JoomlaPack instructions and do the following during install (as the restore/install follows the Joomla Install Process, it is a good idea to have the Joomla Installation Guide open as well as the JoomlaPack User Guide) :
- Setup the MySQL Database and Associated User as per User Guide - I used cPanel (note the site prefix applied to the Datbase Name and User Name as these will most probably be different to those from the source domain (and the Install will "suggest" the old names with original site prefix - you will have to overtype the suggestions with your new ones).
- Ignore the Joomla suggestions for Admin User/Password - the SuperAdmin Name and Password will be those which were on the original site.
When the restore completes :
4. Modify .htaccess if you are using SEF Urls (as per sample .htaccess with Joomla) although your .htacces will have been copied as part of the install but you might have some bits that do not apply to new site - check it out anyway. In particular there is a comment in the sample .htaccess for SEF (both Joomla and 3rd Party SEF) where there is a bit to be inserted into a line if the installation is on a subdirectory of a domain - quite self explanatory but read it anyway (note, I forgot to change this at first but it did not seem to matter - the site worked anyway, but I changed it once I noticed it).
5. Modify the following fields in configuration.php if they need it
- $mosConfig_db : Database Name
- $mosConfig_dbprefix : Database prefix, usually "_jos"
- $mosConfig_password : Database Password
- $mosConfig_user : User Name associated with Database
- $mosConfig_absolute_path, $mosConfig_cachepath, $mosConfig_live_site, all to reflect the new location
(all these were done automatically for me by the install process - but check them before you run the system)
6. Delete the Install Directory
7. Sign in as backend SuperAdmin and check your Globals and also any SEF settings (3rd Party and Joomla). Mine seemed fine.
8. Browse to your new site address and check things out.
On my site everything worked perfectly after the move, except two things (very related) :
- Images embedded in news items, where I had used JoomlaFCK2 as my content editor to embed the image from the server. This will only occur where either or both original site and target site exist on a subdirectory To illustrate this I'll give the example. My original site was "www.orig.com", my new site "www.new.com/subd". JoomlaFCK2 has [img src="/images/picture.jpg"] for embedded images, however on the new site it will put [img src="/subd/images/picture.jpg"] ( used to indicate html), unfortunately the old ones do not get converted during the install so you will have to do it by hand. Then again, how many sites will get restored to a subdirectory if they had a full domain - probably only if you are testing a restore process. If you are moving from one root domain to another this will not be a problem. And if you are moving from the a subdirectory of one root domain to the subdirectory of a different root domain - take my advice and keep the subdirectory name the same and again this will not cause you a problem. I also think that if you use TinyMCE, then you won't see this problem either (but I have not tried TinyMICE but it seems to embed its images in the same way the Simple Image Gallery is embedded in content and images for Simple Image Gallery worked no problem). I actually think that the [base href"...."] and [img src"relative uri"] ( used to indicate html)(see source code for any page that contains an embedded image) is possibly being incorrectly interpreted by JoomlaFCK2 - but I could be wrong and JoomlaFCK2 is another brilliant product that I'm not going to stop using just because of this.
- Links embedded in content to other pages within the same website also seemed to remain pointing to the original site - these were also inserted with JoomlaFCK2 but I think that it would be the same with other editors. This might be a bigger problem for some sites. Unfortunately I could see no way other than hand coding changes using "Source" view in JoomlaFCK2 and putting in the new domain/subdirectory name. My problem was not big enough to look for a more automated solution, and I will avoid, where possible in the future embedding internal links within the content.
Any wish list? Not for JoomlaPack - it is brilliant and "does what it says on the tin". But if anyone knows of anything that I can run from my browser that will trawl through my content items (both dynamic and static content) and allow me to replace a string with another, e.g. /olddir/ with /newdir/, then I'd be interested in hearing about it. (I'm not a cPanel/phpAdmin nor MySql expert - so I'd like a noddy guide that includes the table names etc)
Well done Geoffrey