リモートデスクトップ · 3 min read · Nov 11, 2025
CentOS 8にGuacamoleリモートデスクトップをインストールして使用する

Apache Guacamoleは、VNC、RDP、SSHなどの標準プロトコルをサポートする無料のオープンソースのWebベースでクライアントレスのリモートデスクトップアプリケーションです。これにより、RDP、SSH、またはVNCを介してWebブラウザからLinuxおよびWindows PCにアクセスできます。クライアントレスであるため、プラグインやクライアントソフトウェアをインストールする必要はありません。Guacamoleは、Guacamole ServerとGuacamole Clientの2つのコンポーネントで構成されています。Guacamoleサーバーは、リモートPCに接続するために必要なサーバー側およびネイティブコンポーネントを提供し、GuacamoleクライアントはリモートPCに接続するために使用されるHTML 5 Webアプリケーションです。
このチュートリアルでは、CentOS 8にGuacamoleサーバーをインストールする方法を示します。
前提条件
- CentOS 8を実行しているサーバー。
- サーバーに設定されたrootパスワード。
始めに
まず、サーバーに必要なパッケージをいくつかインストールする必要があります。次のコマンドでそれらをすべてインストールできます:
dnf install -y unzip curl make cmake wget gcc zlib-devel compat-openssl10すべての必要なパッケージをインストールした後、システムでEPEL、PowerTools、およびDevelリポジトリを有効にする必要があります。次のコマンドでそれらを有効にできます:
dnf install epel-release -y
dnf config-manager --set-enabled PowerTools
dnf config-manager --enable Devel次に、次のコマンドで他の必要なツールをインストールします:
dnf install cairo-devel libuv-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool uuid-devel freerdp-devel pango-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel libssh2-devel libtheora opus lame-libs次に、次のコマンドでDevelリポジトリを無効にします:
dnf config-manager --disable Devel次に、システムでtelnetライブラリをコンパイルする必要があります。
まず、次のコマンドでダウンロードします:
curl -s https://api.github.com/repos/seanmiddleditch/libtelnet/releases/latest | grep browser_download_url | cut -d '"' -f 4 | wget -qi -ダウンロードが完了したら、次のコマンドでダウンロードしたファイルを抽出します:
tar -xf libtelnet-*.tar.gz次に、抽出されたディレクトリに移動し、次のコマンドで構成します:
cd libtelnet-*/
./configure次に、次のコマンドでシステムにインストールします:
make
make installインストールが完了したら、次のステップに進むことができます。
Javaのインストール
GuacamoleはJavaベースのソフトウェアであるため、サーバーにJavaをインストールする必要があります。インストールされていない場合は、次のコマンドでインストールできます:
dnf install java-11-openjdk-develインストールが完了したら、次のコマンドを使用してJavaのバージョンを確認します:
java -version次の出力が得られるはずです:
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
Tomcatのインストール
Apache TomcatはGuacamoleクライアントコンテンツを提供するために使用されます。したがって、サーバーにTomcatをインストールする必要があります。
まず、次のコマンドでTomcat用の別のユーザーとグループを作成します:
groupadd --system tomcat
useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat次に、次のコマンドでTomcatの最新バージョンをダウンロードします:
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gzダウンロードが完了したら、次のコマンドでダウンロードしたファイルを抽出します:
tar -xvf apache-tomcat-9.0.43.tar.gz次に、Tomcatを/usr/shareディレクトリに移動します
mv apache-tomcat-9.0.43 /usr/share/tomcat次に、Tomcatディレクトリに適切な所有権を設定します:
chown -R tomcat:tomcat /usr/share/tomcat/完了したら、次のステップに進むことができます。
Tomcat用のSystemdサービスファイルを作成する
次に、Tomcat用のsystemdサービスファイルを作成する必要があります。次のコマンドで作成できます:
nano /etc/systemd/system/tomcat.service次の行を追加します:
[Unit]
Description=Tomcat Server
After=syslog.target network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment='JAVA_OPTS=-Djava.awt.headless=true'
Environment=CATALINA_HOME=/usr/share/tomcat
Environment=CATALINA_BASE=/usr/share/tomcat
Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M'
ExecStart=/usr/share/tomcat/bin/catalina.sh start
ExecStop=/usr/share/tomcat/bin/catalina.sh stop
[Install]
WantedBy=multi-user.targetファイルを保存して閉じたら、次のコマンドでsystemdデーモンをリロードします:
systemctl daemon-reload次に、Tomcatサービスを開始し、システム再起動時に自動的に開始されるように設定します:
systemctl start tomcat
systemctl enable tomcat次のコマンドでTomcatのステータスを確認することもできます:
systemctl status tomcat次の出力が得られるはずです:
? tomcat.service - Tomcat Server
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2021-02-16 09:34:45 EST; 6s ago
Process: 26546 ExecStart=/usr/share/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS)
Main PID: 26551 (java)
Tasks: 35 (limit: 12523)
Memory: 89.7M
CGroup: /system.slice/tomcat.service
??26551 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.man>
Feb 16 09:34:45 centos8 systemd[1]: Starting Tomcat Server...
Feb 16 09:34:45 centos8 systemd[1]: Started Tomcat Server.
Apache Guacamoleのインストール
まず、次のコマンドでGuacamoleの最新バージョンをダウンロードします:
wget https://downloads.apache.org/guacamole/1.3.0/source/guacamole-server-1.3.0.tar.gzダウンロードが完了したら、次のコマンドでダウンロードしたファイルを抽出します:
tar -xvzf guacamole-server-1.3.0.tar.gz次に、抽出されたディレクトリに移動し、次のコマンドで構成します:
cd guacamole-server-1.3.0
./configure --with-init-dir=/etc/init.d次に、次のコマンドでシステムにインストールします:
make
make install
ldconfig次に、次のコマンドでsystemdデーモンをリロードします:
systemctl daemon-reload次に、Guacamoleサービスを開始し、システム再起動時に自動的に開始されるように設定します:
systemctl start guacd
systemctl enable guacd次のコマンドでGuacamoleのステータスを確認できます:
systemctl status guacd次の出力が得られるはずです:
? guacd.service - LSB: Guacamole proxy daemon
Loaded: loaded (/etc/rc.d/init.d/guacd; generated)
Active: active (running) since Tue 2021-02-16 09:37:15 EST; 4s ago
Docs: man:systemd-sysv-generator(8)
Process: 35723 ExecStart=/etc/rc.d/init.d/guacd start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 12523)
Memory: 12.1M
CGroup: /system.slice/guacd.service
??35726 /usr/local/sbin/guacd -p /var/run/guacd.pid
Feb 16 09:37:15 centos8 systemd[1]: Starting LSB: Guacamole proxy daemon...
Feb 16 09:37:15 centos8 guacd[35723]: Starting guacd: guacd[35724]: INFO: Guacamole proxy daemon (guacd) version 1.3.0 started
Feb 16 09:37:15 centos8 guacd[35723]: SUCCESS
Feb 16 09:37:15 centos8 guacd[35726]: Listening on host 127.0.0.1, port 4822
Feb 16 09:37:15 centos8 systemd[1]: Started LSB: Guacamole proxy daemon.
Guacamoleクライアントのインストール
次に、Guacamole用のディレクトリを作成し、次のコマンドでGuacamoleクライアントファイルをダウンロードします:
mkdir /etc/guacamole
wget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.warダウンロードが完了したら、ダウンロードしたファイルを/etc/guacamoleディレクトリに移動します:
mv guacamole-1.3.0.war /etc/guacamole/guacamole.war次に、guacamole.warファイルのシンボリックリンクを/usr/share/tomcatディレクトリに作成します:
ln -s /etc/guacamole/guacamole.war /usr/share/tomcat/webapps/次に、次のコマンドでGuacamoleホームディレクトリを設定します:
echo "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcat次に、次のコマンドでGuacamole構成ファイルを作成します:
nano /etc/guacamole/guacamole.properties次の行を追加します:
guacd-hostname: localhost
guacd-port: 4822
user-mapping: /etc/guacamole/user-mapping.xml
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProviderファイルを保存して閉じたら、/etc/guacamoleディレクトリのシンボリックリンクを作成します:
ln -s /etc/guacamole /usr/share/tomcat/.guacamoleGuacamoleの構成
次に、Guacamoleから接続したいリモートサーバーを定義するために、Guacamoleユーザーマッピングファイルを作成する必要があります。
まず、次のコマンドで秘密のパスワードを生成します:
echo -n your-password | openssl md5次の出力が表示されるはずです:
(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2次に、次のコマンドでuser-mapping.xmlファイルを作成します:
nano /etc/guacamole/user-mapping.xml次のように、リモートのWindowsおよびLinuxサーバーの詳細を追加します:
ssh
69.87.218.51
22
rdp
15.185.162.149
3389
administrator
ファイルを保存して閉じたら、GuacamoleとTomcatの両方のサービスを再起動して変更を適用します:
systemctl restart tomcat guacd完了したら、次のステップに進むことができます。
ファイアウォールの構成
次に、ファイアウォールを通過するポート4822と8080を許可する必要があります。次のコマンドで許可できます:
firewall-cmd --permanent --add-port=4822/tcp
firewall-cmd --permanent --add-port=8080/tcp次に、変更を適用するためにfirewalldをリロードします:
firewall-cmd --reloadGuacamole Web UIにアクセス
今、Webブラウザを開き、URL http://your-server-ip:8080/guacamoleを使用してGuacamole Webインターフェースにアクセスします。次の画面が表示されるはずです:

管理者のユーザー名、パスワードを入力し、ログインボタンをクリックします。次の画面にGuacamoleダッシュボードが表示されるはずです:

上の画面では、WindowsとLinuxの両方のサーバーが表示されます。接続してリモートサーバーを管理するためにクリックできます。
結論
おめでとうございます!CentOS 8にGuacamoleサーバーを正常にインストールして構成しました。これで、Guacamoleサーバーにさらにリモートサーバーを追加し、Webブラウザを介して管理できます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。