I’ve written praise for wp-cli before but it’s a toy that will never get old for me.
I was working on this problem for a friend and I needed to create a test multisite installation. I have a domain I can use aside from my main one so I setup another nginx virtual host, setup the DNS entries and used Let’s Encrypt to obtain legitimate X.509 certificates.
For creating the DB and WordPress config I used CLI commands.
$ mysql -u root -p create database leeloodallas; grant all privileges on leeloodallas.* to "brucewillis"@"loc1alhost" identified by "5oM3U36ul$tringH3re"; flush privileges; exit; $ wp core download $ wp core config --dbname=leeloodallas \ --dbuser=brucewillis \ --dbpass=5oM3U36ul$tringH3re \ --extra-php <<PHP define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); PHP $ wp core install --admin_user=yourlogin \ --admin_password=Y3a2n0tHaP3n1ng \ --email@example.com \ --url=blog.dn7.me \ --title="Leeloo Dallas Multisite" $ wp core multisite-convert --subdomains
Yes, all the passwords and IDs are changed.
When I get into deep water (and I did) I just
rm * -rf in the virtual host’s directory and in mysql
drop database leeloodallas; and do it all over again.
The only thing different from other times is the
wp core multisite-convert --subdomains command. I already have cookie cutter nginx configs and DNS is fire and forget. Once I had the vhost setup the Let’s Encrypt commands (also scriptable) was trivial.
WP-CLI is cool and scripting this is such a time saver.