Support

Documentation

Akeeba Kickstart starts, but can't extract the archive, throws an AJAX Error, Invalid Archive Header or other error

Server protection

If you get a 502 Bad Gateway error or the extraction halts mysteriously after a very short while (about 10 seconds or less) you may be hitting a server limitation. Hosts using the Apache web server usually have installed and configured mod_evasive, a tool which blocks similar requests coming too fast from the same remote client. While this is a good protection against Denial of Service attacks it can get in the way of extracting a backup archive: Kickstart is hitting a similar URL for each of its extractions steps. Moreover, some hosts may go a step further and apply CPU usage limits. If a script, like Kickstart, uses too much CPU they will block your requests and / or your IP address for a while. Again that's very good for preventing Denial of Service attacks but not very good for extracting backup archives, something which is by its nature a CPU-intensive process.

There is a workaround for that but the exact values depend on your server. On Kickstart's main page, under advanced settings, set the minimum execution time to 7 seconds and the maximum to 10. If that still fails, try setting the minimum time to 7 seconds and the maximum to 3 (yes, the maximum is less than the minimum, that's on purpose). These settings modify the amount of time Kickstart will be spending on each request and its duty cycle (how much work it will do and how much time it will sit around doing nothing). These tricks work around the protections of your server. If all else fails you can always extract the backup archive manually on your computer, using either Kickstart or Akeeba eXtract Wizard, and upload everything to your server. This is much slower but it always works.

Free space

The most common issue of all is, surprisingly, not having enough disk space. In order to restore a backup archive you need to have at least as much space as kickstart.php, your backup archive and all of the extracted files occupy. As a rule of thumb, you need about 2.5 times as much disk space as your backup archive. In other words, if you have a 100Mb archive file, make sure your site has at least 250Mb of free space before uploading Kickstart and the backup archive to it.

Missing or corrupt backup archive parts

If you have a multi-part archive (files named .jpa, .j01, .j02, etc or .zip, .z01, .z02 etc) remember to upload all of the archive parts, otherwise the extraction will, of course, fail. More specifically, the extraction might continue up to the point where Kickstart determines that a part file is missing. Then, it will tell you that the archive is invalid, corrupt or archive parts are missing (older versions will just show INVALID_HEADER without further information). Moreover, make sure that all backup archives have been downloaded from a live server and/or uploaded to a live server using FTP in Binary transfer mode. Any other way to transfer them will most likely corrupt them, making restoration impossible. We suggest using FileZilla to do that. As soon as you connect to your site and right before downloading/uploading any files click on the Transfer, Transfer Type, Binary menu item.

File and folder permissions

