Skip to content

Instantly share code, notes, and snippets.

@hansipete
Forked from i3inary/wp_install_default.sh
Created August 19, 2012 15:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hansipete/3395402 to your computer and use it in GitHub Desktop.
Save hansipete/3395402 to your computer and use it in GitHub Desktop.
Default Install Script for WordPress Setup on MAMP localhost
#!/bin/bash
##############################
# DEFAULT WORDPRESS AND PLUGIN INSTALL SCRIPT
#
# 2012-04-03
# 1.0
# TODO: PUT A YES/NO PROMPT BEFORE RUNNING SCRIPT
#!!!!! EXITS UNLESS YOU MANUALLY COMMENT OUT THE LINE BELOW
exit
################
# VARIABLES/ARGUMENTS
################
# information for install
domain_name="testdomain.com"
www_root_dir="$domain_name"
db_name="testdomain"
db_user="testdomain"
db_pass="123456"
################
# CLEANUP/FORMATTING
################
# make sure mysql user is 14 char or less
db_user=$(echo "$db_user" | cut -c -14)
################
# WORDPRESS
################
echo "** DOWNLOADING WORDPRESS **"
echo ""
# get latest wordpress source
cd ~/Source/WordPress/_latest/
rm -rf wordpress
curl -L -o 'latest.tar.gz' http://wordpress.org/latest.tar.gz
tar -zxf latest.tar.gz wordpress
echo "** COPYING WORDPRESS FILES **"
echo ""
# copy latest source to target local www root folder
mkdir /Applications/MAMP/htdocs/$www_root_dir
cp -R wordpress/* /Applications/MAMP/htdocs/$www_root_dir
echo "** COPYING DEFAULT.COM PLUGINS **"
echo ""
# copy standard plugins from default installation
cp -R /Applications/MAMP/htdocs/_default_install/wp-content/plugins/* /Applications/MAMP/htdocs/$www_root_dir/wp-content/plugins
echo "** CREATING WP-CONFIG.PHP FILE **"
echo ""
# review config file for default install
cd /Applications/MAMP/htdocs/$www_root_dir
mv wp-config-sample.php wp-config.php
echo "** WP-CONFIG INFO TO USE **"
echo ""
echo "DB NAME: $db_name"
echo "DB USER: $db_user"
echo "DB PASS: $db_pass"
# insert db data by command line search replace
find . -name 'wp-config.php' | xargs perl -pi -e "s/database_name_here/$db_name/g"
find . -name 'wp-config.php' | xargs perl -pi -e "s/username_here/$db_user/g"
find . -name 'wp-config.php' | xargs perl -pi -e "s/password_here/$db_pass/g"
################
# MYSQL
################
# create sql commands for local database & user
qry_create_db="CREATE DATABASE \`$db_name\`;"
qry_grant_user="GRANT ALL ON \`$db_name\`.* TO '$db_user'@'localhost';"
qry_create_user="SET PASSWORD FOR '$db_user'@'localhost' = PASSWORD('$db_pass');"
qry_flush="FLUSH PRIVILEGES;"
# create sql statement
SQL="${qry_create_db}${qry_grant_user}${qry_create_user}${qry_flush}"
echo "** CREATING WORDPRESS DATABASE FROM ARGS **"
echo ""
echo $SQL
echo ""
# execute mysql commands
/Applications/MAMP/Library/bin/mysql -uroot -proot -e "$SQL"
################
# APACHE
################
echo "** CONFIGURE APACHE **"
echo ""
# add to httpd_conf
~/Source/scripts/httpd_vhost.sh $domain_name >> /Applications/MAMP/conf/apache/httpd.conf
echo "** RESTART APACHE **"
echo ""
# restart httpd service
sudo /Applications/MAMP/bin/apache2/bin/apachectl restart
################
# LOCAL MACHINE
################
echo "** CONFIGURE HOSTS FILE **"
echo ""
# add domain mapping to local hosts file
sudo echo "127.0.0.1 $domain_name #hide" >> /etc/hosts
mate /etc/hosts
@hansipete
Copy link
Author

automated the wp-config.php setup

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment