外から色々つつくのに、これが最適!なソリューションが見つかったので
色々やってみました。
最初はyumからインストールできたんですが、バージョンをオフィシャルサイトで
確認してみると・・・・今入ってるのが結構古い事が判明。
ReverseProxyの環境で上手く動かないのもあって、最新版に入れ替えちゃえ!って事で。
libguac-client-rdp-0.8.4-4.el7.x86_64 libguac-client-ssh-0.8.4-4.el7.x86_64 guacd-0.8.4-4.el7.x86_64 libguac-client-vnc-0.8.4-4.el7.x86_64 guacamole-0.8.4-1.el7.noarch libguac-0.8.4-4.el7.x86_64
ので、さっくり消しましたw(これも後でハマってしまった原因でもあるのですが・・・)
rpm -e libguac-client-rdp libguac-client-ssh guacd libguac guacamole libguac
さて、オフシャルサイトからダウンロードして、guacamole-serverの自前ビルドです。
(guacamole-clientは、自前ビルドする必要せはあまりないかも。warファイルで十分です)
この後でソースを展開してconfigureを実行しますが、この辺がないと色々動きません。
ので、ちゃっちゃと入れちゃいましょう。
yum -y install freerdp freerdp-libs freerdp-plugins freerdp-devel yum -y install pango-devel yum -y install pangomm pangomm-devel yum -y install libssh2-devel yum -y install libtelnet yum -y install libvncserver libvncserver-devel yum -y install libvorbis libvorbis-devel yum -y install pulseaudio pulseaudio-utils pulseaudio-libs pulseaudio-libs pulseaudio-libs-devel
ここまで入れてconfigureを流すとこうなります。
そしたらrdp・vnc・sshが使えるようになります。
------------------------------------------------ guacamole-server version 0.9.3 ------------------------------------------------ Library status: freerdp ............. no pango ............... yes libssh2 ............. no libssl .............. yes libtelnet ........... no libVNCServer ........ no libvorbis ........... no libpulse ............ no Protocol support: RDP ....... no SSH ....... no Telnet .... no VNC ....... no Init scripts: no
っと・・・systemdのscriptだけは、インストール前に引き上げて
ありましたので流用しますw
こんなかんじに直してみました。
なんだか自前ビルドしたらrootでないと動かなかったんですが、まぁいいかってことでw
[Unit] Description=Guacamole proxy daemon Documentation=man:guacd(8) After=network.target [Service] EnvironmentFile=-/etc/sysconfig/guacd Environment=HOME=/var/lib/guacd ExecStart=/usr/local/sbin/guacd -f $OPTS Restart=on-failure # User=guacd # Group=guacd [Install] WantedBy=multi-user.target
そして・・・jarをdeployしたんですが、何やってもログインが出来ません。
ログを見て、色々調べた所・・・・・。
これをやらないとダメだって事がやっと判明。
昔はClassPathに無いとダメだったとか・・・色々書いてありましたが
結局のところオフィシャルサイトのマニュアルに書いてあったので、一発解決でした。
mkdir /usr/share/tomcat/.guacamole ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat6/.guacamole/
ReverseProxy側の設定はこんなしてます。
https->httpへ飛ばしてます。https->ajpはダメでした(残念)
確かにAJPの方が速いらしですが、これで十分かも。(WiMaxIIでの体感速度)
当初うまく行かなかったのですが・・・・。
ヒントはこちらのサイトから。
あと、味噌はproxy_buffering off;でした。
これ入れないと画面は出てもマウスカーソルがクリック出来ず・・・・結構悩みました。
(無理して自前ビルドしなくても良かったのかも・・・・)
server { listen 443; server_name hogehoge.xxxx; root /usr/share/nginx/html; ssl on; ssl_certificate /etc/httpd/cert/xxxxxx_cert.pem; ssl_certificate_key /etc/httpd/cert/xxxxxx_key.pem; ssl_protocols TLSv1 TLSv1.1 TLSV1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; access_log off; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffering off; proxy_pass http://hogehoge:8080; } }
最後にuser-map.xmlですが・・・。
内容についてオフィシャルサイトのマニュアル見たら一撃なんで、そっちを参照してくださいw
ウチではこんな感じで設定してみました。
<user-mapping> <authorize username="USER" password="PASSWORD"> <!-- connection to hogehogewin --> <connection name="hogehogewin_rdp"> <protocol>rdp</protocol> <param name="hostname">hogehoge_win</param> <param name="port">3389</param> <param name="console">true</param> </connection> </authorize> </user-mapping>
ウチはSSH張ったりリバースプロキシ入れてたりとか、ちょっと特殊かも知れませんが
ちょこっと頑張れば設定出来ました(色々ハマってしまいましたが)
でも、おかげさまで何処でもアクセスできるようになったのでめでたしめでたしw
コメント