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

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

システム管理者であり、WindowsおよびLinuxマシンの管理を担当している場合、それらを管理するためにリモートデスクトップクライアントソフトウェアが必要になることがよくあります。 Apache Guacamoleは、無料のオープンソースのWebベースのリモートデスクトップアプリケーションであり、Webブラウザを介してデスクトップマシンにアクセスできます。これは、VNC、RDP、SSHなどの標準プロトコルをサポートするクライアントレスHTML5Webアプリケーションです。サーバーにクライアントソフトウェアやプラグインをインストールする必要はありません。 Guacamoleを使用すると、同じブラウザウィンドウで複数のリモートデスクトップマシンを簡単に切り替えることができます。

このチュートリアルでは、Ubuntu18.04LTSサーバーにApacheGuacamoleリモートデスクトップゲートウェイをインストールする方法を示します。

前提条件
  • Ubuntu18.04を実行しているサーバー。
  • ルートパスワードがサーバーに設定されています。
はじめに

開始する前に、システムのパッケージを最新バージョンに更新することをお勧めします。次のコマンドを使用して更新できます:

apt-get update -y
apt-get upgrade -y

すべてのパッケージが更新されたら、システムを再起動して変更を適用します。

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

開始する前に、ソースからGuacamoleをコンパイルするために、システムにいくつかの依存関係をインストールする必要があります。次のコマンドを使用して、それらすべてをインストールできます。

apt-get install gcc-6 g++-6 libossp-uuid-dev libavcodec-dev libpango1.0-dev libssh2-1-dev libcairo2-dev libjpeg-turbo8-dev libpng-dev libavutil-dev libswscale-dev libfreerdp-dev libvncserver-dev libssl-dev libvorbis-dev libwebp-dev -y

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

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

次に、サーバーにTomcatをインストールして、Webブラウザーを介してグアカモーレサーバーに接続するユーザーにグアカモーレクライアントコンテンツを提供する必要があります。次のコマンドを使用してインストールできます:

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

Tomcatがインストールされたら、次のステップに進むことができます。

Guacamoleサーバーをインストール

Guacamoleは、guacdプロキシと関連ライブラリを提供するguacamole-serverと、Tomcatサーバーが提供するクライアントを提供するguacamole-clientの2つのコンポーネントに分かれています。デフォルトでは、GuacamoleサーバーはUbuntu18.04のデフォルトリポジトリでは使用できません。したがって、ソースからビルドする必要があります。

まず、次のコマンドを使用して、最新バージョンのGuacamoleソースをダウンロードします。

wget http://apachemirror.wuchna.com/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz

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

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

次に、ディレクトリを抽出したディレクトリに変更し、次のコマンドで構成します。

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

構成が成功すると、次の出力が表示されます。

   Library status:

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

   Protocol support:

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

   Services / tools:

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

   FreeRDP plugins: no
   Init scripts: /etc/init.d
   Systemd units: no

Type "make" to compile guacamole-server.

次に、次のコマンドを実行してguacamole-serverをコンパイルします。

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 Sat 2020-04-11 14:48:03 UTC; 7s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 28833 ExecStart=/etc/init.d/guacd start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 2359)
   CGroup: /system.slice/guacd.service
           ??28847 /usr/local/sbin/guacd -p /var/run/guacd.pid

Apr 11 14:48:03 ubuntu1804 systemd[1]: Starting LSB: Guacamole proxy daemon...
Apr 11 14:48:03 ubuntu1804 guacd[28834]: Guacamole proxy daemon (guacd) version 1.1.0 started
Apr 11 14:48:03 ubuntu1804 guacd[28833]: Starting guacd: guacd[28834]: INFO:        Guacamole proxy daemon (guacd) version 1.1.0 started
Apr 11 14:48:03 ubuntu1804 guacd[28833]: SUCCESS
Apr 11 14:48:03 ubuntu1804 systemd[1]: Started LSB: Guacamole proxy daemon.
Apr 11 14:48:03 ubuntu1804 guacd[28847]: Listening on host 127.0.0.1, port 4822

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

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

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

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

ダウンロードが完了したら、それを/ 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/tomcat8/webapps/

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

systemctl restart tomcat8
systemctl restart guacd

Guacomoleを構成する

Guacamoleをインストールした後、Guacamoleを正しく機能させるには、ユーザーと接続を構成する必要があります。

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

nano /etc/guacamole/guacamole.properties

次の行を追加します:

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

ファイルを保存して閉じます。次に、次のコマンドを使用してlibおよびextensionsディレクトリを作成します。

mkdir /etc/guacamole/{extensions,lib}

次に、tomcat8のデフォルト構成ファイルへのguacamoleホームディレクトリ環境変数。

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

Guacamoleのデフォルトの認証方法は、user-mapping.xmlという単一のファイルからすべてのユーザーと接続を読み取ります。このファイルは、Guacamole Web UIへのアクセスを許可されたユーザー、接続するサーバー、および接続方法を定義します。

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

echo -n yoursecurepassword | openssl md5

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

(stdin)= 55b38b03e7587a45fd886977842ff9b8

注:このハッシュを覚えておいてください。user-mapping.xmlファイルで指定する必要があります。

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

nano /etc/guacamole/user-mapping.xml

次の行を追加します:

<user-mapping>
    <authorize 
            username="admin"
            password="55b38b03e7587a45fd886977842ff9b8"
            encoding="md5">

        <connection name="Ubuntu-Server">
            <protocol>ssh</protocol>
            <param name="hostname">192.168.0.150</param>
            <param name="port">22<param>
            <param name="username">root</param>
        </connection>
        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">192.168.0.100</param>
            <param name="port">3389</param>
        </connection>
    </authorize>
</user-mapping>
>

終了したら、ファイルを保存して閉じます。次に、TomcatとGuacamoleサービスを再起動して、変更を適用します。

systemctl restart tomcat8
systemctl restart guacd
アクセスGuacamoleWebインターフェイス

この時点で、Guacamoleサーバーがインストールおよび構成されています。次に、Webブラウザからアクセスします。

Webブラウザーを開き、URL http:// your-server-ip:8080 /guacamole/を入力します。 Apache Guacamoleログインページにリダイレクトされます:

user-mapping.xmlファイルで指定したユーザー名とパスワードを入力し、ログインをクリックします。 ボタン。すべての接続を含むApacheGuacamoleのデフォルトダッシュボードが表示されます:

次に、Ubuntu-Serverをクリックすると、以下に示すように、user-mapping.xmlで定義したユーザーのパスワードを入力するように求められます。

システムユーザーのパスワードを入力し、 Enterを押します 。以下に示すように、Ubuntu-Serverにログインします。

NginxをGuacamoleのリバースプロキシとして構成する

次に、Guacamoleダッシュボードにアクセスするために、Nginxをリバースプロキシとして構成する必要があります。まず、次のコマンドを使用してNginxWebサーバーをインストールします。

apt-get install nginx -y

インストールしたら、新しい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を確認します。

nginx -t

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

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最後に、Nginxサービスを再起動して、変更を適用します。

systemctl restart nginx

これで、URL http://your-server-ipを使用してGuacamoleWebインターフェイスにアクセスできます。

結論

おめでとう!これで、GuacamoleリモートデスクトップゲートウェイがUbuntu18.04サーバーに正常にインストールされました。これで、Webブラウザを介してリモートで管理する別のリモートサーバーを追加できます。


Ubuntu
  1. Ubuntu20.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デスクトップをインストールする方法