Installing PrestaShop using the command-line script

PrestaShop also has an installer for command-line installations.

What is it?

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 (meaning you have previously unzipped the file), 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 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:
  • domain. The location where you want your store to appear.
  • db_server. The database server address.
  • db_name. The name of the database you want to use.
  • db_user. The username for the database you want to use.
  • db_password. The password for the database username above.
For instance:
$ php index_cli.php --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:
Default setting
language iso code
1 (true)
Drop existing tables
0 (false)
Create the database if it does not exist yet
Name of the shop
0 (false)
Show PrestaShop's license
1 (true)
Subscribe administrator to PrestaShop's newsletter
1 (true)
Send an email to the administrator after installation
0 (false)
Install all the existing languages on the shop
0 (false)
(From PS 1.7.4) Enable HTTPS on the shop