Have you ever wanted to work on a live website but don't want to disturb your users for an extended period? You can do this with quick work and clever ACL management right on the live site, but for large changes and code work, you really need to do the work on a development version. Luckily for Joomla users, setting up a development site is a simple procedure that will allow you to make improvements at your leisure, then copy them to the live site in a minumum amount of time.
The First Part: Cloning your Website using Joomlapack
In this example, we will be cloning a site called "example.com" that has the folder "public_html" as the joomla root. We will be using Joomlapack, the most comprehensive and completely free backup and cloning tool for Joomla. This is a simple procedure on many servers but some setups result in disruptive errors. If something goes wrong be sure to check out the forums at Joomlapack.net or ask the doctor for help.
- Download the latest release of Joomlapack Core version.
- Install the Joomlapack component via the joomla installer at example.com/administrator.
- Open up a new browser tab and go to the example.com's cPanel account, then open the cPanel file manager.
- Create a folder in the joomla root of the site called "dev". You'll be able to access it later from example.com/dev.
- Go back to the Joomla administration tab for example.com/administrator and open up the Joomlapack component's Configuration screen.
- In configuration, you will see a slider for "Basic". Click "browse" to select "dev" as the output directory (the folder you created in step 4). Be sure to click "save" to save the configuration settings.For this example, you won't need to mess with any of the other parameters because you won't be moving the backup anywhere. If you were moving it via FTP, you would want to select the archiver engine in the profile settings -> advanced slider as something that compresses the files more so than the default zip format, like gzip.
- Click "backup now", which will take you to a screen to set the backup title and description, which you can ignore. You'll get warnings about zip being selected as a format but it doesn't matter either since you are not moving the backup to a new server.
- Start the backup by clicking the "backup now" button at the bottom left of the backup now screen.
- While it is backing up, don't navigate anywhere in that tab. Let it do its work, it may take a while depending on the site size.
Setting up the Cloned site
A joomla website consists of all of the files in your Joomla root combined with a MySQL database that stores your articles, users, and info for the rest of your extensions. Joomlapack zips up your joomla root and also exports your MySQL database. While your site is backing up you'll have a few minutes to set up the new empty database into which the Joomlapack installer will "dump" your live site's data.
- Go back to the cpanel tab and click the MySQL databases icon down towards to bottom.
- Create a new MySQL database. You can either create a new user as well or use the existing user. Assign whatever user you pick full privileges to the new database.
- Go back to example.com/administrator to check on the backup process. If it is not done, wait. If it says "backup complete", you don't need to do anything else with the old site. Go ahead and close that tab so you don't get confused.
- Go back to the cPanel file manager and navigate to the dev folder. You may need to hit "reload".
- You will find the backup zip file in the dev folder. Click the box next to it and then click the "extract" icon in the top right of the toolbar. It will ask you where you want to put the extracted files, which should already say "/public_html/dev".
- Click the "extract files" button to finalize the extraction. Wait a bit for it to extract, then click "ok" on the dialogue box confirming the extraction.
- Open a new tab and navigate to example.com/dev. It should automatically redirect you to example.com/dev/installation/index.php. This is the Joomlapack installer which is very similar to the joomla installer. Follow the steps but make sure you put your new database name, username, and password where it asks.
- The final step will attempt to write the configuration.php file to disk, which works about half the time. If it works go right to 16. If not, follow the next steps:
- Copy the configuration.php text from the text area box
- Go back to the file manager and find the file public_html/dev/configuration.php. Click the box next to it and click the "edit" icon in the toolbar.
- Paste the text from your clipboard over the existing text.
- MAKE SURE you have a closing php tag at the bottom of the file. For some reason the text joomlapack gives you to copy does not include that final tag. So, make sure the file ends with:
(that's the closing curly brace for the config class, and the closing php tag. Joomlapack only gives you up to the closing curly brace)
- In the cPanel file manager, find the folder called public_html/dev/installation. Rename it to "installation_bak".
- Open a new tab and go to example.com/dev