Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #Usage: ./startup.sh ip rootpwd domain.ltd "Blog title" admin@email (plugins)
- #Vars for use
- #HOST=$1
- #ROOTPWD=$2
- MRPWD=`pwgen -s 15`
- #DOMAIN=$3
- #BTITLE=$4
- #ADMEMAIL=$5
- DBNAME=`pwgen`_`pwgen`
- DBUSER=`pwgen`
- DBPASS=`pwgen -s 12`
- ADMPWD=`pwgen -s 12`
- FTPPWD=`pwgen -s 12`
- RECIPE_CL=/home/alexey/wordpress/books/wp2vps/wp_clean.yml
- RECIPE_PL=/home/alexey/wordpress/books/wp2vps/wp_plugins.yml
- #Generating inventory file
- #if [ -z $6 ]; then
- # RECIPE=$RECIPE_CL
- #else
- # RECIPE=$RECIPE_PL
- #fi
- # Обработка аругментов для передачи функции
- if [ $# -lt 1 ]
- then
- echo "No options found!"
- exit 1
- fi
- checkargs () {
- if [[ $OPTARG =~ ^-[i/p/u/t/m/P/h]$ ]]
- then
- echo "Unknow argument $OPTARG for option $opt!"
- exit 1
- fi
- }
- usage() {
- echo "Using:
- -i IP address;
- -p Root password;
- -u Site address;
- -t Blog title;
- -m admin email
- -P not work for now
- -h this shit;
- "
- }
- installwp() {
- echo "Will install WP on $HOST"
- echo "Generating inventary file"
- if [ -f /tmp/$HOST ]
- then
- rm /tmp/$HOST
- fi
- echo "[CMS_service]
- $HOST ansible_ssh_user=root ansible_ssh_pass=$ROOTPWD
- " > /tmp/$HOST
- sleep 2
- #echo $RECIPE
- echo "Using ansible"
- echo /usr/bin/ansible-playbook -i /tmp/${HOST} ${RECIPE} --extra-vars=\"db_name=${DBNAME} db_user=${DBUSER} db_password=${DBPASS} domain=${DOMAIN} title=\'${BTITLE}\' admin_pass=${ADMPWD} admin_email=${ADMEMAIL} ftp_password=${FTPPWD} new_root_mysql_pwd=${MRPWD} ip=${HOST}\" -vvvv
- #/usr/bin/ansible-playbook -i /tmp/${HOST} ${RECIPE} --extra-vars="db_name=${DBNAME} db_user=${DBUSER} db_password=${DBPASS} domain=${DOMAIN} title='${BTITLE}' admin_pass=${ADMPWD} admin_email=${ADMEMAIL} ftp_password=${FTPPWD} new_root_mysql_pwd=${MRPWD} ip=${HOST}" -vvvv
- echo "Installed"
- echo "Clear auth key"
- #ssh-keygen -f "/root/.ssh/known_hosts" -R ${HOST}
- echo "{\"${HOST}\":{\"titl\":\"${BTITLE}\",\"home\":\"/var/www/wordpress/\",\"URL\":\"http://${DOMAIN}\",\"database_name\":\"${DBNAME}\",\"database_ftp_user\":\"${DBUSER}\",\"database_password\":\"${DBPASS}\",\"admin_username\":\"admin\",\"admin_password\":\"${ADMPWD}\",\"ftp_password\":\"${FTPPWD}\",\"mysql_root_password\":\"${MRPWD}\"}}"
- }
- while getopts ":i:p:u:t:m:Ph" opt
- do
- case $opt in
- i) checkargs
- echo "Options $opt has Argument $OPTARG "
- HOST=$OPTARG
- ;;
- p) checkargs
- echo "Options $opt has Argument $OPTARG "
- ROOTPWD=$OPTARG
- ;;
- u) checkargs
- echo "Options $opt has Argument $OPTARG "
- DOMAIN=$OPTARG
- ;;
- t) checkargs
- echo "Options $opt has Argument $OPTARG "
- BTITLE=$OPTARG
- ;;
- m) checkargs
- echo "Options $opt has Argument $OPTARG "
- ADMEMAIL=$OPTARG
- ;;
- P) checkargs
- echo "Select plugins"
- PLUGINS="yes"
- ;;
- h) usage
- exit
- ;;
- install)
- installwp;;
- esac
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement