From 3a5d8c9385a288b284e591ec09df74dda13bc454 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 24 May 2023 09:20:57 -0400 Subject: rename --- wordpress/wordpress-create-new-site | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 wordpress/wordpress-create-new-site (limited to 'wordpress') diff --git a/wordpress/wordpress-create-new-site b/wordpress/wordpress-create-new-site new file mode 100755 index 0000000..13fa33a --- /dev/null +++ b/wordpress/wordpress-create-new-site @@ -0,0 +1,63 @@ +#!/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" <