Backup, move, restore a website

Simon Grange.

In this chapter, we are going to see how to back up a Joomla 3 site, how to move this backup to local (on your computer) and how to install it on local server so you can test your backup.

There are many ways to create a backup of a Joomla! website. In this chapter, we will focus on two different methods: the “manual” backup and the backup with the Akeeba Backup component, which can be done with only a few clicks.

 

Quick reminder: a Joomla! site's data are stored in two different locations:
  • On a server which you access via FTP
  • In a database

In order to make a full backup, and so your site can work properly, you need to make a backup of these two parts.

Requirements: You need to install a local server on your computer before you can test your backups on local.

 

Manual Backup

Creating a backup manually is easy if you have:

  • your FTP login details
  • your login details to access your web host phpMyAdmin interface

If you don't know them, ask your web host.


As we just said, a Joomla! site consists of two parts, let's see how to back them up:

Transfer files and folders

To transfer your files and folders, you need a FTP client. As an example, we are going to use FileZilla, which is a FTP client compatible with Windows, Mac and Linux. It's also free and you can download it from: http://filezilla-project.org

Then, run FileZilla:

FTP client

1 – Enter your FTP login details.
2 – Local Site: access the folder into which you want to move your backup.
3 – Remote Site: access your site's files and folders (usually located into a www or web directory).
4 – Move all your files and folders to 5 (5 being the folder you chose in step 2).
6 – Queued files: the number of files remaining.
7 – Failed transfers: information details about the files that failed to be moved. You need to make sure that no files failed during the transfer.

The transfer can take several minutes depending on the site's size. Once the transfer is complete, let's make a backup of the database.


Export the database

To back up a database, you need to connect to the phpMyAdmin interface of your web host:

Export databse via phpmyadmin

 

Click the Export (1) button, you'll be taken to this page:

Export zipped database


1 – Make sure that all tables are selected.
2 – Choose the "zipped" compression.
3 – Click the Run button.

You will get a file database_name.sql.zip.

Now access the phpMyAdmin interface of your local host and create a new database (write down the name of this new database):

 Create new database

You'll be taken to a page telling you that a new database has been created:

 import database

Then, click the Import button (1). Use the browse button to find the database you've just exported and click the Run button.


We have just backed up your files/folders and your database.

Now, let's test this backup. To do so, we need to move the files and folders to a new folder on localhost.
Once this is done, we need to edit the configuration.php file.

 

Edit the configuration.php file

The configuration.php file includes data that allow the two parts of your site (files/folders and the database) to communicate. As your site has been moved, we need to edit this configuration.php file.
MoovJla is a small tool perfectly suited for this purpose. You can find it here: http://www.joomxtensions.com/moovjla.html

Download MoovJla, unzip it and put it in the root folders/files (the folders/files that were moved to a directory on local).

Enter the address of your local site in a web browser to access it and add /MoovJla.php to the URL. For example:

http://localhost:8888/joomla3/backup/moovjla.php

You'll see this page:

Moovjla

1 – Enter the server's name, the username and your localhost password.
2 – Enter the database name that you've just created on your phpMyAdmin interface.
3 – Absolute path to folder, usually you don't need to change it.
Then click the Submit Changes button.

That's all!

You can now access your site's backup locally and check that everything works correctly, for example at the following address:

http://localhost:8888/joomla3/backup

 

Back up with the Akeeba Backup Component

Akeeba Backup is a free component enabling you to make a backup of a Joomla! website (files + database) and to move this backup on any server that meets the Joomla! requirements.

 

Download and Install Akeeba Backup

Download

To download Akeeba Backup, all you have to do is access the author's website [https://www.akeebabackup.com] and choose the latest stable version. The version used for this tutorial is version 3.6.9. As Akeeba backup keeps upgrading, the version you will use may differ from the one used in this tutorial. Just make sure that you choose a version that is stable and compatible with your Joomla! version.


Install

