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
すべての依存関係がインストールされたら、次のステップに進むことができます。
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サーバーとクライアントがインストールおよび構成されています。
次に、Webブラウザーを開き、URL http:// your-server-ip:8080/guacamoleを使用してGuacamoleWebインターフェースにアクセスします。 Guacamoleログインページにリダイレクトされます:
user-mapping.xmlで定義したユーザー名とパスワードを入力します ファイルをクリックし、ログインをクリックします ボタン。次のページにGuacamoleダッシュボードが表示されます。
次に、Ubuntu20.04-サーバーをクリックします。 SSHプロトコルを使用してリモートサーバーに接続します。以下に示すようなUbuntuサーバーのログイン画面が表示されます。
Ubuntuサーバーのルートパスワードを入力し、 Enterを押します 。以下に示すように、Ubuntuサーバーにログインします。
ポート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ベースのインターフェイスからそれらの管理を開始できます。