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.
- 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.
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:
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.
To back up a database, you need to connect to the phpMyAdmin interface of your web host:
Click the Export (1) button, you'll be taken to this page:
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):
You'll be taken to a page telling you that a new database has been created:
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:
You'll see this page:
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.
You can now access your site's backup locally and check that everything works correctly, for example at the following address:
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
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.
Installing Akeeba Backup is just like any other Joomla! extension. Access your site's admin area and select Extensions → Extension Manager → Install. n'importe quelle extension Joomla!
1 – Select the file on your drive
2 – Click Upload & Install
If everything goes well, you'll be taken to this page:
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 Components → Akeeba Backup.
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.
Once the configuration is complete, Akeeba displays a message:
Click the Configuration button.
You'll then access the control panel:
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:
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:
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:
If you click the Manage Backups button, all the backups you've made will be displayed.
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 Backend → Components → Akeeba Backup → Manage Backups → Manage & 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:
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]
To create a database, simply login to your phpMyAdmin interface and create a new database:
Make sure you remember the name that you gave to your database.
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.
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
Click kickstart.php (or add it directly to the URL). You will see the following page:
After you read the message, click the blue link. You'll be taken to the following page:
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:
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:
Click the button to start the installation process.
If all the settings are green, click the Next button.
2. 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:
Once this is done, click the Next button:
3. 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
Here, you just need to click the button in order to remove the /installation directory. Then a window pops up:
From this button, you can access your site's Frontend.
You can access your website at the following address (which can vary):
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:
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
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.