GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04LTSにWebベースのGuacamoleリモートデスクトップクライアントをインストールする方法

Guacamoleは、WebブラウザからLinuxおよびWindowsシステムを管理するために使用される無料のオープンソースのWebベースのリモートデスクトップコントロールパネルです。 VNC、RDP、SSH、Kubernetesなどの標準プロトコルをサポートしており、クライアントコンピューターにソフトウェアをインストールする必要はありません。クリップボード、SFTPを介したファイル転送をサポートし、複数のリモートデスクトップセッションを管理できます。

このチュートリアルでは、Ubuntu20.04サーバーにGuacamoleリモートデスクトップクライアントをインストールして構成する方法を示します。

前提条件
  • 2GB以上のRAMを搭載したUbuntu20.04を実行しているサーバー。
  • ルートパスワードがサーバーに設定されます。
はじめに

まず、システムを最新の安定バージョンに更新する必要があります。これを行うには、次のコマンドを使用してすべてのシステムパッケージを更新します。

apt-get update -y

システムが更新されたら、システムを再起動して変更を適用します。

必要な依存関係をインストールする

まず、ソースからGuacamoleをコンパイルするために、サーバーにいくつかの依存関係をインストールする必要があります。次のコマンドですべてをインストールできます:

apt-get install make gcc g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev libssl-dev libvorbis-dev libwebp-dev -y

すべての依存関係がインストールされたら、次のステップに進むことができます。

Tomcatサーバーをインストールする

Guacamoleは、Tomcatを使用して、Webブラウザーを介してguacamoleサーバーに接続するユーザーにguacamoleクライアントコンテンツを提供します。したがって、Tomcatサーバーをサーバーにインストールする必要があります。インストールされていない場合は、次のコマンドでインストールできます:

apt-get install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y

Tomcatサーバーをインストールした後、Tomcatサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。

systemctl start tomcat9
systemctl enable tomcat9

次のコマンドを使用して、Tomcatサービスのステータスを確認することもできます。

systemctl status tomcat9

次の出力が得られるはずです:

? tomcat9.service - Apache Tomcat 9 Web Application Server
     Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-08-25 14:48:50 UTC; 29min ago
       Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html
    Process: 27982 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=0/SUCCESS)
   Main PID: 27990 (java)
      Tasks: 38 (limit: 4691)
     Memory: 241.5M
     CGroup: /system.slice/tomcat9.service
             ??27990 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.l>

終了したら、次のステップに進むことができます。

ワカモレをインストール

デフォルトでは、GuacamoleパッケージはUbuntu20.04のデフォルトリポジトリでは利用できません。したがって、ソースからコンパイルする必要があります。

まず、次のコマンドを使用して、ApacheWebサイトから最新バージョンのGuacamoleをダウンロードします。

wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz

ダウンロードが完了したら、次のコマンドを使用してダウンロードしたファイルを抽出します。

tar -xvzf guacamole-server-1.1.0.tar.gz

次に、ディレクトリを抽出したディレクトリに変更し、configureスクリプトを実行して、必要な依存関係が欠落していないかどうかを確認します。

cd guacamole-server-1.1.0
./configure --with-init-dir=/etc/init.d

すべてが正常であれば、次の出力が表示されます。

     freerdp2 ............ yes
     pango ............... yes
     libavcodec .......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ no
     libwebsockets ....... no
     libwebp ............. yes
     wsock32 ............. no

   Protocol support:

      Kubernetes .... no
      RDP ........... yes
      SSH ........... yes
      Telnet ........ yes
      VNC ........... yes

   Services / tools:

      guacd ...... yes
      guacenc .... yes
      guaclog .... yes

   FreeRDP plugins: /usr/lib/x86_64-linux-gnu/freerdp2
   Init scripts: /etc/init.d
   Systemd units: no

Type "make" to compile guacamole-server.

次に、次のコマンドを実行してGuacamoleServerをコンパイルしてインストールします。

make
make install

次に、次のコマンドを実行して、インストールされているライブラリのシステムのキャッシュを更新します。

