Server environment requirements

Akeeba Backup, like all web applications, needs a suitable web hosting environment and web browser to run. In a nutshell you need this to run Akeeba Backup:

  • Joomla!™ and PHP version compatibilities are detailed in our Compatibility page. Your server must have the PHP extensions Joomla recommends installed and enabled.

  • MySQL 5.1 or later, or a compatible server e.g. MariaDB. Akeeba Backup won't work with PostgreSQL or any other database technology.

  • 32MB of PHP memory at the very least. 64 to 128MB recommended. More is better.

  • Your server must allow PHP to list directory contents and read files and dump the contents of your site's database.

  • You need a folder writable by PHP to store your backups in and enough disk space to do so.

  • If you are using any feature that transfers data from or into your site you need the PHP cURL extension or the PHP fopen() wrappers installed and enabled for the respective protocol (HTTP, HTTPS, FTP, FTPS or SFTP) and your server(s) must not block the connection. That's the same requirement as Joomla itself e.g. for its own updates.

  • A fairly modern version of one of the major web browsers.

  • Your computer and browser must not block the connection to your site and JavaScript must be allowed to run.

  • If you want to automate the backup you need a server that can do real (CLI) CRON jobs or use a third party service compatible with Akeeba Backup. You'll have to set up scheduled backups yourself.

  • Some common sense and a basic understanding of how sites work.

In much more detail, Akeeba Backup requires the following server software environment at the bare minimum:

  • Joomla!™ and PHP version compatibilities are detailed in our Compatibility page. Your server needs to be additionally fully compatible with the published minimum requirements of the version of Joomla you are using per the information published by the Joomla project.

  • MySQL 5.1 or later. MySQL 5.7 or later strongly recommended. Versions of MariaDB compatible with the MySQL–flavored SQL language for MySQL 5.1 to 8.0 are also supported but only for the features supported by MySQL itself. We do not have enough information about Percona compatibility.

    [Important]Important

    AKEEBA BACKUP DOES NOT SUPPORT POSTGRESQL A.K.A. POSTGRES.

  • The following PHP extensions must be installed and enabled: mysqli or pdo and pdo-mysql to connect to the database (Joomla requirement); json, mbstring and simplexml (Joomla requirement); gzip for handling compression and decompression of files.

  • Your database server needs to have no limits on operations over a period of time (e.g. queries per minute) or, alternatively, a realistic and high enough limit to run enough SQL queries to dump the entirety of your site's database. The same applies for restoration. While Akeeba Backup can work around some of the more restrictive limits, your backup and/or restoration may be too slow to be practical.

The following common sense requirements are necessary to do anything useful with Akeeba Backup and should be understood as minimum server requirements:

  • As a rule of thumb, we recommend a PHP memory_limit setting of 64MB to 128MB for most sites.

    More precisely you need a minimum of 16MB of free PHP memory. If you are uploading files or backup archives to remote storage / remote servers increase this limit by 2.5 times the maximum size of your backup part size (or upload chunk, for post-processing engines that have chunked upload enabled). If you are using the DirectFTP or DirectSFTP archiver engines increase that by 1.5 times the size of the largest file on your site.

  • Enough available free space or quota limit to store your backup archives and any temporary files.

    If you are uploading backup archives to remote storage you need at least enough space on your server to store the first and last backup archive part on your server (assuming you are using the Upload Files Immediately option in the post-processing engine). In this latter case, that's typically 1.5 to 2 times the part size for archive splitting configured in Akeeba Backup.

  • PHP must be able to list the contents (files and folders) of your site's root, read all files under your site regardless of how many folders deep and list the contents of folders under your site regardless of how many folders deep. This is typically controlled by file/folder ownership and permissions on most Operating Systems and Permissions on Windows. Please note that on some servers this may be additionally controlled via open_basedir restrictions.

  • If the default backup directory cannot be written to by PHP it's your responsibility to provide a writable directory to be used as the backup output directory, either under your site's root or above it. In case of a folder above your site's root it must additionally not be limited by open_basedir restrictions, chroot environments or similar server–level technologies which restrict access to directories above your site's web root.

  • Your PHP timeout limit must be at least 2 seconds to make backups practical (however, transferring backups to remote servers / remote storage is unlikely to work at all). We recommend a timeout limit of 30 to 60 seconds for most efficient operation with a reduced possibility of a timeout.

Server requirements for optional features:

  • The PHP FTP extension must be installed and enabled to use any feature which transfers files to remote servers via FTP or FTPS.

  • The PHP cURL extension must be enabled and compiled against a libcurl library which supports FTP to use any feature which transfers files to remote servers via FTP or FTPS and is additionally marked as “over cURL”.

  • The PHP SSH2 extension must be installed and enabled to use any feature which transfers files to remote servers via SSH.

  • The PHP cURL extension must be enabled and compiled against a libcurl library which supports SFTP to use any feature which transfers files to remote servers via SFTP and is additionally marked as “over cURL”.

  • The PHP cURL extension must be enabled and compiled against a libcurl library which supports HTTP and HTTPS; or the fopen() URL wrappers must be enabled on your site (but not allow_url_includes, we don't make use of that dangerous PHP feature). This is required for using any feature which sends data to or retrieves information from any remote server including but not limited to most post-processing engines and the Site Transfer Wizard. This is the same requirement your server must meet for Joomla to find, download and install updates for itself and third party extensions.

  • Your web server and PHP must be configured with a timeout limit adequate for sending or retrieving files to/from remote storage providers. This depends on the size of the files and your server–to–remote–storage network throughput. We recommend a timeout limit of at least 10 seconds, ideally 60 seconds to cover most practical use cases.

  • Your web server must not block outgoing connections to use any feature which sends information to remote servers including but not limited to most post-processing engines and the Site Transfer Wizard.

  • Your new server must be on–line and accessible over the web with a domain name or subdomain name (not just an IP address) if you are using the Site Transfer Wizard.

  • Your web server must not block inbound connections and your site must be on–line to use any frontend features including but not limited to the Akeeba Backup Remote JSON API and the Legacy Frontend Backup URL. This is necessary for some backup scheduling options.

  • Your server must provide real (CLI) CRON job support to use the command line commands such as but not limited to the command for taking a backup. The Operating System user limits must allow the CRON job to run for at least as long as it is necessary for the backup to run to completion. This is necessary for one of the backup scheduling options.

As far as the browser is concerned, you can use any modern version (i.e. published within the last year) of Microsoft Edge, Safari, Opera, Firefox or Google Chrome. We no longer support Internet Explorer; our software will display incorrectly or not work at all on this old, buggy and obsolete browser.

In any case, you must make sure that Javascript is enabled on your browser for the backup to work. If you are using AVG antivirus, please disable its Link Checker feature (and reboot your computer) as it is known to cause problems with several Javascript-based web applications, including Akeeba Backup and its tools.

You are very strongly advised to disable Internet firewalls, antivirus applications and browser extensions which interfere with the site's loading such as script blockers (such as NoScript) and ad blockers (such as AdBlockPlus) only for the domains you are backing up from and restoring to. Remember that these applications and browser extensions are designed to protect you against third party sites. As a result they are very aggressive and WILL break your own sites. We can't do anything about it: your computer and your browser are under your control alone.

If you are using a CDN, such as CloudFlare, please remember to set it up so that all /administrator URLs on your site are pass-through (not cached). Otherwise the Joomla backend, including Akeeba Backup, will not work properly.