Installing Akeeba Backup is just like any other Joomla! extension. Access your site's admin area and select ExtensionsExtension ManagerInstalln'importe quelle extension Joomla!

Install extension Akeeba backup


1 – Select the file on your drive
2 – Click Upload & Install

If everything goes well, you'll be taken to this page:

Install akeeba backup completed

If Akeeba is not in the language you want, you can download the language files directly from the page “Akeeba Backup Language Files”. The language pack can be installed just like any other extension.

Akeeba Backup is now installed on your site. To access the Akeeba control panel, select ComponentsAkeeba Backup.

Akeeba backup post installation configuration

When you access this control panel for the first time, Akeeba takes you to the post-installation configuration and general information page. You don't need to change the default configuration, just click the Accept the mandatory information and apply preferences button.

Akeeba backup configuration wizard

Once the configuration is complete, Akeeba displays a message:

Akeeba backup finished benchmarking

Click the Configuration button.

You'll then access the control panel:

Akeeba backup dashboard

1 – A link directing to the extension's help documentation.
2 – Configuration Wizard: it allows you to check/configure Akeeba. We just did it before accessing the control panel.
3 – Profiles Management: to manage your Akeeba Backup profiles.
4 – Configuration: to change your settings. You can for example configure the directory in which your backups will be stored. By default, this directory is “administrator/components/com_akeeba/backup”. For security reasons, it's important that you choose a new one.
5 – Backup Now: to make a backup.
6 – Manage Backups: to manage all your backups.
7 – View Log: you can view information about the backups you made.
8 – Scheduling Information to schedule your backups.
9 – Component Parameter: to configure the settings of the Akeeba Backup component.
10 – Data Exclusion: allows you to exclude some files, folders and/or database tables during a backup.


Back up your site with Akeeba

There's nothing easier than backing up your website with Akeeba, just click the Backup Now icon. You'll be taken to this page:

Akeeba backup description


1 – Enter a description for your backup. The backup date will be used by default otherwise.
2 – You can add a comment to your backup.
3 – Click the Backup Now button...
...And let Akeeba do the rest:

Backup with Akeeba backup

Whatever you do, DO NOT LEAVE THIS PAGE until the backup is complete, it would be suspended otherwise. This can take several minutes according to the size of your site.
Once it's completed, Akeeba displays a message:

Backup completed successfully

If you click the Manage Backups button, all the backups you've made will be displayed.

Manage you backup with Akeeba

Here you can access all your backups, you can download, edit or delete them.


Move an Akeeba backup to your drive

Once you've made a backup, you need to transfer it to a safe place and to install it on local or on another server to test it and make sure it's full. Your backup is stored in an archive.jpa like: domainname-site-20140422-113422.jpa.

You can transfer it via your BackendComponentsAkeeba BackupManage BackupsManage & Download. But this is not the best way (a window pops up to tell you so if you click this button).
You can also transfer your backup via FTP.
To do so, just connect to your server via a FTP client and access the folder that you configured in the option "Backup Directory". If you didn't change this directory, your backups are stored in administrator/components/com_akeeba/backup.
Here's how to proceed with FileZilla FTP client:

Backup transfert with FileZilla

1 – Enter your FTP login details provided by your host.
2 – Access the folder into which you want to move your backup.
3 – Access the directory administrator/components/com_akeeba/backup (or the directory you chose in the Akeeba configuration).
4 – Select the backup you want to transfer and move it (using the drag/drop feature) to 5.

Restore your Akeeba backups with Akeeba Kickstart

There are different ways to restore an Akeeba backup, read the Akeeba Backup official documentation for more information on these methods.

