远程桌面网关 Apache Guacamole 部署教程:详细步骤
##搭建 Apache Guacamole Web 远程桌面网关本文将使用 Docker Compose 部署 Apache Guacamole,实现安全便捷的远程桌面访问。
**环境准备:**
- 安装 Docker 和 Docker Compose
- 准备一个空目录用于存放配置文件
**部署步骤:**
1. **创建 docker-compose.yml 文件:**
```yml
version: "3"
services:
guacamole-postgres:
container_name: guacamole-postgres
image: postgres:latest
environment:
POSTGRES_PASSWORD: 123456
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- /your-path/data:/var/lib/postgresql/data
network_mode: "bridge"
restart:
always
guacamole-guacd:
container_name: guacamole-guacd
image: guacamole/guacd:latest
network_mode: "bridge"
restart:
always
guacamole-client:
container_name: guacamole-client
image: guacamole/guacamole:latest
environment:
POSTGRES_DATABASE: guacamole_db
POSTGRES_USER: sqldata
POSTGRES_PASSWORD: 234567
ports:
- 8080:8080
network_mode: "bridge"
links:
- guacamole-postgres:postgres
- guacamole-guacd:guacd
restart:
always
```
2. **启动项目:**
```shell
docker-compose up -d
```
3. **数据库初始化:**
- 进入 postgres 容器,创建用户 `sqldata`,密码为 `234567`,创建数据库 `guacamole_db`,并授权。
```sql
docker exec -it guacamole-postgres psql -U postgres -d postgres
CREATE USER sqldata WITH PASSWORD '234567';
CREATE DATABASE guacamole_db OWNER sqldata;
GRANT ALL ON DATABASE guacamole_db TO sqldata;
exit
```
- 使用 `guacamole/guacamole` 容器生成数据库初始化脚本。
```shell
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgresql > initdb.sql
```
- 复制脚本到容器内并执行。
```shell
docker cp initdb.sql guacamole-postgres:/
docker exec -it guacamole-postgres psql -U sqldata -d guacamole_db
\i /initdb.sql
exit
rm -f initdb.sql
```
**配置:**
- **数据库持久化:** 在 `docker-compose.yml` 中添加 `PGDATA` 环境变量和数据卷映射。
- **降低用户认证加密级别:** 更改 `pg_hba.conf` 文件的最后一行,将 `scram-sha-256` 修改为 `trust`,并重启 `guacamole-postgres` 容器。
**登录:**
- 访问 `http://yourip:8080/guacamole`,默认用户名和密码为 `guacadmin/guacadmin`。
**使用帮助:**
- 添加 RDP 远程桌面时,勾选 `忽略服务器证书`。
**注意:**
- 修改 `docker-compose.yml` 中的端口映射和数据卷路径。
- 更改默认用户名和密码,确保安全。
- 详细配置步骤和说明请参考官方文档。
页:
[1]