ldconfig

次に、次のコマンドを使用してGuacamoleサービスを有効にして開始します

systemctl enable guacd
systemctl start guacd

次のコマンドを使用して、Guacamoleサービスのステータスを確認できるようになりました。

systemctl status guacd

次の出力が得られるはずです:

? guacd.service - LSB: Guacamole proxy daemon
     Loaded: loaded (/etc/init.d/guacd; generated)
     Active: active (running) since Tue 2020-08-25 12:02:26 UTC; 4s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 27536 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 4691)
     Memory: 10.1M
     CGroup: /system.slice/guacd.service
             ??27555 /usr/local/sbin/guacd -p /var/run/guacd.pid

Aug 25 12:02:26 ubuntu2004 systemd[1]: Starting LSB: Guacamole proxy daemon...
Aug 25 12:02:26 ubuntu2004 guacd[27551]: Guacamole proxy daemon (guacd) version 1.1.0 started
Aug 25 12:02:26 ubuntu2004 guacd[27536]: Starting guacd:
Aug 25 12:02:26 ubuntu2004 guacd[27551]: Starting guacd:
Aug 25 12:02:26 ubuntu2004 guacd[27551]: uacd[27551]: INFO:        Guacamole proxy daemon (guacd) versio
Aug 25 12:02:26 ubuntu2004 systemd[1]: Started LSB: Guacamole proxy daemon.
Aug 25 12:02:26 ubuntu2004 guacd[27555]: Listening on host 127.0.0.1, port 4822
Aug 25 12:02:26 ubuntu2004 guacd[27536]: uacd[275

終了したら、次のステップに進むことができます。

Guacamoleクライアントをインストール

次に、サーバーにGuacamoleクライアントをインストールする必要があります。 GuacamoleクライアントはJavaで記述されており、クロスプラットフォームです。これにより、提示される最終的なHTML5アプリケーションが構成されます。

まず、次のコマンドを使用してGuacamoleバイナリをダウンロードします。

wget https://mirrors.estointernet.in/apache/guacamole/1.1.0/binary/guacamole-1.1.0.war

Guacamoleバイナリをダウンロードした後、次のコマンドを使用して/ etc/guacamoleディレクトリにコピーします。

mkdir /etc/guacamole
mv guacamole-1.1.0.war /etc/guacamole/guacamole.war

次に、次のコマンドを使用して、guacamoleクライアントからTomcatwebappsディレクトリへのシンボリックリンクを作成します。

ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/

最後に、TomcatおよびGuacamoleサービスを再起動して、新しいWebアプリケーションをデプロイします。

systemctl restart tomcat9
systemctl restart guacd

終了したら、次のステップに進むことができます。

Guacomoleを構成する

次に、Guacamoleを正しく機能させるために、ユーザーと接続を構成する必要があります。

まず、guacamole.propertiesという名前のGuacamoleメイン構成ファイルを作成します。

nano /etc/guacamole/guacamole.properties

次の行を追加します:

guacd-hostname: localhost
guacd-port:    4822
user-mapping:    /etc/guacamole/user-mapping.xml

終了したら、ファイルを保存して閉じます。

次に、ライブラリと拡張機能用のディレクトリを作成する必要があります。次のコマンドで作成できます:

mkdir /etc/guacamole/{extensions,lib}

次に、guacamoleホームディレクトリ環境変数を設定し、/ etc / default/tomcat9構成ファイルに追加します。

echo "GUACAMOLE_HOME=/etc/guacamole" >> /etc/default/tomcat9

次に、user-mapping.xmlというファイルを作成して、GuacamoleWebUIへのアクセスを許可するユーザーを定義する必要があります。

作成する前に、次のコマンドを使用してパスワードのmd5ハッシュを生成します。

echo -n yoursecurepassword | openssl md5

次の出力が表示されます。

(stdin)= 55b38b03e7587a45fd886977842ff9b8

:上記のmd5パスワードを覚えておいてください。これは、user-mapping.xmlファイルで定義する必要があります。

次に、次のコマンドを使用して新しいuser-mapping.xmlを作成します。

nano /etc/guacamole/user-mapping.xml
<user-mapping>
    <authorize 
            username="admin"
            password="55b38b03e7587a45fd886977842ff9b8"
            encoding="md5">

        <connection name="Ubuntu20.04-Server">
            <protocol>ssh</protocol>
            <param name="hostname">192.168.10.50</param>
            <param name="port">22</param>
            <param name="username">root</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.10.51</param>
            <param name="port">3389</param>
        </connection>
    </authorize>
</user-mapping>

終了したら、ファイルを保存して閉じます。

場所:

  • 192.168.10.50 はリモートUbuntuサーバーのIPアドレスです。
  • 192.168.10.51 はWindowsサーバーの削除のIPアドレスです。

次に、TomcatとGuacamoleサービスを再起動して、変更を適用します。

systemctl restart tomcat9
systemctl restart guacd

この時点で、Guacamoleサーバーとクライアントがインストールおよび構成されています。

アクセスGuacamoleWebインターフェイス

次に、Webブラウザーを開き、URL http:// your-server-ip:8080/guacamoleを使用してGuacamoleWebインターフェースにアクセスします。 Guacamoleログインページにリダイレクトされます:

user-mapping.xmlで定義したユーザー名とパスワードを入力します ファイルをクリックし、ログインをクリックします ボタン。次のページにGuacamoleダッシュボードが表示されます。

次に、Ubuntu20.04-サーバーをクリックします。 SSHプロトコルを使用してリモートサーバーに接続します。以下に示すようなUbuntuサーバーのログイン画面が表示されます。

Ubuntuサーバーのルートパスワードを入力し、 Enterを押します 。以下に示すように、Ubuntuサーバーにログインします。

グアカモーレ用にNginxを構成する

ポート80を介してGuacamoleにアクセスするには、Nginxをリバースプロキシとして構成することをお勧めします。

まず、次のコマンドを使用してNginxWebサーバーをインストールします。

apt-get install nginx -y

Nginxをインストールした後、新しいNginx仮想ホスト構成ファイルを作成します。

nano /etc/nginx/sites-available/guacamole.conf

次の行を追加します:

server {
        listen 80;
        server_name your-server-ip;
        access_log  /var/log/nginx/guac_access.log;
        error_log  /var/log/nginx/guac_error.log;

        location / {
                    proxy_pass http://your-server-ip:8080/guacamole/;
                    proxy_buffering off;
                    proxy_http_version 1.1;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection $http_connection;
                    proxy_cookie_path /guacamole/ /;
        }

}

終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してNginx仮想ホストを有効にします。

ln -s /etc/nginx/sites-available/guacamole.conf /etc/nginx/sites-enabled/

次に、Nginxサービスを再起動して、構成の変更を適用します。

systemctl restart nginx

これで、URL http://your-server-ipを使用してGuacamoleにアクセスできます。

結論

おめでとう!これで、Ubuntu20.04サーバーにGuacamoleリモートデスクトップクライアントが正常にインストールおよび構成されました。これで、RDPまたはVNC接続をGuacamoleに追加して、Webベースのインターフェイスからそれらの管理を開始できます。


Ubuntu
  1. Ubuntu18.04LTSにWebベースのGuacamoleリモートデスクトップクライアントをインストールする方法

  2. Ubuntu18.04にMattermostクライアントをインストールする方法

  3. Ubuntu 20.04 LTSにXrdp(リモートデスクトップ)をインストールする方法

  1. Ubuntu20.04LTSデスクトップをインストールする方法

  2. Ubuntu18.04LTSデスクトップにDropboxをインストールする方法

  3. Ubuntu20.04LTSにAnsibleをインストールする方法

  1. Ubuntu20.04LTSにCinnamonデスクトップをインストールする方法

  2. Ubuntu20.04LTSにGNOMEデスクトップをインストールする方法

  3. UbuntuにBudgieデスクトップをインストールする方法