はじめに
ブラウザでリモートデスクトップ接続を利用する方法はnoVNCなど、いくつかあります。その方法の一つであるApache Guacamoleを利用するための手順を記事にしたいと思います。
環境
Ubuntu 20.04 LTS
どうやって実現するのか
中継サーバーをDocker Composeで立ち上げる方法を紹介します。DockerはUbuntuにインストールされていることを前提に進めていきます。インストール方法は以下の公式サイトに載っています。
Docker Composeでの設定
apache_guacamole
という作業ディレクトリーを作り、その中で作業します
mkdir apache_guacamole
cd apache_guacamole
docker-compose.yaml
を作成します
nano docker-compose.yaml
services:
mysql:
restart: always
container_name: guacamole_db
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: rootユーザーのパスワードを設定
MYSQL_DATABASE: apache_guacamole
MYSQL_USER: SQLのユーザー名を設定
MYSQL_PASSWORD: MYSQL_USERのパスワードを設定
volumes:
- ./dbinit:/docker-entrypoint-initdb.d
guacd:
restart: always
container_name: guacd
image: guacamole/guacd:latest
guacamole:
restart: always
container_name: guacamole
image: guacamole/guacamole:latest
environment:
GUACD_HOSTNAME: guacd
MYSQL_HOSTNAME: guacamole_db
MYSQL_DATABASE: apache_guacamole
MYSQL_USER: 設定したSQLのユーザー名
MYSQL_PASSWORD: 設定したMYSQL_USERのパスワード
depends_on:
- guacd
- mysql
ports:
- "8080:8080"
8080ポートを利用する記述が含まれているので、ufw
コマンドなどで適宜、8080ポートを解放する必要があります。
必要なディレクトリーを作成します
mkdir dbinit
MySQLの初期化スクリプトを出力します
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > ./dbinit/initdb.sql
コンテナの起動
先程の作業ディレクトリーでコンテナを起動するコマンドを打ちます。
docker compose up -d
ログイン
http://サーバーのアドレス:8080/guacamole/
にアクセスするとログイン画面が表示されます。
初期アカウントのアカウント名とパスワードはどちらもguacadmin
です。
おわりに
この記事の方法でブラウザからリモートデスクトップ接続を利用することができました。この環境が整えば、デバイスやOSを選ばずに、どこからでもアクセスすることができますね。