#!/bin/bash # # WP Commandline Local Install, by Brian Richards (@rzen) # # Creates a new directory, downloads WordPress, creates a database, sets up wp-config, # optionally empties wp-content, and deletes other misc files. This compliments my local # dev setup, outlined here: http://rzen.net/development/local-develoment-in-osx/ # # Credit: # Based on WPBuildr (https://github.com/AaronHolbrook/wpbuildr/). Props to Aaron Holbrook # (@aaronjholbrook) and Brad Parbs (@bradparbs) for the awesome head-start! # # Usage: # Save this file to /usr/bin/wp, then in terminal type "wp" to run (or ". wp" to run and exit # to the resulting /wp-content/ folder). You can also specify both arguments on command line # (e.g. "wp test1 y" will create a new dir named "test1" with an empty wp-content folder). clear echo '' echo '-------------------------------------------------------------------------------' echo ' DOWNLOADING WORDPRESS ' echo '-------------------------------------------------------------------------------' echo '' # download wordpress, extract and delete original tar and misc files curl -OLH "Accept-Encoding: gzip,deflate" http://wordpress.org/latest.tar.gz > latest.tar.gz mkdir wptemp tar xvf latest.tar.gz -C ./wptemp --strip-components=1 rm latest.tar.gz rm ./wptemp/license.txt rm ./wptemp/readme.html rm ./wptemp/wp-config-sample.php rm -rf ./wptemp/wp-content mv ./wptemp/* . rm -rf wptemp echo '' echo '-------------------------------------------------------------------------------' echo '' echo "Downloaded WordPress and deleted unneeded files." # Setup our wp-config file echo " wp-config.php curl -s https://api.wordpress.org/secret-key/1.1/salt/ >> wp-config.php; echo " /** * WordPress Localized Language, defaults to English. * * Change this to localize WordPress. A corresponding MO file for the chosen * language must be installed to wp-content/languages. For example, install * de_DE.mo to wp-content/languages and set WPLANG to 'de_DE' to enable German * language support. */ define('WPLANG', ''); /** * For developers: WordPress debugging mode. * * Change this to true to enable the display of notices during development. * It is strongly recommended that plugin and theme developers use WP_DEBUG * in their development environments. */ define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'SCRIPT_DEBUG', false ); define( 'SAVEQUERIES', false ); /* That's all, stop editing! Happy blogging. */ /** Absolute path to the WordPress directory. */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/'); /** Sets up WordPress vars and included files. */ require_once(ABSPATH . 'wp-settings.php');" >> wp-config.php echo 'Created /wp-config.php' pwd