1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/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 "所有操作完成!"
|