#!/bin/bash TEMPLATE=ichimisushiandgrill.com OUTPUT=${1:-ichimisushi-thai.com} SANITIZED=${OUTPUT//[-.]/_} DB_USER=$SANITIZED DB_NAME=wordpress_$SANITIZED PATH=$PWD:$PATH have_database() { mysql -ss -e "show databases like '${1//\'/\'\'}'" | (read match && [ "$match" ]) } set -ex [ "$OUTPUT" != "$TEMPLATE" ] create_apache_vhost() { if [ ! -e /etc/apache2/sites-enabled/$OUTPUT.conf ] then [ -e /etc/apache2/sites-available/$TEMPLATE.conf ] mkdir /srv/$OUTPUT /srv/$OUTPUT/public_html /srv/$OUTPUT/logs cd /etc/apache2/sites-available/ sed -e "s/$TEMPLATE/$OUTPUT/g" < "$TEMPLATE".conf > "$OUTPUT".conf a2ensite $OUTPUT systemctl reload apache2 fi } # Install wordpress content to apache htdocs directory install_wordpress_documents() { if [ ! -e /srv/"$OUTPUT"/public_html/wordpress/wp-config.php ] then ( cd /srv/"$OUTPUT"/public_html curl https://wordpress.org/latest.tar.gz | tar -zx cd wordpress wp-conf.sh "$DB_NAME" "$DB_USER" > wp-config.php chown www-data.www-data -R . chown nobody.nogroup wp-config.php ) fi } create_database() { # Set up database if ! have_database "$DB_NAME" then pwline=$(grep DB_PASSWORD /srv/$OUTPUT/public_html/wordpress/wp-config.php) DB_PASSWORD=$(php -r "$pwline echo DB_PASSWORD;") mysqladmin create "$DB_NAME" mysql "$DB_NAME" <