Installing PrestaShop using the command-line script

Since version 1.5.4, PrestaShop has had a command-line installer.

What it is

This special installer makes it possible to install PrestaShop without the need to use a web browser: simply put the content of the zip archive on your web server, and you can install PrestaShop through your command-line interface (CLI). Any CLI software can be used as long as you can use it to interact with the server's commands: Bash, Windows PowerShell, OS X Terminal, PuTTY, etc.

The point of having a CLI installer in addition to the regular in-browser installer is to give this option to cater for some advanced users, who often prefer command-line interfaces as they tend to provide a more concise and powerful means to control a program or operating system.

How to use it

The CLI installer is easy to use: from your terminal, go to the /install (or /install-dev) folder, and start the script with this command:

$ php index_cli.php

This will display the various available options.

All the options from the regular in-browser installer are available, with their default value listed. Almost all default values value can be left as is, because you can edit them all from the PrestaShop back-office once the installation is done. Note that the e-mail and password are the ones used to create the administrator's back-office account...

To start the installation, you only need to provide one argument. In reality, you need to provide more:

For instance:

$ php install_cli.php --domain=example.com --db_server=sql.example.com --db_name=prestashop --db_user=root --db_password=123456789

If you also set the --email value to your own address, a recap e-mail will be sent to you once the installation is done.

List of arguments

Here is the list of arguments for index_cli.php as of version 1.6:

NameDefault settingDescription
--stepprocess 
--languageenlanguage iso code
--timezonelocalhost 
--domainlocalhost 
--db_serverlocalhost 
--db_userroot 
--db_password(blank) 
--db_nameprestashop 
--db_clear1 (true)Drop existing tables
--db_create0 (false)Create the database if it does not exist yet
--prefixps_ 
--engineInnoDBInnoDB/MyISAM
--namePrestaShopName of the shop
--activity0 
--countryfr 
--firstnameJohn 
--lastnameDoe 
--password0123456789 
--email[email protected] 
--license0 (false)Show PrestaShop's license
--newsletter1 (true)Subscribe administrator to PrestaShop's newsletter
--send_email1 (true)Send an email to the administrator after installation