Chapter 2. Installation, updates and upgrades

Installing Akeeba Backup

Installing Akeeba Backup is no different than installing any other Joomla!™ extension on your site. You can read the complete instructions for installing Joomla!™ extensions on the official help page. Throughout this chapter we assume that you are familiar with these instructions and we will try not to duplicate them.

[Caution]Caution

DO NOT EXTRACT THE ZIP FILE YOU DOWNLOAD FROM OUR SITE.

Akeeba Backup is shipped as a package extension. This is a special type of Joomla extension which consists of several extensions, linked together. If you install the contained extensions individually Joomla will not know they are meant to function as a coordinated set of extensions, it will not show you updates for Akeeba Backup, and will tell you that it has no update information when you try to update to a newer version of Joomla.

If you have accidentally done that download the ZIP file from our site and install it, twice in a row, without uninstalling it before or in between. This will tell Joomla that the extensions you installed separately belong together and let it repair this link between the extensions in your database's #__extensions table, where #__ is the table name prefix used by your site.

Installing or manually updating the extension

Just like with most Joomla! extensions there are three ways to install or manually update Akeeba Backup on your site:

  • Install from URL. This works only with the Professional release of our component. It is the easiest and fastest one, if your server supports it. Most servers do support this method.

  • Upload and install. That's the typical extension installation method for Joomla! extensions. It rarely fails.

You cannot and MUST NOT use the Discover method in Joomla to install any modern Joomla extension shipped as a package, consisting of many related extensions. This will make it impossible to find and install updates automatically and will also cause problems when updating Joomla itself.

Keep in mind that installing and updating Akeeba Backup (and almost all Joomla! extensions) is actually the same thing. If you want to update Akeeba Backup you MUST NOT uninstall it before installing the new version. When you uninstall Akeeba Backup you will lose all your backup settings and all backup archives stored inside Akeeba Backup's directories (including the default backup output directory). This is definitely something you do not want to happen! Instead, simply install the new version on top of the old one. Joomla! will figure out that you are doing an update and will treat it as such, automatically.

[Tip]Tip

If you find that after installing or updating Akeeba Backup it is missing some features or doesn't work, please try installing the same version a second time, without uninstalling the component. The reason is that very few times the Joomla! extensions installer code gets confused and fails to copy some files or entire folders. By repeating the installation you force it to copy the missing files and folders, solving the problem.

Install from URL

The easiest way to install Akeeba Backup Professional is using the Install from URL feature in Joomla!.

[Important]Important

