Browse Source

跑分安装

root 6 months ago
commit
a0ca517364
1 changed files with 71 additions and 0 deletions
  1. 71 0
      install.sh

+ 71 - 0
install.sh

@@ -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 "所有操作完成!"
+