Using JoomlaPack to Backup and Restore Your Joomla Website

 

JoomlaPack is a Joomla component that is used to backup your entire Joomla website (including all files and database tables) in a single archive.  Check out the JoomlaPack website to discover why you should use JoomlaPack.

Downloading JoomlaPack

Go to the JoomlaPack download page and get the latest version of JoomlaPack Core and the Kickstart utility.  If you need to install JoomlaPack for multiple languages, download JoomlaPack Plus, or download the translation files individually to be installed on top of the JoomlaPack Core.  Installing translations is beyond the scope of this document so refer to the JoomlaPack documentation for more information.

 

Installing JoomlaPack on your Joomla website

In a web browser, login to your Joomla website’s backend Administrator control panel.  From the main navigation menu, click Install/Uninstall from the Extensions menu. 

In the Upload Package File section, click the Browse button and navigate to the JoomlaPack Core ZIP file you downloaded from the JoomlaPack website.  After selecting the Package File click the Upload File & Install button.

 


 

Assuming everything installed without a hitch, you will see a message similar to the following and you will be ready to start using JoomlaPack.

 

Configuring JoomlaPack

Out of the box JoomlaPack can backup up your site, but here I’ll show you a few settings you may want to configure before going forward.  For all configuration settings that aren’t covered in this section, refer to the official JoomlaPack documentation which can be downloaded from the JoomlaPack website.  To begin configuring JoomlaPack select Configuration under the Components -> JoomlaPack menu.

Under the Basic tab of the Common Settings section, the default Output Directory is configured to write the backup files to [ROOT]/administrator/components/com_joomlapack/backup.  One benefit to this is that every successive backup will contain all the previous backups meaning you could easily go back to any one of them when needed.  However, transferring the backup file after (say) five backups can take a significant amount of time. 

To keep the size of your backup files to a minimum, set the Output Directory to a location outside of your Joomla website directory structure.  Click the Reset to default button to show the full path of where the Output Directory is and modify as needed. 

I typically create a directory called “backups” one level higher than my “public_html” folder.  This also secures my backup so it cannot be accessed from the WWW directly.  Only those who have access to my hosting account can get to this location.

In addition, I have more than one Joomla installation and therefore configure each to write to this directory.  From here I can manage all of my Joomla backups.

Under the Basic tab of the Profile Settings section, I like to change is the Active Name Template.  The default settings are fine, but some of my Joomla sites are installed under the same Host (domain name) and therefore would all have similar filenames which could make it a bit more difficult to manage.  So for those sites I might replace the word “site” with the Joomla site name for which I’m configuring the backup.  With this change, the resulting filename might look something like “MyJoomlaSite-www.MyDomain.com- 20090930-193343”.  You can change this up to meet your needs or leave the default setting if desired.

Finally, the only other setting I change is the Archiver engine under the Advanced tab of the Profile Settings section.  The default setting uses the ZIP archive engine, but JoomlaPack recommend that you use the JPA JoomlaPack Archive format.

Backing up your Joomla website with JoomlaPack

To backup your Joomla website, select Backup Now from the Components -> JoomlaPack menu.

If you want, type a short description and comments about the backup, then click the Backup Now button.


 

The progress will be displayed on the following screen as your Joomla database and files are backed up.  If all goes well, you will see the Congratulations message as shown below.

 

 

 

To download the archive to your local computer, click on the Administer Backup Files link to view the backup.  Then click the link under the Archive column.

 

Restoring up your Joomla website with Kickstart.php

To restore your Joomla website with the following steps, you will first need to unpack the kickstart.php file from the ZIP you downloaded at the beginning of this document.  Copy both the JPA archive file and the kickstart.php file to the directory on your web server for which you want to restore your site; these are the only two files you will need.

To start the restoration process, open a web browser and type the location that you copied the kickstart.php file to.  The URL you type will look something like http://mydomain.com/someFolder/kickstart.php.  The kickstart.php will launch.  Accept the defaults and click the Start button.

Kickstart will begin unpacking the JPA archive and display the progress on the following screen.

When the unpacking process is complete, you will be presented with the following message. 

Click the first “here” link (above) which will open the JoomlaPack Installer (below)in a new window.  DO NOT CLOSE the Kickstart window until prompted later in these steps.

The first screen of the JoomlaPack Installer shows you an overall status of required settings you’ll need to proceed with the restore process.  If anything does not check out, it is likely due to either a PHP or MySQL configuration that is not set.  Refer to the respective documentation for resolving any of those issues.  I have yet to see any issues running this on any of my HostMonster.com sites.  Click the Next button when all set.

NOTE: If you are restoring the archive to a different location than the original, either on a different web server or the same but under a different directory, you will first need to create a new database for the site being restored.  If you don’t create a new database, both sites will point to the same one.  This means that if you make a change (menus, content, etc.) in one of your sites, the other will be affected as well.  Refer to the Creating a MySQL Database section at the end of this document for more information.


 

On the DB Restore screen, enter the appropriate database credential in the fields provided.  If you are restoring to the exact same location as the original using the same database, you can leave the default settings.  Click Next to continue.

A progress window will be displayed as the database is being restored.  If you run into any issues during this process, go back and check your database credentials and try again.  Otherwise, click the OK button when the database restore is complete.

 

On the Site Setup screen, you can bypass configuring the FTP settings, however you must specify a all three settings under the Site Parameters tab.  You can change these later, if necessary, from within Joomla on the Site Configuration page.

 

You can bypass configuring the settings under the Super Administrator settings tab, however if you are restoring to a different location than the original site, you should change the Temporary Directory and Logs Directory under the Fine Tuning tab.  These should be set to the “tmp” and “logs” directory under your new Joomla home directory, which for this example is http://mydomain.com/someFolder.  Both directories were created when Kickstart unpacked the JPA archive.  When ready click the Next button to continue.

At this point, your Joomla website’s configuration has been written to disk and you may close this browser window.

Go back to the Kickstart window and click the second “Here” link to finalize the restoration process.  When you see the following message in the Kickstart window, you’re done.

 

Now you can browse to your newly restored Joomla website and everything should work just as it did in the original site when you backed it up.  Now wasn’t that easy?


 

Creating a MySQL Database

Depending on who you use for hosting, these steps may vary but should be well documented by your host should you need assistance.  I use HostMonster.com which has a nice cPanel interface with a Databases section for managing my databases.  The following steps use the said interface.

Login to the cPanel interface and scroll down to the Databases section.  Click on the MySQL Databases icon.

In the Create New Database section on the following screen, type a name for the new database and click the Create Database button.  The new database will be prefixed with your User ID,

Now you will need to assign a database user with admin privileges to the new database.  If you do not yet have a database user or if you want to create a new one, scroll down to the Add New User section and type the credentials you wish to use.  Once ready click the Create User button.  Just as with the database name, the database user name will be prefixed with your hosting account User ID.


 

To assign a user to the database, scroll down to the Add User To Database section and select the User and Database you wish to assign.  Click the Add button to perform the action.

You will be prompted to give the user privileges to the database.  Go ahead and select ALL PRIVILEGES to give the user full control.  Click the Make Changes button to complete the action.

That’s all there is to it.  You can now log out of the cPanel and/or close the browser window.