Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Script to assist with installing Wordpress completely from the command line.
PHP Shell
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
LICENSE add license, add info to readme, fix script name in usage
README.rst
update-shell-script.sh change shell script exit codes
wordpress-cli-installer.php
wordpress-cli-installer.sh move error_reporting call below copyright message and fix misspelling

README.rst

Wordpress CLI Installer

Description

A script to install Wordpress completely from the CLI, which makes automation that much easier.

The idea is to have a PHP script that just does what the regular Wordpress installer does, but done through the CLI. However, since using PHP's CLI binary is somewhat awkward, you can instead use the bash shell script which is generated (using update-shell-script.sh) and contains the complete PHP script. Thus you can do something like this:

$ curl -s http://wordpress.org/latest.tar.gz | tar xzf -
$ wget -q http://goo.gl/OokgX && chmod +x wordpress-cli-installer.sh
# edit wordpress/wp-config.php to change db settings, or add them to the next command
$ ./wordpress-cli-installer.sh -T 'My New Blog' -e 'my-email@example.com' -b 'http://blog.example.com/' wordpress/

Or you can just use bits of the PHP in your own installing script!

Usage

You can use the shell script like so:

Usage: wordpress-cli-installer.sh [-hPv] -b base-url -e email-address [-p admin-password]
    [-T blog-title] [-u admin-user] [--dbuser=database-user] [--dbpass=database-pass]
    [--dbname=database-name] [--dbhost=database-host] path/to/wp/files/

Or you can use the PHP script directly with the same options like this:

$ php -f wordpress-cli-installer.php -- [options] path/to/wp/files/

General Options

-b base-url

Base URL for the blog since wordpress can't detect it from a CLI install, should be a fully qualified URL (ex: http://example.com/)

REQUIRED

-e email-address
 

Admin user's email address

REQUIRED

-h Display this help text
-p admin-password
 

Admin users's password

default: randomly generated

-P

Toggle whether the blog is public or not (visible to search engines, etc)

default: public (on)

-T blog-title

Set the blog's title, this should probably be short (and quoted)

default: Change Me

-u admin-user

Admin user's username

default: admin

-l lang

Language of this wordpress blog

default: <empty> (en-US)

-v Verbose flag, enable more output

wp-config Options

These options are only used if wp-config.php isn't found, in which case they are required (except for dbhost which has a default):

--dbuser=database-user
 Database user's username
--dbpass=database-pass
 Database user's password
--dbname=database-name
 Database name
--dbhost=database-host
 

Database hostname. Passing host:port or /path/to/socket.sock might also work

default: localhost

Something went wrong with that request. Please try again.