This Joomla! feature requires that your server supports fopen() URL wrappers (allow_url_fopen is set to 1 in your server's php.ini file) or has the PHP cURL extension enabled. Moreover, if your server has a firewall, it has to allow TCP connections over port 443 (HTTPS) to www.akeeba.com and cdn.akeeba.com. If you don't see any updates or if they fail to download please ask your host to check that these conditions are met. If they are met but you still do not see the updates please file a bug report in the official Joomla! forum. In the meantime you can use the manual update methods discussed further below this page.

First, go to our site's download page for Akeeba Backup. Make sure you are logged in; if not, please log in now. These instructions won't work if you are not logged in. Click on the All Files button of the version you want to install. On that page you will find both Akeeba Backup Core and Professional. Next to the Professional edition's Download Now button you will see the Direct Install Link link. Right click on it and select Copy link address or whatever your browser calls this.

Now go to your site's administrator page and click on System, Extensions, Manage. Click on the Install from URL tab. Clear the contents of the Install URL field and paste the URL you copied from our site's download page. Then click on the Install button. Joomla! will download and install the Akeeba Backup update.

If Joomla! can't download the package, please use one of the methods described in this section of the documentation.

Upload and install.

You can download the latest installation packages our site's download page for Akeeba Backup. If you have an older version of Joomla! or PHP please consult our Compatibility page to find the version of Akeeba Backup compatible with your Joomla! and PHP versions. In either case click on the version you want to download and install.

If you are not a subscriber, click on the Akeeba Backup Core to download the ZIP installation package of the free of charge version.

If you are a subscriber to the Professional release, please make sure that you have logged in first. You should then see an item on this page reading Akeeba Backup Professional. If you do not see it, please log out and log back in. Click on the Professional item to download the ZIP installation package.

All Akeeba Backup installation packages contain the component and all of its associated extensions. Installing it will install all of these items automatically. It can also be used to upgrade Akeeba Backup; just install it without uninstalling the previous release.

In any case, do not extract the ZIP files yet!

[Warning]Warning

Attention Mac OS X users! Safari, the default web server provided to you by Apple, is automatically extracting the ZIP file into a directory and removes the ZIP file. In order to install the extension through Joomla!'s extensions installer you must select that directory, right-click on it and select Compress to get a ZIP file of its contents. This behaviour was changed in Mac OS X Mountain Lion, but people upgrading from older versions of Mac OS X (Mac OS X Lion and earlier) will witness the old, automatic ZIP extraction, behaviour.

Log in to your site's administrator section. Click on Extensions, Manage link on the top menu. Please click on the Upload Package File tab. Drag and drop the installation ZIP file you had previously downloaded to start the upload and the installation. After a short while, Joomla!™ will tell you that the component has been installed.

[Warning]Warning

Akeeba Backup is a big extension (about 2Mb for the Professional release). Some servers do not allow you to upload files that big. If this is the case you can follow our installation troubleshooting instructions under "You get an error about the package not being uploaded to the server".

If you have WAMPServer (or any other prepackaged local server), please note that its default configuration does not allow files over 2Mb to be uploaded. To work around that you will need to modify your php.ini and restart the server. On WAMPserver left-click on the WAMP icon (the green W), click on PHP, php.ini. Find the line beginning with upload_max_filesize. Change it so that it reads:

upload_max_filesize = 6M

Save this file. Now, left-click on the WAMP icon, click on Apache, Service, Restart Service and you can now install the component. Editing the php.ini file should also work on all other servers, local and live alike.

If the installation did not work, please take a look at our installation troubleshooting instructions or try the manual installation described below.

Manual installation

Joomla does not support manually installing modern extensions which are distributed as a “package” extension, consisting of multiple related extensions. DO NOT try to extract the installation ZIP file to install each extension manually. DO NOT try to copy files manually and use the Discover feature in Joomla.

If you ignore these instructions please note that Joomla will NOT know that all of the included extensions are related to each other. As a result it will not be able to find and install updates to Akeeba Backup. Moreover, every time you try to update Joomla it will complain that our extensions are not compatible with the new version even though this is nto actualyl the case; this is a consequence of Joomla not being able to find update information.

In short, these are technical limitations in Joomla itself. Installing disparate extensions and using the Discover method are good tools for extensions developers and advanced site integrators, however they are NOT meant to be used on real world, live sites.

Troubleshooting the installation

Please note that extensions installation is performed by Joomla itself, not code that we have written ourselves. If you have a problem installing a Joomla extension of ours the root cause is in Joomla! and the way some of its functions work. While we don't offer support for generic installation issues, this page is meant to serve as a collection of the troubleshooting steps we'd follow on any site when any extension doesn't install correctly.

You get an error about the package not being uploaded to the server

The installation packages of our extensions are rather big, approaching 2Mb for the Professional versions. Many server have a maximum file upload size or a maximum POST request size which is too small – typically around 2MB – for our software to install. The best solution is to ask your host to set the following in the server's php.ini:

upload_max_filesize = 10M
post_max_size = 10M

On most hosts you can place these lines in a file called .user.ini (not the leading dot) or php.ini in your site's administrator directory.

If this is not possible, there's a good chance that the following lines in your .htaccess file may work on most servers:

php_value upload_max_filesize 10M
php_value post_max_size 10M

There is also another alternative, but it won't work on all hosts: installation by URL. Please go to the Download section of our site and select the software and version you want to download. Click on View All files. Next to the "Download now" button for the installation package you will see a link called "DirectLink". Right click on it and select "Copy link address" (the exact phrase depends on the browser, but it should have to do about copying the link or its address / URL / location).

Now go to your site's back-end, Extensions, Extensions Manager and find the Install from URL tab. Replace the contents of the "Install URL" field with the contents of your clipboard (the DirectLink URL you copied above) and click on the "Install" button next to this textbox. As long as your server supports installing extensions from URL the installation should go through.

If this still doesn't help please read on for further troubleshooting tips

"Install path does not exist"

Joomla! requires the PHP Gzip and ZIP extensions to be installed. If either is not installed or if it's blocked then Joomla! will be unable to install extensions. Unfortunately, a cascade of unhandled errors inside Joomla! itself will cause it to come up with the unhelpful and disorienting "Install path does not exist" error message.

Solution: ask your host to enabled the GZip and ZIP extensions in PHP. Furthermore, ask them to make sure that they are not blocking the functionality of these extensions e.g. by using disable_functions or disable_classes in their php.ini file.

Please note that we routinely see hosts disabling functions zip_open, gzuncompress, gzdeflate and gzdecode for ostensible "security reasons". First of all Joomla! WILL NOT work properly when any of these functions is unavailable. Moreover and despite what your host tells you, disabling this functions does not increase your site's security in any conceivable way. If your host denies to unblock these functions please take your site to a different host that understands how server security really works.

"Unable to write entry" or "Unable to create destination" error

This error message comes from Joomla! and it means that there is a file or directory permissions issue. Unfortunately this message is very non-specific and provides no useful information for troubleshooting. This is something we reported to Joomla in September 2017 and was fixed for the most part but internal issues in the way the extensions installer work still prevent the correct path from being shown.

In the meantime, all you can do is ask your host to make sure that all folders and files on your site are writeable by the user under which your site runs. This is not something you or us can do. Please do ask your host.

If this doesn't help it might mean that you have reached the file system capacity of your server. Please note that your account on the server might have several limits:

  • Maximum total size of files and database data. This is the most common limit, e.g. your host telling you that you can use 10G of space in total. Please remember that this includes your database data. Moreover, keep in mind that "unlimited" is a marketing term, not reality. Usually you get up to a certain size limit and you have to ask for more, explaining why.

  • Maximum number of files. This is usually NOT advertised, documented or visible anywhere. Many hosts will only allow you up to a maximum number of files, e.g. 100,000. If you try to exceed that count the file is not created / replaced, as if the permissions were not adequate to write to it. Please note that most times the host engineers will call it "inode count" because that's technically what they are limiting on your hosting user account. Each inode is a filesystem index entry and each file and folder on your site consumes one inode (that's not very accurate but it's a well enough description to understand what an inode is).

  • The physical disk size. All the aforementioned limits are great, but you cannot create files beyond the physical capacity of the disks on your server. Most modern hosts use virtualized, network attached storage to provide ever-expanding capacity on demand. However, some cheaper hosts and dedicated servers still have regular disks attached with finite storage limits.

  • The block count. Please remember that computer permanent storage cannot be allocated with a single byte granularity. It is allocated in blocks, typically 4KB to 32KB each. Think of it as an apartment building where everyone gets the same size , four bedroom apartment regardless of whether they are single or a family of seven with a dog and two cats. This means that small files, whose size is nominally under one block, will occupy at least one block. Your host counts the disk space usage by the number of blocks you occupy but hosting control panels report the aggregated nominal sizes of the files. It is possible for the hosting control panel to report free space when you have reached the block limit of your hosting account.

  • Also remember that your hosting control panel does not report the limit information in real time. You may have already exceeded your limits but your control panel not having been updated with this information.

If you are not sure about these limits please ask your host.

Upgrading from Core to Professional

In some cases we have seen that Joomla failed to copy all of the necessary files when upgrading from a Core to a Professional release or when installing a major update that spans major versions (e.g. 1.x to 2.y). If you believe this has happened to you please install our software twice in a row, without uninstalling it before or in between the subsequent installations.

Check your Joomla! and PHP version

We publish the compatibility of our software with Joomla! and PHP versions in the Compatibility page on our site. You can find a link on this page at the bottom of every page of our site.

Please remember that the PHP version your site is using may be different than the PHP version your host reports in their hosting control panel. If unsure, please refer to Joomla's System Information page. If you need to upgrade your PHP version please consult your host. The exact method to do that varies by host.

Checking your temporary directory

First, we will have to make sure that you are using a valid temporary directory. Many sites are configured to use the system-wide (/tmp) directory or an invalid directory, causing installation problems.

You can change your temporary directory from your site's Global Configuration page. You need to enter the full filesystem path to Joomla's tmp folder. This is typically something like /home/mysite/public_html/tmp. If unsure please ask your host. This information is not visible from within your site's administrator using any Joomla-provided feature and there is no way for us to know it.

File ownership (Previously: Enable FTP)

Some shared servers run PHP as an Apache module. As a result PHP runs under the same user as Apache which is a different user than the one your user account is owned and the one used when uploading files via FTP / SFTP. As a result you end up with mixed ownership of your files, making it often impossible to install or update extensions.

Old Joomla versions (1.x, 2.x and 3.x) included a Global Configuration feature called “Enable FTP”. This feature would make Joomla go through FTP to write to any file, therefore all your files would be owned by the same user, your hosting account's user. However, this was a security issue since Joomla needed to store your FTP password in the clear. In most cases that was also the hosting control panel password. In other words, any security mishap which would divulge Joomla's configuration to an unauthorised user — even a simple misconfiguration of your site's permissions — could cause major problems to your site. This feature has, therefore, been removed from Joomla 4.0 onwards.

If you find yourself on such a host it's a good time to move to a different, better set up host.

To give you a better idea, the PHP developers themselves have said that the PHP Apache module should not be used for shared hosting scenarios. It's something only really meant to be used for single site servers with the assumption that Apache is correctly configured for this use case. Solutions for PHP running as a different user for each site of a shared hosting server have existed since the early 00's. If your host has still not gotten wind of these problems and their respective solutions over a course of at least two decades they are probably unqualified to host any site, hence the recommendation to move to a different host.

Still problems?

If you still can't install our software and you are receiving messages regarding unwritable directories, inability to move files or other similar file system related error messages you can ask for our support but you already read what we're going to try. At best you can expect us to find out the most likely root cause and tell you what you have to ask your host to do to fix it.