5.3 KiB
5.3 KiB
LAN Manager Debian 12 部署包
本包包含 LAN Manager 的 Linux amd64 编译二进制、systemd 服务文件及一键安装脚本。前端资源已静态嵌入二进制中,无需额外安装 Node.js 或 Nginx 即可直接运行。
系统要求
- Debian 12 (bookworm)
- systemd
- 不需要安装 SQLite(使用纯 Go 实现的 SQLite 驱动,无需 CGO)
包内文件说明
lan-manager # 服务端可执行文件(已嵌入前端)
lan-manager.env # 环境变量配置文件
lan-manager.service # systemd 服务单元
install.sh # 一键安装脚本
uninstall.sh # 一键卸载脚本
README.md # 本说明文件
快速安装
- 将本包上传到 Debian 12 服务器(例如
/root/lan-manager-debian12/) - 进入目录并执行安装脚本:
cd lan-manager-debian12
sudo bash install.sh
安装脚本会完成以下操作:
- 创建系统用户
lanmgr - 将程序安装到
/opt/lan-manager/ - 创建数据目录
/opt/lan-manager/data/ - 注册并启动 systemd 服务
lan-manager - 设置开机自启
安装后验证
# 查看服务状态
systemctl status lan-manager
# 查看实时日志
journalctl -u lan-manager -f
# 测试访问
curl http://127.0.0.1:8080/api/auth/me
配置修改
所有配置通过 /opt/lan-manager/lan-manager.env 中的环境变量管理。常用配置项:
| 变量 | 说明 | 默认值 |
|---|---|---|
HOST |
监听地址 | 0.0.0.0 |
PORT |
监听端口 | 8080 |
DATA_DIR |
数据目录 | /opt/lan-manager/data |
DB_PATH |
SQLite 数据库文件路径 | /opt/lan-manager/data/lan-manager.db |
ADMIN_USER |
管理员用户名 | admin |
ADMIN_PASS |
管理员密码 | changeme |
SESSION_SECRET |
Session Cookie 密钥 | lan-manager-secret-change-in-production |
PING_INTERVAL |
自动 Ping/SSH 采集间隔(秒) | 60 |
UI_REFRESH_INTERVAL |
前端自动刷新间隔(毫秒) | 10000 |
修改配置后重启服务生效:
sudo systemctl restart lan-manager
防火墙与公网访问
如果需要通过公网访问,建议开放端口或使用 Nginx 反向代理:
方式 A:直接开放端口
sudo ufw allow 8080/tcp
方式 B:Nginx 反向代理(推荐)
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
安全提醒
- 首次部署后,请立即修改
ADMIN_PASS和SESSION_SECRET。 - 默认情况下访客可直接查看机器列表,但无法进入机器详情页;后端 API 已对详情接口做了权限拦截。
- 建议使用 HTTPS(配合 Nginx + Let's Encrypt/certbot)。
数据备份与恢复(升级前必做)
系统已内置 JSON 全量导出/导入功能,可完整保留机器、服务、关系数据,以及 SSH 配置信息。
方式 A:Web 界面(管理员登录后)
进入 机器列表 页面,点击右上角的:
- 导出数据:下载
lan-manager-backup-YYYYMMdd.json - 导入数据:选择之前下载的备份文件,系统会以 覆盖模式 恢复全部数据
方式 B:命令行
# 导出(需要管理员 Cookie 或 session)
curl -b your-session-cookie http://localhost:8080/api/export > lan-manager-backup.json
# 导入(覆盖模式,会清空现有数据后恢复)
curl -b your-session-cookie -X POST http://localhost:8080/api/import \
-F "file=@lan-manager-backup.json" \
-F "mode=overwrite"
⚠️ 备份文件安全提醒
导出文件中 包含 SSH 密码(已按数据库中的密文/明文形式导出)。请妥善保管备份文件,避免泄露。
升级步骤
- 先导出数据备份(见上文)
- 停止服务:
sudo systemctl stop lan-manager - 替换二进制:
sudo cp /path/to/new/lan-manager /opt/lan-manager/ sudo chown lanmgr:lanmgr /opt/lan-manager/lan-manager sudo chmod +x /opt/lan-manager/lan-manager - 启动服务:
sudo systemctl start lan-manager - 验证数据完整性,如有问题可执行导入恢复。
卸载
如果你想完全卸载 LAN Manager,使用自带的卸载脚本即可:
cd /root/lan-manager-debian12 # 或你存放安装包的目录
sudo bash uninstall.sh
卸载脚本会执行以下操作:
- 停止并禁用
lan-managersystemd 服务 - 删除
/etc/systemd/system/lan-manager.service - 删除程序及数据目录
/opt/lan-manager/ - 删除运行用户
lanmgr - 提示清理防火墙规则(如有)
⚠️ 注意:卸载会一并删除 /opt/lan-manager/data/ 下的 SQLite 数据库。如需保留历史数据,请提前备份:
cp /opt/lan-manager/data/lan-manager.db /backup/lan-manager.db
常见问题
Q: 服务启动失败,日志提示端口被占用?
A: 修改 lan-manager.env 中的 PORT 为其他端口,然后 systemctl restart lan-manager。
Q: 如何备份数据?
A: 直接复制 SQLite 数据库文件即可:cp /opt/lan-manager/data/lan-manager.db /backup/lan-manager.db。