Wednesday, September 08, 2010
   
Text Size

Chapter 4. Advanced features

Rate this item
(0 votes)

Chapter 4. Advanced features

Table of Contents

Automating Kickstart

Automating Kickstart

Kickstart's automation is part of our 1-click site restoration initiative. The only prerequisite is that your backup archive must be created using the "Akeeba Backup Installer" (a.k.a. ABI) embedded restoration script. This is the default and only option, as of Akeeba Backup 3.0.

The automation procedure covers the entirety of the extraction/restoration process. Once you start Kickstart, it will extract the archive, call the ABI restoration script, it will automatically proceed through all of its pages and then allow you to click on the final Kickstart button which removes kickstart.php, the archive file and the installation directory.

Everything is controlled by the contents of a single file which must be named abiautomation.ini and located in the same directory as kickstart.php. So, you only need to upload three files: kickstart.php, the archive and abiautomation.ini. If you do that, accessing kickstart.php from your browser will result in a fully restored site, without any user intervention (unless an error happens; in this case the process will halt for you to review and correct the error).

The INI file is comprised of different sections. The section named [kickstart] is where all Kickstart-related parameters are stored.

[kickstart]
kickstart.setup.sourcefile=backupfile.jpa
kickstart.tuning.min_exec_time=1
kickstart.tuning.max_exec_time=5
kickstart.procengine=ftp
kickstart.ftp.host=ftp.example.com
kickstart.ftp.port=21
kickstart.ftp.ssl=0
kickstart.ftp.passive=1
kickstart.ftp.user=myuser
kickstart.ftp.pass=mypass
kickstart.ftp.dir=/public_html
kickstart.ftp.tempdir=/var/www/mysite/public_html/kicktemp

All those variables correspond to the options you are presented with when running Kickstart.

kickstart.setup.sourcefile

REQUIRED. The name of the backup archive to extract. You can enter a relative or absolute pathname.

kickstart.tuning.min_exec_time

The minimum time each extraction step may last, in seconds. Defaults to 1 second. It is advisable not to modify this parameter.

kickstart.tuning.max_exec_time

The maximum time each extraction step may last, in seconds. Defaults to 5 seconds. If you are getting timeout errors or HTTP 500 errors, you might want to lower this.

kickstart.procengine

How to write the extracted files to the disk. It can either be direct or ftp. In direct mode, all files are written using PHP file writing. In FTP mode, the files are first extracted to a temporary directory, then "uploaded" using FTP to their final location. The FTP mode is much slower, but it might be the only way for Kickstart to work on many servers.

kickstart.ftp.host

If you are using the FTP mode, this defines the address of the FTP server used for uploading the files. Do note that you must enter only the domain or IP address, without the protocol. This means that ftp.example.com is correct usage, while ftp://ftp.example.com is incorrect.

kickstart.ftp.port

The TCP/IP port of the FTP server to use. Normally you want to use port 21 (default plain FTP port). Only use something different if your host tells you so, or if you are using FTPS (FTP over SSL).

[Warning]Warning

If your host tells you to use port 22, their connection mode is not compatible with Kickstart. Port 22 is used by the SFTP protocol, which is entirely different that the supported FTP and FTPS protocols. In this case you have to ask your host for plain FTP access to your site.

kickstart.ftp.ssl

Set it to 1 if you want to use the FTPS (FTP over SSL) protocol. The default value is 0 which means that Kickstart will use an unencrypted connection. Do note that Kickstart does not support SFTP, as it is an entirely different protocol than FTPS. The names look alike, but the protocols have nothing to do with each other.

kickstart.ftp.passive

Set to 1 to use the FTP Passive mode (default), or use 0 to use the FTP Active mode. Most probably you want to use the default value of 1, as it is the only way to work around the firewall of your host. A very small minority of hosts require the Active mode, but they will tell you so in their FTP connection instructions.

kickstart.ftp.user

The FTP username.

kickstart.ftp.pass

The FTP password.

kickstart.ftp.dir

The absolute FTP path to your restored site's root. THIS IS NOT THE SAME AS THE FILE SYSTEM PATH TO YOUR SITE'S ROOT!!! The easiest way to figure this out is to use FileZilla. Connect to your target FTP server with FileZilla. Navigate to the web server's root (usually it's a subdirectory named httpdocs, htdocs, public_html, http_docs or www). Above the right-hand folder pane you will see a text box with a path. Copy this path and paste it to this setting.

kickstart.ftp.tempdir

As PHP can't directly upload files while they are being extracted, Kickstart is extracting them to a temporary directory using direct file writes first, then uploads them to their final destination using FTP. Normally, Kickstart will try using the directory it's stored in to extract the temporary files. Many web hosts configure their servers in such a way that this is not possible. Using this option you can customise the location of the temporary directory to somewhere with adequate permissions. You can use either an absolute or a relative (to Kickstart's directory) path for this setting.

If unsure, you can follow an easy workaround. Create a directory named kicktemp in your site's root using FTP and give it 0777 permissions (or world-write privileges, e.g. full control to the Everybody pseudo-user, if you are using a Windows server). Then type in kicktemp as this option.

Do note that defining Kickstart's parameters in abiautomation.ini is the first step to automating the restoration procedure. There are more sections for the abiautomation.ini file described in Akeeba Backup's documentation, under the "Automating the Akeeba Backup Installer" section.

Last modified on Friday, 27 August 2010 16:07

Sponsored Links

Banner

Support Unavailability

Enhanced Support will experience reduced or no availability during the dates marked in red on the calendar below. If you file a support ticket during this period, we might take longer to get back to you.

Calendar shown in Athens timezone
See the full calendar