0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【第2回】DockerでApache Guacamoleを構築する:インストールから基本設定まで

Last updated at Posted at 2025-09-17

はじめに

前回の記事では、Apache Guacamoleの概要と導入の背景について紹介しました。今回は、Dockerを使って実際にGuacamole環境を構築する手順を解説します。

Dockerを使えば、依存関係の管理や環境構築が簡単になり、再現性の高いセットアップが可能です。


前提条件

以下の環境を前提としています:

  • Docker & Docker Composeがインストール済みのLinux環境(Ubuntuなど)
  • root権限またはsudo権限があること
  • ポート 8080(Guacamole Web UI)と 4822(guacd)が開いていること

Docker Composeによる構成

Guacamoleは以下の2つの主要コンポーネントで構成されます:

  • guacd:プロトコル変換を行うデーモン
  • guacamole:Web UIと接続管理を行うアプリケーション

システム構成図(Docker版)

以下は、Apache GuacamoleをDockerで構築した際の基本構成図です:
jpeg (3).jpg

この構成図には以下の要素が含まれています:

  • ユーザー(ブラウザ)
  • Guacamoleコンテナ(Web UI)
  • guacdコンテナ(プロトコル変換)
  • MySQLコンテナ(認証情報管理)
  • 接続先のRDP/VNC/SSHサーバ(複数台対応可能)

docker-compose.yml の例

version: '3'
services:
  guacd:
    image: guacamole/guacd
    container_name: guacd
    restart: always

  guacamole:
    image: guacamole/guacamole
    container_name: guacamole
    restart: always
    ports:
      - "8080:8080"
    environment:
      GUACD_HOSTNAME: guacd
      MYSQL_HOSTNAME: db
      MYSQL_PORT: 3306
      MYSQL_DATABASE: guacamole_db
      MYSQL_USER: guacamole_user
      MYSQL_PASSWORD: guac_pass
      MYSQL_ROOT_PASSWORD: root_pass
    depends_on:
      - guacd
      - db

  db:
    image: mysql:5.7
    container_name: guac_db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root_pass
      MYSQL_DATABASE: guacamole_db
      MYSQL_USER: guacamole_user
      MYSQL_PASSWORD: guac_pass

初期セットアップ手順

  1. docker-compose.ymlを作成

    mkdir guacamole-docker
    cd guacamole-docker
    nano docker-compose.yml
    
  2. コンテナ起動

    docker-compose up -d
    
  3. 初回アクセス
    ブラウザで http://<サーバIP>:8080/guacamole にアクセス

  4. 初期ログイン情報

    • ユーザー名:guacadmin
    • パスワード:guacadmin

接続の追加(RDP例)

  1. Web UIにログイン
  2. 「接続」→「新しい接続を作成」
  3. 以下を入力:
    • 名前:My Windows Server
    • プロトコル:RDP
    • ホスト名:192.168.x.x
    • ポート:3389
    • ユーザー名/パスワード:対象サーバの認証情報

トラブルシューティング

問題 対処法
ログインできない コンテナログを確認:docker logs guacamole
接続がタイムアウトする 対象サーバのファイアウォール設定を確認
DB接続エラー MYSQL_*環境変数の設定ミスを確認

おわりに

Dockerを使えば、Apache Guacamoleの構築は非常にスムーズです。次回は、LDAP連携やHTTPS化など、運用に向けたセキュリティ強化の方法を紹介します。


次回予告

  • LDAPやOAuthによる認証強化
  • HTTPS化(Let's Encrypt)
  • ログ管理と監査

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?