Backing up a Joomla site with Akeeba Backup

Akeeba Backup (formerly known as JoomlaPack) is a backup and cloning component for Joomla. It will grab a copy of your site’s files and a snapshot of your site’s database and package them in a compressed archive file with a restoration script. The resulting backup can be restored on any server, not only on the one it was taken from.

PRE-INSTALLATION PREPARATION
Before beginning, decide where you want to save your backups. Best practice is to create a directory for them outside the Apache docroot so they are not world accessible:

  • On a remote hosting account this might be /usr/home/USERNAME/backup/
  • On a local box serving a local network, anyplace outside the Apache docroot that your existing backup solution will pick it up should be fine
  • If Apache doesn’t accept outside connections (e.g. a secure development box), you don’t have to worry about this and can use Akeeba Backup’s default backup directory, administrator/components/com_akeeba/backup in the Joomla docroot.

When creating a directory for backups, use the same ownership and permissions you used when installing Joomla.

Even better would be to save backups remotely, but for simplicity’s sake we will consider the easier case of backing up locally.

If you have not defined PHP’s open_basedir then Akeeba Backup will be unable to write to the backup location until you add it to open_basedir. Do so now per the “Configuring PHP” section of the PHP instructions. Defining open_basedir is good security practice generally even if you aren’t using Akeeba Backup.

INSTALL AND CONFIGURE AKEEBA BACKUP
Download Akeeba Backup. There are two versions: Core (basic) and Professional (full featured). These notes assume you have Core.

Install Akeeba Backup as a component in the usual manner. Once installed, follow the welcome screen’s prompt to run the configuration wizard. Then configure it at Components – Akeeba Backup. Non-default configuration settings I usually set are:

  • Basic Configuration – Output Directory: The backup directory as determined earlier
  • Quota Management – Obsolete records to keep: 0
  • Quota Management – Enable count quota: Yes
  • Quota Management – Count quota: A reasonable value, such as 3

When finished with the configuration, press “Save & Close”. You will now be in the Akeeba Backup control panel; make sure the Status Summary shows no errors.

Select “Files and Directories Exclusion” and exclude the directories administrator/cache/, administrator/components/com_akeeba/backup/, cache/, and tmp/ unless you have reason not to. All these directories should be excluded by default, but be safe and double-check.

FIRST TIME MANUAL BACKUP
Check for obvious problems that should be addressed before backing up. Look particularly at Site – System Information – Directory Permissions and Site – Global Configuration. Perform a global check-in (Site – Maintenance – Global Check-in). Go to Components – Akeeba Backup and press “Backup Now.”

If errors list unreadable files, discard the backup, change permissions on the unreadable files as needed, and backup again.

Insure your system-wide backup solution sees and picks up the newly created Akeeba Backup file.

SET UP AUTOMATIC BACKUPS
In Components – Akeeba Backup – Configuration, press the Options button near the top right corner of the viewport. In the Front-End Backup tab, enable front-end and remote backup. Enter a “secret word” (password) to be used in automatically backing up. Press “Save”.

When choosing a password, keep in mind that it will be transmitted in cleartext across an untrusted network, so do not reuse a password used elsewhere. Write down the password for reference.

The next step uses wget. It is included with Linux; Windows users will need wget for Windows.

As a test, issue the command:

wget --max-redirect=10000 "http://EXAMPLE.COM/index.php?option=com_akeeba&view=backup&key=PASSWORD"

…replacing EXAMPLE.COM with your site’s domain (for a local development box, locahost usually works) and PASSWORD with your password. If the command terminates without error then a backup should have successfully completed. Confirm this nonetheless at Components – Akeeba Backup – Manage Backups.

If all is well, set up the command above as an automatic recurring task:

  • On Linux, create a cron job. Keep cron happy by appending -O – 1>/dev/null 2>/dev/null to the end of the command to suppress stdout and stderr.
  • On Windows, use the Task Scheduler.

TIPS AND TRICKS
Consider adding the Akeeba Backup release feed to your preferred feed reader or Joomla’s control panel on the new server, and from there monitor security updates.

Users of the Opera browser might want to know that Akeeba Backup is not tested against Opera and some releases of Akeeba don’t work on Opera. If you experience problems while using Opera, try a different browser.

Be attentive of reports of permissions problems, for example in the Akeeba Backup control panel. They usually indicate permissions problems with the Joomla installation or with your web host generally, not with Akeeba Backup. Permissions problems are always serious and should be addressed; see the Joomla installation notes.

If a backup fails with the error message “CUBE is not initialized”, one cause is insufficient space in the backup directory. Compare the space now used (total of “Size column” in Components – JoomlaPack – Administer Backup Files) with the maximum allowed (“Size quota” in Components – JoomlaPack – Configuration – Profile Settings – Advanced). Adjust the quota as appropriate.

Several factors affect the speed at which Akeeba Backup completes a backup, but a major factor is the quality of your web host. As an experiment I cloned a Joomla site and placed it on a cheap host and a quality host. Timing how long it took to back up the same site on the two hosts, I found the cheap host took nearly seven times as long as the quality host did. While minimizing backup time is not usually a pressing issue, do consider what this implies about the overall quality of different hosts.

On one installation, Akeeba worked fine on a freshly installed site, but started to intermittently fail as the site grew. Using the Configuration Wizard again fixed the issue.

Browsing and posting to the support forum is restricted to donors. Searching the forum is unrestricted, however. Akeeba Backup questions are also answered in joomla.org’s extensions forum (sometimes by Akeeba’s lead developer).

Apropos of this, Akeeba Backup Core is available at no cost and depends upon donations from users to sustain the project. If you find it useful, please consider purchasing the Professional version or donating to the project.

These notes refer to Akeeba Backup Core 3.7 on Joomla 2.5 and were last updated 22 August 2013.

REFERENCES
Akeeba Backup troubleshooting guide

Advertisements

About Warren Post

So far: Customer support guy, jungle guide, IT consultant, beach bum, entrepreneur, teacher, diplomat, over-enthusiastic cyclist. Tomorrow: who knows?
This entry was posted in Uncategorized and tagged , , . Bookmark the permalink.

10 Responses to Backing up a Joomla site with Akeeba Backup

  1. Pingback: Installing, configuring, and using EventList | Warren's tech notes

  2. Pingback: Installing and configuring JCE Editor | Warren's tech notes

  3. Pingback: Migrating a Joomla site to a new server with Akeeba Backup | A maze of twisty little passages

  4. Pingback: Installing and using Joomfish | A maze of twisty little passages

  5. Pingback: Selecting and installing Joomla extensions | A maze of twisty little passages

  6. Pingback: Installing a new distribution | A maze of twisty little passages

  7. Pingback: Installing CiviCRM on Joomla | A maze of twisty little passages

  8. Pingback: Securing a Joomla installation | A maze of twisty little passages

  9. Pingback: Installing and configuring Community Builder Enhanced | A maze of twisty little passages

  10. Pingback: Updating Joomla 1.0 and 1.5 | A maze of twisty little passages

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s