If you had used the password protection feature, or if you used the "Restore" option from the backup files administration page of JoomlaPack, you will be initially prompted for the password before you can continue with the process. The password is case-sensitive, meaning that "test", "Test" and "TEST" are considered different passwords. Once you have typed - or pasted - your password in the box, click the button to continue. If you mistyped the password, the same password page will appear again.
The initial page of Kickstart consists of the basic configuration parameters it will use during the archive extraction process. On the top of the page there is a drop down list (combo box) containing all the JPA and ZIP archives it has found in the same directory as the script during the script's start up. You must choose the correct one. Conveniently, it pre-selects the first archive found, since most users will only have one archive present anyway.
The second configuration group, labelled " Operation Mode ", allows you to choose how Kickstart will process the transition between the multiple steps required to fully extract the backup archive:
AJAX (refreshless) uses AJAX mode. This is the fastest method but requires a compatible browser (Internet Explorer 6+, Mozilla Firefox 1.5+, Konqueror 3.5.9+, Google Chrome, Safari or Opera 9+). Furthermore, it is possible that on certain server configuration it will fail. Specifically, it will fail on servers which tamper with the script output, by forcing pop-up advertisements for example, or whose PHP verbosity is set too high.
JavaScript Redirects is a fall-back method which should work on virtually any server setup. It is slower, because after each step the whole page is reloaded and a small piece of JavaScript code makes sure that the browser advances to the next step of the extraction process.
![]() | Warning |
|---|---|
Kickstart requires JavaScript to be activated. Some software, such as firewalls, Internet security suites and browser plug-ins, might deactivate JavaScript. If Kickstart appears to be absolutely unresponsive, please double check that JavaScript is enabled when accessing Kickstart. |
You can also choose to Restore file permissions if you use a JPA archive. This option, naturally, only works if both the server on which you backed up your site and the server on which you restore your site run on Linux. Do note that there are some limitations to this feature. For example, you may have assigned a directory as unwritable by the owning user. Kickstart will have to assign it as user-writable in order for the extraction to work at all. Also, if you had been mixing FTP uploads and PHP direct file writes on your site, restoring permissions might be a recipe for disaster. Finally, if your original site used the Joomla! FTP layer but your clone does not, or vice versa, trying to restore file permissions might have adverse effects to the operation of the restored site.
As a rule of thumb, only use this feature if you are restoring to the same server as the one you backed up from and it's using suPHP. In all other cases you may end up with "permissions hell" or even fail to restore your site.
![]() | Important |
|---|---|
Remember that setting correct and secure permissions on files and folders is ultimately your responsibility as a web master! Do not expect software to substitute your better judgement. Always check permissions after Kickstart and JPI are over restoring your site and make sure everything meets your security standards. You know your server environment and your site better than we do! |
The next configuration group, labelled " Extraction Method ", allows you to specify how the extracted files are going to be written to their final location.
The " Write directly to files " option uses the quickest and most conservative approach of writing the files directly from within the PHP code. However, it might impossible to use if there are insufficient permissions, PHP Safe Mode is activated or there are other server-specific restrictions. Kickstart will attempt to detect this kind of errors and warn you just before the extraction process begins.
The " Use FTP " option will attempt to use FTP access to write the extracted files to disk, using the FTP options you can configure on the text box below.
![[Important]](/images/stories/docimport58/important.png)
Important FTP mode requires normal write access to the directory where
kickstart.phpresides in. This is because each file gets extracted as a temporary file in this folder first and is then "uploaded" using FTP. This is a limitation of PHP not (widely) supporting appending file writes using FTP.The configured FTP " initial directory " must point to the same directory as the one
kickstart.phpresides in. Kickstart will test for this and abort with an error message if it can't detect itself in the " initial directory ".Some restrictions apply to the FTP mode. You can only use plain FTP servers, but not any of the FTP variants such as SFTP, FTPS, etc. If you try to do something like that, Kickstart will not be able to connect to the FTP server.
The FTP host must be given as a domain or IP address, with a protocol prefix. Valid examples are "localhost", "ftp.example.com", "example.com", "192.168.0.1". However, using something like "ftp://localhost", "ftp://example.com/var/www", "ftp://user@pass:example.com/var/www" will not work. The FTP connection parameters (username and password) are to be typed in in the respective fields below the FTP host.
A note on what the initial directory is and how to set it up. It is the absolute FTP path where kickstart.php resides in and where your site's root will be located after the restoration is over. In order to find it, you can use FileZilla or any other FTP software. Just connect to your site, navigate to the directory where kickstart.php and your archive are and copy the FTP path. In FileZilla's default theme this is located above the right-hand directories pane (showing the directories on your FTP server). It usually looks something like /public_html or /httpdocs or /www, but this basically depends on your host so my guess is as good as any. Just copy this whole string (including the leading slash, if any!) and copy it to the initial directory field of Kickstart.
Next up, you have the "Stealth Mode" group. This optional feature allows you to safely restore your JoomlaPack backup on a live site without your users being able to inadvertently access the installer - and your secret database settings! - while you are at it. It does this by forwarding all requests not originating from your IP address to a dummy page or an off-site URL.
![]() | Warning |
|---|---|
This feature only works on Apache, Lighttpd and other servers which support .htaccess and mod_rewrite directives. It will not work on IIS servers. If your site already has an .htaccess file on its root, it has to be overwritten. If its permissions are not adequate, Kickstart will not warn you about this! |
You can enable this feature by ticking the "Stealth mode (restrict access only to your IP while restoring)" check box. You can then enter the absolute URL of a dummy page or an external URL in the "Stealth Mode redirection URL" text box. For example, you may enter something like "http://www.example.com/migration.html" to forward all visitors to this URL while you are restoring your site. If you do not specify a URL, your web server will report a user-unfriendly 403 Forbidden error message to your site's visitors.
If the URL is pointing to a page in the same domain as the one you are restoring in, you should be aware that it must be a static page (having a .html or .htm extension), but not a PHP page. Kickstart's Stealth Mode feature allows you to link to CSS, JavaScript and common media types (JPEG, JPG, GIF, PNG) files from that page. This allows you to contruct a beautiful, up-to-the-point page notifying users that your site is temporarily off-line due to maintenance and will be back shortly. This is what we use whenever we have to roll updates to JoomlaPack.net itself.
The final settings group is the "Fine Tuning". Here you can define various parameters which influence the way Kickstart operates:
Maximum archive chunk to process per step (Bytes). Kickstart splits the extraction process in smaller chunks, in order to avoid server timeouts. There are two conditions which define a chunk: the minimum amount of data extracted and the maximum number of files extracted. This option controls the former condition and is expressed in bytes. The default value, 1024768, means that Kickstart will try to extract at least 1Mb of data before concluding the chunk.
Setting this to higher values will speed up the process, because it creates less chunks and, therefore, less time has to be spent rendering the extraction process and wasted on network operations to and from the browser. On the downside, on slower hosts it might cause a timeout.
Maximum number of files to process at once. Kickstart splits the extraction process in smaller chunks, in order to avoid server timeouts. There are two conditions which define a chunk: the minimum amount of data extracted and the maximum number of files extracted. This option controls the latter condition and is expressed in number of files. The default values, 40, means that at most 40 files will be extracted, even if their total size is less than MAXBATCHSIZE bytes.
Setting this to higher values will speed up the process, because it creates less chunks and, therefore, less time has to be spent rendering the extraction process and wasted on network operations to and from the browser. On the downside, on slower hosts it might cause a timeout.
Minimum execution time per step (milliseconds). Kickstart 2.4 onwards uses the same anti-DoS solution compatibility scheme as the JoomlaPack component. This means that it tries to make each page load last at least as many milliseconds as this setting. This allows Kickstart to avoid failing with 403 Forbidden error messages if it runs too fast on your server. The default value, 2000, means that Kickstart's page loads will last at least 2 seconds (2000 milliseconds divided by 1000 milliseconds per second equals 2 seconds). While this is a sane value for very sensitive hosts, it will slow Kickstart down considerably on faster hosts. In such a case, you may try lowering this value to 1000, 500 or even lower. Setting it to 0 will result in Kickstart running at full speed. This is no exact science, so you may want to experiment with it a bit. According to my experience values around 600 yield a perfect balance between speed and avoiding 403 Forbidden error messages.
Temporary directory. Kickstart needs a writable temporary directory for its normal operation. By default, it is set to be the same directory as the one Kickstart is located in. If for any reason this directory is not writable (for example, FTP mode is required to write to that directory) you can manually override the temporary directory location using this setting. For instance, if you want to set the temporary directory location to /tmp (a common writable temporary directory in Linux systems) change this setting to
/tmp.Another useful tip, especially if neither the Direct File Writes nor the FTP modes are working, is to create a directory named kicktemp inside your site's root directory with your favorite FTP client and set its permissions to 0777 (read, write and execute to user, group and "others"). Then, change this setting by appending
kicktempto it. For instance, on Windows hosts this setting might read something likeC:\wamp\www\test; modify it to readC:\wamp\www\test\kicktemp. On Linux, Solaris, Mac OS X, FreeBSD and other UNIX variants hosts it will read something like/home/myuser/httpdocs; modify it to read/home/myuser/httpdocs/kicktemp.This trick only works if PHP Safe Mode is not enabled on your account. If the PHP Safe Mode is enabled, there is no known way to use Kickstart, except than begging your host to change the owner of your site's root to be the same as the user the web server runs under. Do keep in mind that this approach is not very secure and the ownership should be reverted after the restoration process is over.
Pass-through chunk size while extracting large files (bytes) . When Kickstart is extracting files stored uncompressed in the archive (large files), it does so by reading a chunk of the uncompressed data to memory, then writing it to disk. It repeats this procedure until all file data has been processed.
The most time consuming part of this process is writing to the disk. Increasing the chunk's size results in fewer write operations and less time is consumed, at a risk of running out of memory. This setting is expressed in bytes and the default value, 1024768, represents 1Mb of information. You can usually set it to 6200000, or even higher depending on your PHP configuration settings, without any side effects, greatly increasing Kickstart's performance, especially if you have a large number of big files in your backup archive.
When you are done setting the options, please click the large, green " Start " button. The extraction process should now start. There is some flickering between steps using the AJAX mode; this is due to the way the browsers handle partial updates of the page source code.
![]() | Note |
|---|---|
Some steps involving large files might take a while to finish. If you the page appears to be frozen give it a couple of minutes before concluding that it is stuck. |
During the extraction process, if Kickstart encounters a .htaccess file it will extract it as htaccess.bak in order to avoid potential server configuration conflicts during the restoration process. This change will be reverted in the final step of Kickstart. Just read on!
Now, as soon as the extraction process is over, you will be presented with Kickstart's final page. Clicking on the first link on this page will attempt to open a new window or tab in your browser, pointing to the JoomlaPack Installer screen. At this point, do not close the Kickstart tab or window ! Just switch to the new tab/window and go through the restoration process.
As soon as the restoration process is over and it tells you that you should remove the installation directory, close the JPI tab/window and return to the Kickstart window. Clicking on the second link of the page will "fix" the name of the .htaccess file - if your original site had one - and remove kickstart.php and the backup archive. After that, you can use the restored site.
![[Warning]](/images/stories/docimport58/warning.png)
![[Note]](/images/stories/docimport58/note.png)
