【Apache Guacamole】第1回 Apache Guacamoleを使ってみよう-インストール編


こんにちは。
新型コロナウイルスの感染拡大防止のため、
2020年4月17日政府より出され(つい先日解除されましたが)緊急事態宣言により、
我々の働き方にも大きな影響を及ぼしました。

その中でも、とりわけ聞くようになった
「在宅勤務(リモートワーク)」という言葉、皆さんは自分の仕事を自宅で行うには
どうすればよいか、考えてみたことはあるでしょうか。

日業業務のうち事務やシステム開発などパソコンを使用した業務では、
「リモート」という手法をとることで、自宅に居ながらオフィス内のPCにアクセスし、
仕事をすることも可能です。

ここでは、数あるリモート接続の手段のうち、
オープンソースソフトウェアである
Apache Guacamole
をご紹介します。

Apache Guacamoleとは何なのか、ですが一言で言ってしまうと、
リモート接続するための「踏み台」となるサーバーソフトウェアになり、
「Apache License 2.0」というライセンスを採用しているため、
商用利用でも無料で使用することが出来ます。

(公式サイトより画像転載)

図の「HTML5 Web Browser」が自宅、
「RDP」「VNC」「Other」がオフィス内のPCです。

Apache Guacamoleサーバーを中間に設置、
外部からインターネットアクセスすることが出来るようにすることで、
自宅→Apache Guacamole→オフィス内のPCにリモートアクセスが出来るようになります。
その仲介役を担うのが、「Apache Guacamole」なのです。

もう少し詳しい説明は、技術評論社様のページで記事が出ていますのでそちらをご確認ください。
第613回 Apache Guacamoleを使ってWebブラウザからWindows 10にリモート接続する【技術評論社】

技術評論社様のページでは、Dockerを使用したインストール方法が案内されていますので、
ここでは公式ホームページを参考に、
RaspbianをインストールしたRaspberry Piへのインストールを行っていきたいと思います。

JAVAのインストール

>sudo apt-get install oracle-java7-jdk

Tomcatのインストール

>sudo apt-get install tomcat8

MySQLのインストール

>sudo apt-get install mysql-server
>sudo mysql_secure_installation

データベースを作成します

>sudo mysql -u root -p
>CREATE DATABASE guacamole_db;
>CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'password';
>GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';
>FLUSH PRIVILEGES;
>quit

必須ライブラリのインストール

必須ライブラリをインストールします。
RaspbianはDebianベースのOSになりますので、
公式ページの表の「Debian package」のライブラリ名になります。

>sudo apt-get install libcairo2-dev
>sudo apt-get install libjpeg62-turbo-dev
>sudo apt-get install libpng12-dev
>sudo apt-get install libtool-bin
>sudo apt-get install libossp-uuid-dev

オプションライブラリのインストール

オプションも同じく「Debian package」のものを。
不要なものは省いてもよいですが、今回はすべて入れます

>sudo apt-get install libavcodec-dev libavutil-dev libswscale-dev
>sudo apt-get install libfreerdp-dev
>sudo apt-get install libpango1.0-dev
>sudo apt-get install libssh2-1-dev
>sudo apt-get install libtelnet-dev
>sudo apt-get install libvncserver-dev
>sudo apt-get install libwebsockets-dev
>sudo apt-get install libpulse-dev
>sudo apt-get install libssl-dev
>sudo apt-get install libvorbis-dev
>sudo apt-get install libwebp-dev

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

>wget 'http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz'
>tar zxf guacamole-server-1.1.0.tar.gz
>cd guacamole-server-1.1.0
>./configure --with-init-dir=/etc/init.d
>make
>sudo make install
>sudo update-rc.d guacd defaults
>sudo ldconfig

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

>wget 'http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/1.1.0/source/guacamole-client-1.1.0.tar.gz'
>sudo apt-get install maven
>tar xzf guacamole-client-1.1.0.tar.gz
>cd guacamole-client-1.1.0
>mvn package
>sudo cp guacamole/target/guacamole-1.1.0.war /var/lib/tomcat/webapps

各種設定

こちらを参考にDB設定を行います。
DBのスキーマ情報をインポートします

>cd ~/guacamole-client-1.1.0/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql
>cat schema/*.sql | sudo mysql -u root -p guacamole_db

JDBCドライバをインストールします

>curl -L 'http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.24.tar.gz/from/http://cdn.mysql.com/' | sudo tar xz
>sudo mkdir /etc/guacamole
>sudo mkdir /etc/guacamole/lib
>sudo cp mysql-connector-java-5.1.24/mysql-connector-java-5.1.24-bin.jar /etc/guacamole/lib/

JARを配置します

>sudo mkdir -p /etc/guacamole/extensions
>sudo cp ~/guacamole-client-1.1.0/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-mysql/target/guacamole-auth-jdbc-mysql-1.1.0.jar /etc/guacamole/extensions/

guacamole.propertiesを編集します(なければ新規作成します)

>cd /etc/guacamole/
>sudo vi guacamole.properties
# Hostname and port of guacamole proxy
guacd-hostname: localhost
guacd-port:     4822

# Auth provider class (authenticates user/pass combination, needed if using the provided login screen)
auth-provider: net.sourceforge.guacamole.net.auth.mysql.MySQLAuthenticationProvider

# MySQL properties
mysql-hostname: localhost
mysql-port: 3306
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: password

接続確認

Webブラウザで
http://[Raspberry PiのIPアドレス]:8080/guacamole
へアクセスし、ログイン画面が表示されば完了です。お疲れ様でした。


次回からは実際に使い方などをご紹介していきたいと思います。

  お問い合わせ  - お気軽にお問い合わせください - 

  • 株式会社 パブリックリレーションズ
  • 〒064-0807
  • 北海道札幌市中央区南7条西1丁目13番地 弘安ビル5階
メールでのお問い合わせはこちら

  • この記事をシェアする