guacamole安装,在浏览器运维

一、准备工作:检查 Docker 与 Docker Compose

1. 检查 Docker 安装与版本

# 检查是否安装
docker --version

# 检查服务是否运行
systemctl status docker

# 如果没装,一键安装(CentOS/RHEL)
yum install -y docker-ce docker-ce-cli containerd.io
systemctl enable --now docker

2. 检查 Docker Compose 安装与版本

# 检查是否安装
docker-compose --version

# 如果没装,一键安装(Linux通用)
curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

二、编写 docker-compose.yml 文件

直接复制下面的配置(已修正语法、替换占位符),保存为 docker-compose.yml

version: '3'

services:
  guacd:
    image: guacamole/guacd
    container_name: guacd
    restart: always
  mysql:
    image: mysql:8
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: root_password_here  # 请修改
      MYSQL_DATABASE: guacamole_db
      MYSQL_USER: guacamole_user
      MYSQL_PASSWORD: guacamole_password_here  # 请修改
    volumes:
      - ./data/mysql:/var/lib/mysql
      - ./init:/docker-entrypoint-initdb.d
    restart: always
  guacamole:
    image: guacamole/guacamole
    container_name: guacamole
    depends_on:
      - guacd
      - mysql
    environment:
      GUACD_HOSTNAME: guacd
      MYSQL_HOSTNAME: mysql
      MYSQL_DATABASE: guacamole_db
      MYSQL_USERNAME: guacamole_user
      MYSQL_PASSWORD: guacamole_password_here  # 请修改
    ports:
      - "8080:8080"  # Guacamole内部服务端口
    restart: always

三、初始化数据库(关键步骤)

# 1. 镜像拉取
docker-compose pull

# 2. 创建初始化脚本目录
mkdir -p ./init ./data/mysql

# 3. 生成 MySQL 初始化 SQL
docker run --rm guacamole/guacamole \
  /opt/guacamole/bin/initdb.sh --mysql > ./init/initdb.sql

# 4. 启动所有容器
docker-compose up -d

# 5. 检查容器状态,确认全部正常运行
docker-compose ps

如果初始化失败数据库没有就进行手动注入

# 导入 SQL 脚本
docker exec -i guacamole-mysql mysql \
  -uroot -pRootPass123! guacamole_db < ./init/initdb.sql

四、访问 Web 界面并配置远程连接

1. 登录 Guacamole 后台

浏览器访问:http://你的服务器IP:8080/guacamole

  • 默认账号:guacadmin
  • 默认密码:guacadmin

登录后务必修改密码:右上角头像 → 设置 → 用户 → 修改密码。


2. 配置 RDP 远程连接

  1. 右上角「设置」→「连接」→「新建连接」
  2. 基础信息:
    • 名称:自定义(如 Win10 办公机)
    • 协议:RDP
  3. 关键参数填写:

    表格

    模块字段示例 / 说明
    网络主机名目标 Windows IP(如 192.168.1.100)
    网络端口3389(默认)
    认证用户名Windows 登录账号(如 Administrator)
    认证密码Windows 登录密码
    认证安全模式NLA(优先)/TLS/RDP
    认证忽略服务器证书✅️勾选
    剪贴板禁用从远程复制❌不勾选
    剪贴板禁用从客户端粘贴❌不勾选
  4. 保存连接,返回主页点击即可连接。

3. 配置 VNC 远程连接

  1. 新建连接,协议选 VNC
  2. 关键参数填写:

    表格

    模块字段示例 / 说明
    网络主机名目标服务器 IP
    网络端口5901(默认,根据你的 VNC 端口调整)
    认证密码VNC 设置的密码
    显示颜色深度24
    性能禁用图形加速✅勾上(提升兼容性)
  3. 保存后即可连接。

4. 配置 SSH 远程连接

  1. 新建连接,协议选 SSH
  2. 关键参数填写:

    表格

    模块字段示例 / 说明
    网络主机名目标 Linux 服务器 IP
    网络端口22(默认)
    认证用户名Linux 登录账号(如 root)
    认证密码Linux 登录密码(或配置密钥)
    终端字体大小14
    终端颜色方案Solarized Dark
  3. 保存后即可连接。

nginx代理

    location /guacamole/ {
        # 关键:将 /guacamole/ 下的请求转发到内网 Guacamole 的相同路径
        proxy_pass http://你的服务器IP:8080/guacamole/;
        
        # 必须关闭缓冲,支持实时数据流
        proxy_buffering off;
        proxy_http_version 1.1;

        # 传递真实客户端信息
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $host;

        # WebSocket 支持(Guacamole 依赖)
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $http_connection;

        # 修正 Cookie 路径,使其对 /guacamole/ 生效
        proxy_cookie_path /guacamole/ /guacamole/;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值