We are going to see how to restore your site on localhost using Akeeba Kickstart.
To do so, we need:

  • An archive.jpa which contains your site's backup
  • A computer with a local server (MAMP, XAMPP, WAMPserver...)
  • The Akeeba Kickstart pack, to be downloaded from Akeeba website [https://www.akeebabackup.com]

Create a database

To create a database, simply login to your phpMyAdmin interface and create a new database:

Create new database

Choose a name for your new database (1) (backup_1 for example) and click the Create button (2). You'll be taken to the following page:

Database backup 1 created

Make sure you remember the name that you gave to your database.

Extract backup data

To extract data from your Akeeba backup, create a new folder at the root of your server in which you will put the archive.jpa.
For organizational purposes, you can create a folder "backups" in which you can create a sub folder 2014 in which you create one folder for each month.


|Root
|______backup
|____________backup_2014
|__________________2014_04

Then, put your archive.jpa into the folder corresponding to the month of your backup. In the example here, the backup was made in April 2014.

Unzip the Kickstart pack that you downloaded from Akeeba.com.
In this pack, you will find several files, only two are of interest:

  • kickstart.php (to unzip the archive).
  • en-GB.kickstart.ini (to have the English interface).

Put these two files into the same folder (the folder in which you put your archive.jpa).

Enter the address in a web browser to access your backup, like in this example: http://localhost:8888/backup/backup_2014/2014_04

Path to backup

Click kickstart.php (or add it directly to the URL). You will see the following page:

You should know about akeeba

After you read the message, click the blue link. You'll be taken to the following page:

Akeeba backup pre-extraction

If you've followed every step of this tutorial, you don't need to change a thing, just click the Start button. The extraction process begins:

Extraction with Akeeba backup

Do not leave this page, just let the extraction runs. This may take several minutes, according to the size of the site.
If everything went well, you'll be taken to the following page:

Akeeba run the installer

Click the button to start the installation process.

 

1. Pre-installation

Akeeba backup pre-installation

If all the settings are green, click the Next button.

 

2. Database Restoration

 

Akeeba backup database restoration

1 – “localhost” (can vary along with the server you're using).
2 – “root” (can vary along with the server you're using).
3 – “root” if you're using MAMP, nothing if you're using another server (can vary along with the server you're using).
4 – “backup_1” (or the name you chose when creating the database).
5 – If you want, you can edit the table name prefix, but this is not mandatory.

Click Next. A window pops up during the process integrating contents into the database:

Database restoration

Once this is done, click the Next button:

Database restoration successful

 

3. Site Setup

Akeeba backup site setup

1 – Enter a site name and a valid email address.
2 – Choose a username and a password (which can be the same password as your website's).

Click the Next button:

4. Finish and remove the installation directory

 Akeeba backup remove the installation directory

Here, you just need to click the button in order to remove the /installation directory. Then a window pops up:

Akeeba visit the frontend

 

From this button, you can access your site's Frontend.

You can access your website at the following address (which can vary):

  • http://localhost:8888/backup/backup_2014/2014_04

and your website's admin area:

Run some tests (in Frontend and in Backend) in order to check that everything works properly.

For security reasons, you can delete the following files:
kickstart.php
en-GB.kickstart.ini
that are located at the root of your site.
You can also move/store the archive.jpa.


Akeeba Backup support policy

Akeeba Backup is a free extension and the developers provide support for the software to subscribers. It is possible to get support for 8 days for a few euros. It is also a good way to thank the developers for their work.
To check out Akeeba support offers, go to Akeeba.com


Conclusion

Back up your site!

We can never say it enough: backups are very important. In case a problem arises, for example if your site has been hacked, if it goes down, if you make a wrong command, if there's an issue with your host... As long as you have a full and recent backup of your site, more than 80% of the necessary work to restore your site is already done. Just make backups.


Make regular backups of your site

It is important to regularly back up your site (at least once a week), so that the minimum amount of work is lost if a problem arises.
Back up your site before you install updates (of Joomla! or of extensions) and before you install a new extension.


Test your backups

As already said, a backup that is not tested is not a backup. You need to move your backups to local and/or to a test site so you can test them and make sure they're complete.


Do not keep your backups on the same server as your site because potential hackers will be able to access them. As soon as you've made a backup, move it, test it and store it in a safe place.