mirror of
https://github.com/myvesta/vesta
synced 2025-08-20 21:34:12 -07:00
Replace direct calls to 'wp' with 'v-run-wp-cli'
This commit is contained in:
parent
d017fbbe07
commit
5fb7862b39
7 changed files with 108 additions and 49 deletions
|
@ -63,21 +63,19 @@ if [ ! -f "/home/$user/web/$domain/public_html/wp-config.php" ]; then
|
|||
exit 1;
|
||||
fi
|
||||
|
||||
if ! command -v wp &> /dev/null; then
|
||||
echo "WP CLI is not installed. Installing..."
|
||||
wget -nv https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp
|
||||
chmod +x /usr/local/bin/wp
|
||||
echo "WP CLI installed successfully."
|
||||
if [ ! -f "/usr/local/bin/wp" ] || [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
echo "= WP CLI is not installed. Installing..."
|
||||
/usr/local/vesta/bin/v-install-wp-cli
|
||||
fi
|
||||
if [ ! -f "/usr/local/bin/wp" ] && [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
phpver=$(/usr/local/vesta/bin/v-get-php-version-of-domain "$domain")
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Action #
|
||||
#----------------------------------------------------------#
|
||||
|
||||
cd /home/$USER/web/$domain/public_html
|
||||
sudo -u $USER /usr/bin/php$phpver /usr/local/bin/wp user create $username $email --role=administrator --user_pass="$password" --skip-plugins=$(sudo -H -u$USER /usr/bin/php$phpver /usr/local/bin/wp plugin list --field=name | tr '\n' ',') --skip-themes;
|
||||
/usr/local/vesta/bin/v-run-wp-cli $domain user create $username $email --role=administrator --user_pass="$password" --skip-plugins --skip-themes;
|
||||
|
||||
#----------------------------------------------------------#
|
||||
# Vesta #
|
||||
|
|
|
@ -265,10 +265,12 @@ if [ $IT_IS_WP -eq 0 ]; then
|
|||
git clone https://github.com/interconnectit/Search-Replace-DB.git
|
||||
fi
|
||||
else
|
||||
if [ ! -f "/usr/local/bin/wp" ]; then
|
||||
echo "=== Downloading latest wp-cli"
|
||||
wget -nv https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp
|
||||
chmod +x /usr/local/bin/wp
|
||||
if [ ! -f "/usr/local/bin/wp" ] || [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
echo "= WP CLI is not installed. Installing..."
|
||||
/usr/local/vesta/bin/v-install-wp-cli
|
||||
fi
|
||||
if [ ! -f "/usr/local/bin/wp" ] && [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -429,17 +431,15 @@ if [ $IT_IS_WP -eq 0 ]; then
|
|||
php /root/Search-Replace-DB/srdb.cli.php -h localhost -n "$TO_DATABASE_NAME" -u "$TO_DATABASE_USERNAME" -p "$TO_DATABASE_PASSWORD" -s "/home/$FROM_USER/" -r "/home/$TO_USER/"
|
||||
fi
|
||||
else
|
||||
phpver=$(/usr/local/vesta/bin/v-get-php-version-of-domain "$TO_DOMAIN")
|
||||
cd $TO_FOLDER
|
||||
echo "=== Replacing $FROM_DOMAIN to $TO_DOMAIN in database $TO_DATABASE_NAME"
|
||||
sudo -H -u$TO_USER /usr/bin/php$phpver /usr/local/bin/wp search-replace "$FROM_DOMAIN" "$TO_DOMAIN" --precise --all-tables --skip-columns=guid --skip-plugins=$(sudo -H -u$TO_USER /usr/bin/php$phpver /usr/local/bin/wp plugin list --field=name | tr '\n' ',') --skip-themes;
|
||||
/usr/local/vesta/bin/v-run-wp-cli $TO_DOMAIN search-replace "$FROM_DOMAIN" "$TO_DOMAIN" --precise --all-tables --skip-columns=guid --skip-plugins --skip-themes;
|
||||
if [ "$FROM_USER" != "$TO_USER" ]; then
|
||||
echo "=== Replacing /home/$FROM_USER/ to /home/$TO_USER/ in database $TO_DATABASE_NAME"
|
||||
sudo -H -u$TO_USER /usr/bin/php$phpver /usr/local/bin/wp search-replace "/home/$FROM_USER/" "/home/$TO_USER/" --precise --all-tables --skip-columns=guid --skip-plugins=$(sudo -H -u$TO_USER /usr/bin/php$phpver /usr/local/bin/wp plugin list --field=name | tr '\n' ',') --skip-themes;
|
||||
/usr/local/vesta/bin/v-run-wp-cli $TO_DOMAIN search-replace "/home/$FROM_USER/" "/home/$TO_USER/" --precise --all-tables --skip-columns=guid --skip-plugins --skip-themes;
|
||||
fi
|
||||
sudo -H -u$TO_USER /usr/bin/php$phpver /usr/local/bin/wp cache flush --skip-plugins=$(sudo -H -u$TO_USER /usr/bin/php$phpver /usr/local/bin/wp plugin list --field=name | tr '\n' ',') --skip-themes;
|
||||
sudo -H -u$TO_USER /usr/bin/php$phpver /usr/local/bin/wp config shuffle-salts WP_CACHE_KEY_SALT --force --skip-plugins=$(sudo -H -u$TO_USER /usr/bin/php$phpver /usr/local/bin/wp plugin list --field=name | tr '\n' ',') --skip-themes;
|
||||
sudo -H -u$TO_USER /usr/bin/php$phpver /usr/local/bin/wp config shuffle-salts --skip-plugins=$(sudo -H -u$TO_USER /usr/bin/php$phpver /usr/local/bin/wp plugin list --field=name | tr '\n' ',') --skip-themes;
|
||||
/usr/local/vesta/bin/v-run-wp-cli $TO_DOMAIN cache flush --skip-plugins --skip-themes;
|
||||
/usr/local/vesta/bin/v-run-wp-cli $TO_DOMAIN config shuffle-salts WP_CACHE_KEY_SALT --force --skip-plugins --skip-themes;
|
||||
/usr/local/vesta/bin/v-run-wp-cli $TO_DOMAIN config shuffle-salts --skip-plugins --skip-themes;
|
||||
fi
|
||||
|
||||
# ----------- Update Wordfence WAF Path -------------
|
||||
|
|
0
bin/v-install-wordfence-cli
Normal file
0
bin/v-install-wordfence-cli
Normal file
|
@ -71,12 +71,12 @@ if [ -z "$email" ]; then
|
|||
fi
|
||||
|
||||
if [ ! -d "/home/$user" ]; then
|
||||
echo "User doesn't exist";
|
||||
echo "= Error: Folder /home/$user doesn't exist";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ ! -d "/home/$user/web/$domain/public_html" ]; then
|
||||
echo "Domain doesn't exist";
|
||||
echo "= Error: Folder /home/$user/web/$domain/public_html doesn't exist";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
|
@ -138,24 +138,35 @@ fi
|
|||
|
||||
/usr/local/vesta/bin/v-add-database "$user" "$DBUSERSUF" "$DBUSERSUF" "$PASSWDDB" "mysql"
|
||||
|
||||
if [ ! -f "/usr/local/bin/wp" ]; then
|
||||
echo "=== Downloading latest wp-cli"
|
||||
wget -nv https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp
|
||||
chmod +x /usr/local/bin/wp
|
||||
if [ ! -f "/usr/local/bin/wp" ] || [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
echo "= WP CLI is not installed. Installing..."
|
||||
/usr/local/vesta/bin/v-install-wp-cli
|
||||
fi
|
||||
if [ ! -f "/usr/local/bin/wp" ] && [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
WORKINGDIR="/home/$user/web/$domain/public_html"
|
||||
rm -rf $WORKINGDIR/*
|
||||
cd $WORKINGDIR
|
||||
|
||||
sudo -H -u$user wp core download
|
||||
sudo -H -u$user wp core config --dbname=$DBUSER --dbuser=$DBUSER --dbpass=$PASSWDDB
|
||||
/usr/local/vesta/bin/v-run-wp-cli $domain core download
|
||||
if [ ! -f "$WORKINGDIR/index.php" ]; then
|
||||
echo "= WordPress installation failed: WordPress core download failed."
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
/usr/local/vesta/bin/v-run-wp-cli $domain core config --dbname=$DBUSER --dbuser=$DBUSER --dbpass=$PASSWDDB
|
||||
if [ ! -f "$WORKINGDIR/wp-config.php" ]; then
|
||||
echo "= WordPress installation failed: WordPress core config failed, wp-config.php not found."
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
password=$(LC_CTYPE=C tr -dc A-Za-z0-9_\!\@\#\$\%\^\&\*\(\)-+= < /dev/urandom | head -c 12)
|
||||
|
||||
wpadmin=$(echo "$domain" | sed 's#\.#_#g')_4dm1n
|
||||
|
||||
sudo -H -u$user wp core install --url="$domain" --title="$domain" --admin_user="$wpadmin" --admin_password="$password" --admin_email="$email" --path=$WORKINGDIR
|
||||
/usr/local/vesta/bin/v-run-wp-cli $domain core install --url="$domain" --title="$domain" --admin_user="$wpadmin" --admin_password="$password" --admin_email="$email" --path=$WORKINGDIR
|
||||
|
||||
mysql -u$DBUSER -p$PASSWDDB -e "USE $DBUSER; update wp_options set option_value = '$PROTOCOL://$domain' where option_name = 'siteurl'; update wp_options set option_value = '$PROTOCOL://$domain' where option_name = 'home';"
|
||||
|
||||
|
|
|
@ -24,10 +24,16 @@ if [ ! -f "/usr/local/bin/composer" ]; then
|
|||
fi
|
||||
|
||||
if [ -d "/usr/local/bin/wp-cli" ]; then
|
||||
echo "= Removing old WP CLI..."
|
||||
echo "= Removing old myVesta WP CLI..."
|
||||
rm -rf /usr/local/bin/wp-cli
|
||||
fi
|
||||
|
||||
echo "= Installing classic WP CLI..."
|
||||
wget -nv https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp
|
||||
chmod +x /usr/local/bin/wp
|
||||
|
||||
echo "= Installing myVesta WP CLI..."
|
||||
|
||||
cd /usr/local/bin
|
||||
git clone https://github.com/wp-cli/wp-cli.git
|
||||
|
||||
|
@ -36,9 +42,21 @@ chown -R www-data:www-data wp-cli
|
|||
cd wp-cli/
|
||||
sudo -H -u www-data composer install
|
||||
|
||||
echo "= Installing search-replace-command package..."
|
||||
sudo -H -u www-data WP_CLI_PACKAGES_DIR=/usr/local/bin/wp-cli/packages php /usr/local/bin/wp-cli/php/boot-fs.php package install wp-cli/search-replace-command
|
||||
|
||||
# Fix terminal columns issue for WP CLI
|
||||
echo "= Fixing terminal columns issue for WP CLI..."
|
||||
/usr/local/vesta/bin/v-sed '$columns = 80;' "if (file_exists('/usr/local/bin/wp-cli/COLUMNS')) \$columns=intval(file_get_contents('/usr/local/bin/wp-cli/COLUMNS')); else \$columns = 80;" '/usr/local/bin/wp-cli/vendor/wp-cli/php-cli-tools/lib/cli/Shell.php'
|
||||
|
||||
echo "= WP CLI installed successfully."
|
||||
echo ""
|
||||
|
||||
exit 0;
|
||||
if [ -f "/usr/local/bin/wp-cli/php/boot-fs.php" ] || [ -f "/usr/local/bin/wp" ]; then
|
||||
echo "= WP CLI installed successfully."
|
||||
echo "= Usage: v-run-wp-cli DOMAIN WP_CLI_COMMAND"
|
||||
exit 0;
|
||||
else
|
||||
echo "= WP CLI installation failed."
|
||||
echo "= Please install it manually."
|
||||
exit 1;
|
||||
fi
|
|
@ -40,6 +40,14 @@ is_format_valid 'domain' 'user'
|
|||
is_object_valid 'user' 'USER' "$user"
|
||||
is_object_unsuspended 'user' 'USER' "$user"
|
||||
|
||||
if [ ! -f "/usr/local/bin/wp" ] || [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
echo "= WP CLI is not installed. Installing..."
|
||||
/usr/local/vesta/bin/v-install-wp-cli
|
||||
fi
|
||||
if [ ! -f "/usr/local/bin/wp" ] && [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
FROM_DATABASE_NAME=''
|
||||
FROM_DATABASE_USERNAME=''
|
||||
FROM_DATABASE_PASSWORD=''
|
||||
|
@ -113,10 +121,12 @@ if [ $IT_IS_WP -eq 0 ]; then
|
|||
git clone https://github.com/interconnectit/Search-Replace-DB.git
|
||||
fi
|
||||
else
|
||||
if [ ! -f "/usr/local/bin/wp" ]; then
|
||||
echo "=== Downloading latest wp-cli"
|
||||
wget -nv https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp
|
||||
chmod +x /usr/local/bin/wp
|
||||
if [ ! -f "/usr/local/bin/wp" ] || [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
echo "= WP CLI is not installed. Installing..."
|
||||
/usr/local/vesta/bin/v-install-wp-cli
|
||||
fi
|
||||
if [ ! -f "/usr/local/bin/wp" ] && [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
exit 1;
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -172,9 +182,9 @@ if [ $IT_IS_WP -eq 0 ]; then
|
|||
else
|
||||
cd $SITE_FOLDER
|
||||
echo "=== Replacing $FROM_REPLACE1 to $TO_REPLACE1 in database $FROM_DATABASE_NAME"
|
||||
sudo -H -u$FROM_USER /usr/bin/php$phpver /usr/local/bin/wp search-replace "$FROM_REPLACE1" "$TO_REPLACE1" --precise --all-tables --skip-columns=guid --skip-plugins=$(sudo -H -u$FROM_USER /usr/bin/php$phpver /usr/local/bin/wp plugin list --field=name | tr '\n' ',') --skip-themes;
|
||||
/usr/local/vesta/bin/v-run-wp-cli $FROM_DOMAIN search-replace "$FROM_REPLACE1" "$TO_REPLACE1" --precise --all-tables --skip-columns=guid --skip-plugins --skip-themes;
|
||||
echo "=== Replacing $FROM_REPLACE2 to $TO_REPLACE2 in database $FROM_DATABASE_NAME"
|
||||
sudo -H -u$FROM_USER /usr/bin/php$phpver /usr/local/bin/wp search-replace "$FROM_REPLACE2" "$TO_REPLACE2" --precise --all-tables --skip-columns=guid --skip-plugins=$(sudo -H -u$FROM_USER /usr/bin/php$phpver /usr/local/bin/wp plugin list --field=name | tr '\n' ',') --skip-themes;
|
||||
/usr/local/vesta/bin/v-run-wp-cli $FROM_DOMAIN search-replace "$FROM_REPLACE2" "$TO_REPLACE2" --precise --all-tables --skip-columns=guid --skip-plugins --skip-themes;
|
||||
fi
|
||||
|
||||
echo "===== DONE ===="
|
||||
|
|
|
@ -45,28 +45,37 @@ is_object_unsuspended 'user' 'USER' "$user"
|
|||
is_object_unsuspended 'web' 'DOMAIN' "$domain"
|
||||
|
||||
if [ ! -d "/home/$user" ]; then
|
||||
# echo "User doesn't exist";
|
||||
echo "= User doesn't exist";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ ! -f "/home/$user/web/$domain/public_html/wp-config.php" ]; then
|
||||
echo 'Please install WordPress first.'
|
||||
if [[ "$wp_command" != core\ download* ]] && [[ "$wp_command" != core\ config* ]] && [ ! -f "/home/$user/web/$domain/public_html/wp-config.php" ]; then
|
||||
echo '= Please install WordPress first.'
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if ! command -v wp &> /dev/null; then
|
||||
echo "WP CLI is not installed. Installing..."
|
||||
wget -nv https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp
|
||||
chmod +x /usr/local/bin/wp
|
||||
echo "WP CLI installed successfully."
|
||||
wpcli=""
|
||||
|
||||
if [ ! -f "/usr/local/bin/wp" ] || [ ! -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
echo "= WP CLI is not installed. Installing..."
|
||||
/usr/local/vesta/bin/v-install-wp-cli
|
||||
fi
|
||||
|
||||
wpcli="/usr/local/bin/wp"
|
||||
if [ -f "/usr/local/bin/wp" ]; then
|
||||
wpcli="/usr/local/bin/wp"
|
||||
WP_CLI_PACKAGES_DIR=""
|
||||
fi
|
||||
|
||||
if [ -f "/usr/local/bin/wp-cli/php/boot-fs.php" ]; then
|
||||
if [ -f "/usr/local/bin/wp-cli/php/boot-fs.php" ] && [ -d "/usr/local/bin/wp-cli/packages/vendor/wp-cli/search-replace-command" ] && [ -z "$USE_WP_CLI_BUNDLED" ]; then
|
||||
wpcli="/usr/local/bin/wp-cli/php/boot-fs.php"
|
||||
COLUMNS=$(/usr/bin/env stty size 2>/dev/null | awk '{print $2}')
|
||||
echo $COLUMNS > /usr/local/bin/wp-cli/COLUMNS
|
||||
WP_CLI_PACKAGES_DIR="WP_CLI_PACKAGES_DIR=/usr/local/bin/wp-cli/packages"
|
||||
fi
|
||||
|
||||
if [ -z "$wpcli" ]; then
|
||||
echo "= WP CLI is not installed. Please install it manually."
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
mkdir -p /home/$user/.wp-cli
|
||||
|
@ -83,7 +92,20 @@ fi
|
|||
#----------------------------------------------------------#
|
||||
|
||||
cd /home/$USER/web/$domain/public_html
|
||||
sudo -u $USER /usr/bin/php$phpver -d disable_functions=pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,exec,system,passthru,shell_exec,proc_open,popen -d open_basedir=/home/$user/web/$domain:/home/$user/.wp-cli:/home/$user/tmp:/usr/local/bin $wpcli --path=/home/$user/web/$domain/public_html/ $wp_command 2>/home/$user/web/$domain/wp-cli-error.log
|
||||
|
||||
if [ -z "$OPEN_BASEDIR" ]; then
|
||||
OPEN_BASEDIR="/home/$user/web/$domain:/home/$user/.wp-cli:/home/$user/tmp:/usr/local/bin:/tmp"
|
||||
fi
|
||||
|
||||
if [ -z "$DISABLE_FUNCTIONS" ]; then
|
||||
DISABLE_FUNCTIONS="pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,exec,system,passthru,shell_exec,proc_open,popen"
|
||||
fi
|
||||
|
||||
if [ -z "$SHOW_ERRORS" ]; then
|
||||
sudo -u $USER $WP_CLI_PACKAGES_DIR /usr/bin/php$phpver -d disable_functions=$DISABLE_FUNCTIONS -d open_basedir=$OPEN_BASEDIR $wpcli --path=/home/$user/web/$domain/public_html/ $wp_command 2>/home/$user/web/$domain/wp-cli-error.log
|
||||
else
|
||||
sudo -u $USER $WP_CLI_PACKAGES_DIR /usr/bin/php$phpver -d disable_functions=$DISABLE_FUNCTIONS -d open_basedir=$OPEN_BASEDIR $wpcli --path=/home/$user/web/$domain/public_html/ $wp_command
|
||||
fi
|
||||
|
||||
return_code=$?
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue