mirror of
https://github.com/myvesta/vesta
synced 2025-07-05 12:36:23 -07:00
v-change-db-password-to-wordpress
This commit is contained in:
parent
c5d0619a6b
commit
2fe4ce2ae4
2 changed files with 143 additions and 0 deletions
43
bin/v-change-db-password-to-all-wordpress
Normal file
43
bin/v-change-db-password-to-all-wordpress
Normal file
|
@ -0,0 +1,43 @@
|
|||
#!/bin/bash
|
||||
# info: change db password to all wordpress databases
|
||||
# options:
|
||||
#
|
||||
# The command is used for changing db password to all wordpress databases on the server.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Importing system variables
|
||||
source /etc/profile
|
||||
|
||||
# Includes
|
||||
source $VESTA/func/main.sh
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
for user in $(grep '@' /etc/passwd |cut -f1 -d:); do
|
||||
if [ ! -f "/usr/local/vesta/data/users/$user/user.conf" ]; then
|
||||
continue;
|
||||
fi
|
||||
|
||||
for domain in $(/usr/local/vesta/bin/v-list-web-domains $user plain |cut -f 1); do
|
||||
if [ -f "/home/$user/web/$domain/public_html/wp-config.php" ]; then
|
||||
/usr/local/vesta/bin/v-change-db-password-to-wordpress $domain
|
||||
echo "--------------------------------"
|
||||
fi
|
||||
done
|
||||
|
||||
done
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Logging
|
||||
log_event "$OK" "$ARGUMENTS"
|
||||
|
||||
exit
|
100
bin/v-change-db-password-to-wordpress
Normal file
100
bin/v-change-db-password-to-wordpress
Normal file
|
@ -0,0 +1,100 @@
|
|||
#!/bin/bash
|
||||
# info: change db password to wordpress database
|
||||
# options:
|
||||
#
|
||||
# The command is used for changing db password to wordpress database.
|
||||
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Variable&Function #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
whoami=$(whoami)
|
||||
if [ "$whoami" != "root" ]; then
|
||||
echo "You must be root to execute this script"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Importing system environment
|
||||
source /etc/profile
|
||||
|
||||
# Argument definition
|
||||
domain=$1
|
||||
|
||||
user=$(/usr/local/vesta/bin/v-search-domain-owner $domain)
|
||||
USER=$user
|
||||
|
||||
if [ -z "$user" ]; then
|
||||
echo "ERROR: Domain $domain not found"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ ! -d "/home/$user" ]; then
|
||||
echo "ERROR: User $user doesn't exist";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
# Includes
|
||||
source /usr/local/vesta/func/main.sh
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
check_args '1' "$#" 'DOMAIN'
|
||||
is_format_valid 'domain'
|
||||
is_object_valid 'user' 'USER' "$user"
|
||||
is_object_unsuspended 'user' 'USER' "$user"
|
||||
|
||||
if [ ! -d "/home/$user/web/$domain/public_html" ]; then
|
||||
echo "ERROR: Domain doesn't exist";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
if [ -f "/home/$user/web/$domain/public_html/wp-config.php" ]; then
|
||||
echo "=== Domain: $domain"
|
||||
wp_config_path="/home/$user/web/$domain/public_html/wp-config.php"
|
||||
if grep -q $'\r' $wp_config_path; then
|
||||
echo "=== removing CRLF from wp-config.php"
|
||||
tr -d '\r' < $wp_config_path > /tmp/wp-config.php && mv /tmp/wp-config.php $wp_config_path
|
||||
chown $user:$user $wp_config_path
|
||||
fi
|
||||
db_name=$(grep "DB_NAME" $wp_config_path | grep -oP "define\s*\(\s*'DB_NAME'\s*,\s*'\K[^']+")
|
||||
new_password=$(generate_password)
|
||||
echo "DB name: $db_name"
|
||||
echo "New DB password: $new_password"
|
||||
# echo "executing: /usr/local/vesta/bin/v-change-database-password \"$user\" \"$db_name\" \"$new_password\""
|
||||
/usr/local/vesta/bin/v-change-database-password "$user" "$db_name" "$new_password"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "*************** ERROR: Failed to change database password ***************"
|
||||
exit 1;
|
||||
fi
|
||||
line="define('DB_PASSWORD', '$new_password');"
|
||||
chattr -i $wp_config_path
|
||||
sed -i "s/.*define(.*DB_PASSWORD'.*/$line/" $wp_config_path
|
||||
new_password_line=$(grep "DB_PASSWORD" $wp_config_path)
|
||||
echo "New DB password line: $new_password_line"
|
||||
if [ "$new_password_line" != "$line" ]; then
|
||||
echo "*************** ERROR: line in wp-config.php is not what we expected ***************"
|
||||
echo "Expected: $line"
|
||||
echo "Actual : $new_password_line"
|
||||
echo "*************** ERROR: Please check wp-config.php manually ***************"
|
||||
exit 1;
|
||||
fi
|
||||
else
|
||||
echo "ERROR: WP-config.php not found"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
# Logging
|
||||
log_event "$OK" "$ARGUMENTS"
|
||||
|
||||
exit
|
Loading…
Add table
Add a link
Reference in a new issue