リモートデスクトップ · 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/.guacamole

Guacamoleの構成

次に、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 --reload

Guacamole Web UIにアクセス

今、Webブラウザを開き、URL http://your-server-ip:8080/guacamoleを使用してGuacamole Webインターフェースにアクセスします。次の画面が表示されるはずです:

Guacamole Login

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

Guacamole remote desktop

上の画面では、WindowsとLinuxの両方のサーバーが表示されます。接続してリモートサーバーを管理するためにクリックできます。

結論

おめでとうございます!CentOS 8にGuacamoleサーバーを正常にインストールして構成しました。これで、Guacamoleサーバーにさらにリモートサーバーを追加し、Webブラウザを介して管理できます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。