diff --git a/bin/v-get-database-credentials-of-site b/bin/v-get-database-credentials-of-site new file mode 100644 index 000000000..54a69b731 --- /dev/null +++ b/bin/v-get-database-credentials-of-site @@ -0,0 +1,100 @@ +#!/bin/bash + +# Importing system environment +source /etc/profile + +# Includes +source /usr/local/vesta/func/main.sh + + +if [ $# -lt 1 ]; then + echo "USAGE: v-get-database-credentials-of-site DOMAIN [SUBFOLDER]" + exit 1 +fi + +DOMAIN=$1 +SUBFOLDER='' +if [ $# -gt 1 ]; then + SUBFOLDER=$2 +fi + +USER=$(/usr/local/vesta/bin/v-search-domain-owner "$DOMAIN") +if [ -z "$USER" ]; then + echo "Error: domain $DOMAIN does not exists" + exit 2 +fi + +SITE_FOLDER="/home/$USER/web/$DOMAIN/public_html" +CHECK_PUBLIC_SHTML=$(/usr/local/vesta/bin/v-list-web-domain "$USER" "$DOMAIN" | grep 'SSL:' | grep -c 'single') +if [ $CHECK_PUBLIC_SHTML -eq 1 ]; then + SITE_FOLDER="/home/$USER/web/$DOMAIN/public_shtml" +fi + +if [ ! -z "$SUBFOLDER" ]; then + SITE_FOLDER="${SITE_FOLDER}/${SUBFOLDER}" +fi + +CMS_TYPE='' + +if [ -f "$SITE_FOLDER/wp-config.php" ]; then + CMS_TYPE='wordpress' + CONFIG_FILE="wp-config.php" + CONFIG_FILE_FULL_PATH="$SITE_FOLDER/$CONFIG_FILE" +fi +if [ -f "$SITE_FOLDER/configuration.php" ]; then + CMS_TYPE='joomla' + CONFIG_FILE="configuration.php" + CONFIG_FILE_FULL_PATH="$SITE_FOLDER/$CONFIG_FILE" +fi + +if [ "$CMS_TYPE" = "wordpress" ]; then + CONFIG_FILE_FULL_PATH_BACKUP="${CONFIG_FILE_FULL_PATH}_backup" + cp $CONFIG_FILE_FULL_PATH $CONFIG_FILE_FULL_PATH_BACKUP + sed -i "s|//.*$||g" $CONFIG_FILE_FULL_PATH_BACKUP + sed -i "s|('|( '|g" $CONFIG_FILE_FULL_PATH_BACKUP + sed -i "s|');|' );|g" $CONFIG_FILE_FULL_PATH_BACKUP + DATABASE_NAME=$(grep 'DB_NAME' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $3}' | sed -e "s/^'//" -e "s/'$//") + DATABASE_USERNAME=$(grep 'DB_USER' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $3}' | sed -e "s/^'//" -e "s/'$//") + DATABASE_PASSWORD=$(grep 'DB_PASSWORD' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $3}' | sed -e "s/^'//" -e "s/'$//") + DATABASE_HOSTNAME=$(grep 'DB_HOST' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $3}' | sed -e "s/^'//" -e "s/'$//") + rm $CONFIG_FILE_FULL_PATH_BACKUP +fi + +if [ "$CMS_TYPE" = "joomla" ]; then + CONFIG_FILE_FULL_PATH_BACKUP="${CONFIG_FILE_FULL_PATH}_backup" + cp $CONFIG_FILE_FULL_PATH $CONFIG_FILE_FULL_PATH_BACKUP + sed -i "s|//.*$||g" $CONFIG_FILE_FULL_PATH_BACKUP + sed -i "s|='|= '|g" $CONFIG_FILE_FULL_PATH_BACKUP + sed -i "s|= '| = '|g" $CONFIG_FILE_FULL_PATH_BACKUP + sed -i "s| =| =|g" $CONFIG_FILE_FULL_PATH_BACKUP + sed -i "s|';$|'|g" $CONFIG_FILE_FULL_PATH_BACKUP + DATABASE_NAME=$(grep 'public $db ' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $4}' | sed -e "s/^'//" -e "s/'$//") + DATABASE_USERNAME=$(grep 'public $user ' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $4}' | sed -e "s/^'//" -e "s/'$//") + DATABASE_PASSWORD=$(grep 'public $password ' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $4}' | sed -e "s/^'//" -e "s/'$//") + DATABASE_HOSTNAME=$(grep 'public $host ' $CONFIG_FILE_FULL_PATH_BACKUP | awk '{print $4}' | sed -e "s/^'//" -e "s/'$//") + rm $CONFIG_FILE_FULL_PATH_BACKUP +fi + +DATABASE_NAME=$(escape_shell_quote $DATABASE_NAME) +echo "DATABASE_NAME=$DATABASE_NAME" + +DATABASE_USERNAME=$(escape_shell_quote $DATABASE_USERNAME) +echo "DATABASE_USERNAME=$DATABASE_USERNAME" + +DATABASE_PASSWORD=$(escape_shell_quote $DATABASE_PASSWORD) +echo "DATABASE_PASSWORD=$DATABASE_PASSWORD" + +DATABASE_HOSTNAME=$(escape_shell_quote $DATABASE_HOSTNAME) +echo "DATABASE_HOSTNAME=$DATABASE_HOSTNAME" + +CONFIG_FILE_FULL_PATH=$(escape_shell_quote $CONFIG_FILE_FULL_PATH) +echo "CONFIG_FILE_FULL_PATH=$CONFIG_FILE_FULL_PATH" + +CMS_TYPE=$(escape_shell_quote $CMS_TYPE) +echo "CMS_TYPE=$CMS_TYPE" + +SITE_FOLDER=$(escape_shell_quote $SITE_FOLDER) +echo "SITE_FOLDER=$SITE_FOLDER" + +USER=$(escape_shell_quote $USER) +echo "USER=$USER"