If you are restoring on a Windows server or local WAMP/XAMPP/other local server solution and you receive an error message like "Could not create test/info/N:/ folder", take a good look at the error message. If the file name contains a colon (:), slash (/), question mark (?), asterisk (*), vertical bar (|), quotation mark ("), less than (<) or greater than (>) then you can not use Kickstart to extract the archive. The reason is that these characters are valid for files stored on a Linux, Mac OS X, *BSD, Solaris or other UNIX-based operating system, but not on Windows. The only workaround is to use our free Akeeba eXtract Wizard desktop application to extract the archive, as it knows about this problem and will skip extracting those files. Then, move your file's to the new site's root and access the restoration script as, say, http://localhost/mysite/installation/index.php in order to continue the restoration.

If that doesn't work, please indicate the type of server you are restoring to

  • A local server, for example XAMPP, MAMP, WAMPServer, Zend Server CE, Uniform Server, etc.

  • A live server, e.g. a shared host, dedicated box, cloud host, VPS or any other server directly accessible from the Internet

Troubleshooting on a local server

If you are on a local host, be advised that permissions or Windows ACL may be interfering with Kickstart's operation.

If you are on a Linux machine, change the permissions of the root of your to-be-restored website to 0777. For example, if you're trying to restore to /var/www/mysite you have to issue a command like chmod -Rf 0777 /var/www/mysite after you have put Kickstart and the archive in there, but before launching Kickstart

If you are on a Mac OS X machine, use the Finder to find your site's root. Right-click or Control-click on it and select Get Info. Scroll down to the Sharing & Permissions slider and expand it if it's not already expanded. Find the row where the Name column reads everyone and set the Privilege to Read & Write.

If you are on a Windows XP Home machine, use Windows explorer to find your site's root. Right click on it, select Properties and clear (unselect - it must be blank, not gray!) the Read Only checkbox. Click OK and, if prompted, tell Windows to apply this to all files and subdirectories.

If you are on a Windows XP Professional, Vista (all versions) or 7 (all versions) machine, use Windows explorer to find your site's root. Right click on it, select Properties and click on the Security tab. Click on the Edit... button. If you can't see a user named Everyone, you will have to click on the Add... button, type Everyone in the big text box and click OK. Now click on the Everyone user and then take a look at the list of checkboxes below. Click the Accept checkbox on the Full Control row (the topmost one). Click on OK, then again on OK.

[Important]Important

If you are restoring a backup taken on Linux / Mac OS X on a Windows machnie there is another possibility. You may have a filename which is valid under Linux / Mac OS X but not on Windows such as "index.php?something". In this example the question mark is an allowed filename character on Linux but not on Windows. In such cases you can extract the backup archive using Akeeba eXtract Wizard or Akeeba Kickstart as long as you check the Ignore most errors checkbox. This will tell eXtract or Kickstart to ignore files which cannot be opened for writing. But beware! This will also skip files with legitimate filenames which are attempted to be extracted on unwritable directories. So, our suggestion is to first try adjusting the Security privileges and only if all else fails should you resort to using the Ignore most errors checkbox.

Troubleshooting on a live server

If you are on a live server which doesn't use suPHP (most hosts; if in doubt, your host is most likely one of them) you will have to use Kickstart's FTP mode.

[Important]Important

DO NOT SET YOUR SITE ROOT'S PERMISSIONS TO 0777. This will most likely work, but it is a terribly unsafe setting. Use Kickstart's FTP mode as outlined below instead.

First, upload kickstart.php and the archive file(s) to your server. Before starting Kickstart, you will have to do some preparatory work. Using your FTP client application, create a directory named kicktemp inside the same directory kickstart.php is in. For example, if kickstart.php is in public_html directory you have to create the kicktemp directory inside the public_html directory. Using your FTP client application give that directory 0777 permissions (read, write and browse/execute to owner, group and others). Don't worry, we will get rid of that directory later.

When Kickstart starts, set the Write to files option to Use FTP. In the fields which appear below you have to supply your FTP host name (usually it's localhost, 127.0.0.1 or the FTP hostname provided to you by your host), the FTP username and password provided by your host and the FTP directory.

In order to determine the proper FTP directory, do this. Connect to your site using FileZilla. Navigate inside the folder Joomla! is installed in. Usually it's a directory named public_html, htdocs, www or something similar. If unsure don't ask us, ask your host. Now, on the right-hand pane you will find the FTP path. Most likely it will look something like /public_html. Copy this and paste it into the FTP Directory text box in Kickstart.

In the Temporary Directory box you see that there is already something written in it. Append (do not replace!) /kicktemp to it. For example, if it was reading /home/users/myuser/public_html it should now read /home/users/myuser/public_html/kicktemp. Click on the Check button next to it. It should tell you that the directory is readable. If not, retry the above procedure and don't skip any steps. Then click on the Test FTP Connection button. It should tell you that the FTP connection was established. If not, ask your host if they do support sites writing to themselves using FTP. If they don't you'll have to manually extract the archive locally (e.g. using Akeeba eXtract Wizard) and upload the files manually. In this case, please consult the Quick Start Guide for further instructions.

[Warning]Warning

Some hosts do not allow you to upload files named .htaccess or php.ini. This can cause an extraction issue despite following the advice above. To test that, try uploading a file named .htaccess from your PC to your server. Alternatively, upload a plain text file (create one in Notepad, gEdit, TextEdit, etc) and try renaming it to .htaccess through your favourite FTP program. Try the same thing with a file named php.ini for good measure. If that fails, you can't use Kickstart on that server. Moreover, restoring a site on that server would be insecure. In this case, we strongly advise you to switch to a decent host. We regret to inform you that we can not provide support on this kind of broken, restrictive hosts.