Akeeba Backup for Joomla

Akeeba Backup for Joomla

Nicholas K. Dionysopoulos

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the appendix entitled "The GNU Free Documentation License".

Abstract

This is the user manual to Akeeba Backup for Joomla!™ version 9 or later, available on Joomla 4.0 and later.

If you are looking for a quick start to using the component please watch our video tutorials.


Table of Contents

I. User's Guide to Akeeba Backup for Joomla!
1. Introduction
1. What is Akeeba Backup?
2. What can I use Akeeba Backup for?
3. A typical backup/restoration work flow
4. Server environment requirements
2. Installation, updates and upgrades
1. Installing Akeeba Backup
1.1. Installing or manually updating the extension
1.1.1. Install from URL
1.1.2. Upload and install.
1.1.3. Manual installation
1.1.4. Troubleshooting the installation
2. Upgrading from Core to Professional
3. Automatic updates
3.1. Troubleshooting the update
3.1.1. Addressing server issues
3.1.2. Check the validity of your Download ID
3.1.2.1. Check your subscription status
3.1.2.2. Multiple Professional edition Akeeba extensions with different Download IDs
3.1.2.3. Entering or changing your Download ID after an update is available
3.1.3. Updates are showing after installing the latest version
3.1.4. Updates not showing despite having an older version
3.1.4.1. Check the update site
3.1.5. Miscellaneous troubleshooting and information
3.1.5.1. The update fails to download
3.1.5.2. Updating with a third party service fails
3.1.5.3. Manual update
3.1.5.4. Update installation problems
3.2. Entering your Download ID
4. Downgrades
5. Uninstalling Akeeba Backup
6. Requesting support and reporting bugs
3. Migrating from old versions of Akeeba Backup and Joomla!
1. Joomla 1.x and 2.5
2. Joomla 3 minor version updates
3. Joomla 3 to Joomla 4
3.1. On your Joomla 3 site
3.2. After upgrading to Joomla 4
3.3. Miscellaneous information
4. Joomla 4 minor version updates
5. Joomla 4 to Joomla 5
6. Joomla 5 minor version updates
7. Joomla 5 to Joomla 6
4. Using the Akeeba Backup component
1. Custom administrator menu items
1.1. Control Panel
1.2. Backup
1.3. Configuration
1.4. Manage Backups
1.5. Restore Latest Backup
1.6. Site Transfer Wizard
1.7. What to do if you don't have any menu items to Akeeba Backup
2. Pages outside the Control Panel panes
2.1. Common navigation elements
2.2. The Control Panel
2.2.1. Additional controls, warnings and error messages in the Control Panel
2.2.1.1. Web Push controls
2.2.1.2. Full page errors
2.2.1.3. Download ID messages
2.2.1.4. Media files' permissions
2.2.1.5. CloudFlare RocketLoader
2.2.1.6. Missing mbstring
2.2.1.7. Obsolete PHP version
2.2.1.8. Front-end backup Secret Word
2.2.1.9. Insecure output directory
2.2.1.10. Configuration Wizard
2.2.1.11. Migrate your settings from an older Akeeba Backup version
2.2.2. Editing the component's Options
2.2.2.1. Back-end
2.2.2.2. Front-end backup
2.2.2.3. Push notifications
2.2.2.4. Permissions
3. Basic Operations
3.1. Profiles Management
3.2. Configuration Wizard
3.3. Configuration
3.3.1. The main settings
3.3.1.1. Basic Configuration
3.3.1.2. Advanced configuration
3.3.1.3. Site overrides
3.3.1.4. Optional filters
3.3.1.5. Quota management
3.3.1.6. Fine tuning
3.3.2. Database dump engines
3.3.2.1. Native MySQL Backup Engine
3.3.3. File and directories scanner engines
3.3.3.1. Smart scanner
3.3.3.2. Large site scanner
3.3.4. Archiver engines
3.3.4.1. ZIP format
3.3.4.2. JPA format
3.3.4.3. Encrypted Archives (JPS format)
3.3.4.4. DirectFTP
3.3.4.5. DirectFTP over cURL
3.3.4.6. DirectSFTP
3.3.4.7. DirectSFTP over cURL
3.3.4.8. ZIP using ZIPArchive class
3.3.5. Data processing engines
3.3.5.1. No post-processing
3.3.5.2. Send by email
3.3.5.3. Upload to Amazon S3
3.3.5.3.1. Automatic provisioning of Access and Secret Key on EC2 instances with an attached IAM Role
3.3.5.3.2. Setting up Wasabi
3.3.5.4. Upload to BackBlaze B2
3.3.5.5. Upload to Box.com
3.3.5.6. Upload to CloudMe
3.3.5.7. Upload to DreamObjects
3.3.5.8. Upload to Dropbox (v2 API)
3.3.5.9. Upload to Google Drive
3.3.5.10. Upload to Google Storage (JSON API)
3.3.5.11. Upload to Google Storage (Legacy S3 API)
3.3.5.12. Upload to OneDrive and OneDrive for Business
3.3.5.13. Upload to OneDrive (LEGACY)
3.3.5.14. Upload to OneDrive (App-specific Folder)
3.3.5.15. Upload to Microsoft Windows Azure BLOB Storage service
3.3.5.16. Upload to OVH Object Storage
3.3.5.17. Upload to OpenStack Swift object storage
3.3.5.18. Upload to RackSpace CloudFiles
3.3.5.19. Upload to Remote FTP server
3.3.5.20. Upload to Remote FTP server over cURL
3.3.5.21. Upload to Remote SFTP server
3.3.5.22. Upload to Remote SFTP server over cURL
3.3.5.23. Upload to SugarSync
3.3.5.24. Upload to iDriveSync
3.3.5.25. Upload to WebDAV
3.4. Backup now
3.4.1. Troubleshooting backup issues
3.4.1.1. Backup fails after switching to another browser tab, browser window or application
3.4.1.2. Where are my backup files?
3.4.1.3. How can I download my backup files?
3.4.1.4. Why do I get warnings about unreadable files or folders?
3.4.1.5. I got an "AJAX loading error" when backing up. What should I do?
3.4.1.6. My backup files are not being uploaded to Amazon S3
3.4.1.7. How do I know that my backup archive works?
3.4.1.8. What happens if I have a backup or restoration problem?
3.5. Manage Backups
3.5.1. Integrated restoration
3.5.2. Downloading backup archives
3.5.3. Manage remotely stored files
3.5.4. How the Manage Backups page works with local and remote backup archive files and where quota management fits in
3.6. Import archives
3.7. Import archives from S3
3.8. View Log
4. Include data to the backup
4.1. Multiple Databases Definitions
4.2. Off-site Directories Inclusion
5. Exclude data from the backup
5.1. Files and Directories Exclusion
5.2. Database Tables Exclusion
5.3. RegEx Files and Directories Exclusion
5.3.1. Regular Expressions recipes for files and directories
5.4. RegEx Database Tables Exclusion
5.4.1. Regular Expressions recipes for database tables
6. Automating your backup
6.1. Taking backups automatically
6.1.1. Front-end backup, for use with CRON
6.1.2. Remote JSON API
6.1.3. Native CRON script
6.1.4. Alternative CRON script
6.1.5. Joomla Scheduled Tasks (without CLI)
6.1.5.1. The two Akeeba Backup task types
6.1.5.2. DANGER AHEAD: Caveats on using Joomla Scheduled Tasks.
6.1.5.3. Setting up your site for lazy backup scheduling
6.1.5.4. Setting up your site for scheduling using a URL CRON job
6.1.5.5. Setting up your site for scheduling using a CLI CRON job
6.2. Checking for failed backups automatically
6.2.1. Front-end backup failure check, for use with CRON
6.2.2. CRON script for backup failure check
6.2.3. Alternative CRON script for backup failure check
6.3. Checking for failed uploads automatically
6.3.1. Front-end backup upload failure check, for use with CRON
6.3.2. CRON script for backup failure check
6.3.3. Alternative CRON script for backup failure check
7. Site Transfer Wizard
8. Akeeba Backup and the Joomla! custom public folder feature
8.1. What is a custom public folder?
8.2. Backing up a site with a custom public folder
8.3. Restoring a site with a custom public folder, keeping the custom public folder
8.4. Restoring a site with a custom public folder, without keeping the custom public folder
9. Implementing incremental backups
10. Remote Storage and OAuth2 Helpers
10.1. Understanding OAuth2
10.2. Custom OAuth2 helpers for more than one sites
10.3. Custom OAuth2 helpers by storage provider
10.3.1. Box.com
10.3.1.1. Creating the custom helper
10.3.1.2. Using the custom helper
10.3.2. Dropbox
10.3.2.1. Creating the custom helper
10.3.2.2. Using the custom helper
10.3.3. Google Drive
10.3.3.1. Creating the custom helper
10.3.3.2. Using the custom helper
10.3.4. OneDrive
10.3.4.1. Creating the custom helper
10.3.4.2. Using the custom helper
5. Akeeba Backup Command Line Interface (CLI)
1. Common conventions
2. Command reference
2.1. Backup record management
2.1.1. akeeba:backup:take
2.1.2. akeeba:backup:list
2.1.3. akeeba:backup:info
2.1.4. akeeba:backup:modify
2.1.5. akeeba:backup:delete
2.1.6. akeeba:backup:upload
2.1.7. akeeba:backup:fetch
2.1.8. akeeba:backup:download
2.2. Log management
2.2.1. akeeba:log:list
2.2.2. akeeba:log:get
2.3. Exclude and include filters management
2.3.1. akeeba:filter:list
2.3.2. akeeba:filter:delete
2.3.3. akeeba:filter:exclude
2.3.4. akeeba:filter:include-database
2.3.5. akeeba:filter:include-directory
2.4. Profile configuration options management
2.4.1. akeeba:option:list
2.4.2. akeeba:option:get
2.4.3. akeeba:option:set
2.5. Backup profile management
2.5.1. akeeba:profile:list
2.5.2. akeeba:profile:modify
2.5.3. akeeba:profile:reset
2.5.4. akeeba:profile:create
2.5.5. akeeba:profile:copy
2.5.6. akeeba:profile:delete
2.5.7. akeeba:profile:export
2.5.8. akeeba:profile:import
2.6. Component options management
2.6.1. akeeba:sysconfig:list
2.6.2. akeeba:sysconfig:get
2.6.3. akeeba:sysconfig:set
6. Miscellaneous Extensions (Modules, Plugins)
1. Action Log
2. Quick Icon
3. Backup on Update
7. Restoring backups and general guidelines
1. General guidelines for backing up and restoring your site
2. Guidelines for storing your backups remotely / "cloud backup"
3. Overview of the backup restoration procedure
4. Extracting your backup archives
4.1. Using the integrated restoration feature (most common)
4.2. Using Akeeba Kickstart
4.3. Using third party software
5. Troubleshooting restored sites
5.1. Common issues on restored sites and how to solve them
5.2. Common issues on restored sites due to PHP incompatibilities between the source and target server
5.3. When updating the restored site, the original site changes as well (Entangled web sites)
5.4. Clicking on a link on the restored site takes me to the original site (link migration issues)
5.5. Issues arising from your computer configuration, browser, ISP, antivirus and firewall incompatibilities
6. Unorthodox: the emergency restoration procedure
II. Security information
8. Introduction
1. Foreword
2. Why you need to care about ownership and permissions?
9. How your web server works
1. Users and groups
1.1. Users
1.2. Groups
1.3. How users and groups are understood by UNIX-derived systems
2. Ownership
2.1. Process ownership
2.2. File ownership
3. Permissions
3.1. The three types of permissions
3.2. What permissions can control
3.3. Permissions notation
3.3.1. The textual notation
3.3.2. The octal notation
10. Securing your Akeeba Backup installation
1. Access rights
2. Securing the output directory
3. Securing file transfers
III. Appendices
A. The JPA archive format, v.1.3
B. The JPS archive format, v.2.0
C. GNU Free Documentation License