|
@@ -0,0 +1,71 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+
|
|
|
+read -p "请输入站点域名: " domain_name
|
|
|
+
|
|
|
+
|
|
|
+php_dir="/home/adweb/php/"
|
|
|
+sql_dir="/home/adweb/sql/"
|
|
|
+nginx_dir="/home/adweb/nginx/"
|
|
|
+ssl_dir="/home/adweb/ssl/"
|
|
|
+target_dir="/www-root/www-root/"
|
|
|
+
|
|
|
+
|
|
|
+echo "正在解压 PHP 文件..."
|
|
|
+tar -xzvf "${php_dir}${domain_name}.tar.gz" -C "$target_dir" || { echo "解压失败"; exit 1; }
|
|
|
+
|
|
|
+
|
|
|
+echo "正在提取数据库名称和用户..."
|
|
|
+db_name=$(grep "DB_NAME" "${target_dir}${domain_name}/wp-config.php" | awk -F "'" '{print $4}')
|
|
|
+db_user=$(grep "DB_USER" "${target_dir}${domain_name}/wp-config.php" | awk -F "'" '{print $4}')
|
|
|
+
|
|
|
+if [[ -z "$db_name" || -z "$db_user" ]]; then
|
|
|
+ echo "无法提取数据库名称或用户"
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|
|
|
+echo "数据库名称: $db_name"
|
|
|
+echo "数据库用户: $db_user"
|
|
|
+
|
|
|
+
|
|
|
+echo "正在替换数据库 IP..."
|
|
|
+sed -i "s|define( 'DB_HOST', '.*' );|define( 'DB_HOST', '127.0.0.1' );|" "${target_dir}${domain_name}/wp-config.php" || { echo "替换失败"; exit 1; }
|
|
|
+
|
|
|
+
|
|
|
+echo "正在转移 SSL 证书..."
|
|
|
+mv "$ssl_dir"* /root/.acme.sh/ || { echo "转移 SSL 证书失败"; exit 1; }
|
|
|
+
|
|
|
+
|
|
|
+echo "正在创建数据库及用户..."
|
|
|
+mysql -uroot -p'Admin@123.com' -e "CREATE DATABASE ${db_name};" || { echo "创建数据库失败"; exit 1; }
|
|
|
+mysql -uroot -p'Admin@123.com' -e "CREATE USER '${db_user}'@'localhost' IDENTIFIED BY 'Admin@123.com';" || { echo "创建数据库用户失败"; exit 1; }
|
|
|
+mysql -uroot -p'Admin@123.com' -e "GRANT ALL PRIVILEGES ON ${db_name}.* TO '${db_user}'@'localhost';" || { echo "赋予权限失败"; exit 1; }
|
|
|
+
|
|
|
+
|
|
|
+echo "正在导入 SQL 文件..."
|
|
|
+for sql_file in "${sql_dir}"*.sql; do
|
|
|
+ mysql -uroot -p'Admin@123.com' "$db_name" < "$sql_file" || { echo "导入 SQL 文件失败: $sql_file"; exit 1; }
|
|
|
+done
|
|
|
+
|
|
|
+echo "正在刷新权限..."
|
|
|
+mysql -uroot -pAdmin@123.com -e "FLUSH PRIVILEGES;" || { echo "刷新权限失败"; exit 1; }
|
|
|
+
|
|
|
+
|
|
|
+echo "正在更新 Nginx 配置..."
|
|
|
+sed -i "s|root /usr/local/wwwroot/|root /www-root/www-root/|g" "${nginx_dir}"* || { echo "更新 Nginx 配置失败"; exit 1; }
|
|
|
+sed -i "s|include /opt/openresty/nginx/conf/wordpress_adweb_base.conf;|include /usr/local/openresty/nginx/conf/wordpress_adweb_base.conf;|g" "${nginx_dir}"* || { echo "更新 Nginx 配置失败"; exit 1; }
|
|
|
+
|
|
|
+
|
|
|
+echo "正在复制 Nginx 配置..."
|
|
|
+cp "${nginx_dir}"* /usr/local/openresty/nginx/vhost/ || { echo "复制 Nginx 配置失败"; exit 1; }
|
|
|
+
|
|
|
+
|
|
|
+echo "正在刷新 Nginx..."
|
|
|
+/usr/local/openresty/nginx/sbin/nginx -s reload || { echo "刷新 Nginx 失败"; exit 1; }
|
|
|
+
|
|
|
+
|
|
|
+echo "正在清理环境..."
|
|
|
+rm -rf "${php_dir}"* "${sql_dir}"* "${nginx_dir}"* "${ssl_dir}"* || { echo "清理环境失败"; exit 1; }
|
|
|
+
|
|
|
+echo "所有操作完成!"
|
|
|
+
|