User Tools

Site Tools


vps:vps4th2nd_10

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
vps:vps4th2nd_10 [2019/03/31 10:42]
hoge@hoge
vps:vps4th2nd_10 [2019/07/15 10:41]
hoge@hoge
Line 1: Line 1:
 ====== ブラウザでの desktop 接続 ====== ====== ブラウザでの desktop 接続 ======
 prisoner desktop にブラウザで接続する。 prisoner desktop にブラウザで接続する。
 +
 +{{:​vps:​novnc.png}}
 +===== desktop 設定 =====
 +==== pkg ====
 +pkgにて以下を導入。
 +  * xdm
 +  * xsm
 +==== xdm ====
 +prisner desktop 起動時に xdm を起動する。
 +  * /​usr/​local/​etc/​rc.d/​xdm 作成<​code>​
 +#!/bin/sh
 +#
 +
 +# PROVIDE: xdm
 +# REQUIRE: DAEMON ldconfig
 +
 +. /​etc/​rc.subr
 +
 +name="​xdm"​
 +rcvar="​xdm_enable"​
 +command="/​usr/​local/​bin/​xdm"​
 +start_cmd="​xdm_start"​
 +
 +xdm_start()
 +{
 + ${command}
 +}
 +
 +
 +load_rc_config $name
 +run_rc_command "​$1"</​code>​
 +  * /​etc/​rc.conf 編集<​code>​
 +xdm_enable="​YES"​
 +</​code>​
 +  * /​usr/​local/​etc/​X11/​xdm/​Xaccess 編集<​code>​
 +*   #any host can get a login window
 +</​code>​
 +  * /​usr/​local/​etc/​X11/​xdm/​xdm-config 編集<​code>​
 +!DisplayManager.requestPort: ​   0
 +</​code>​
 +
 +
 +
 +
 +==== TigerVNC ​ ====
 +TigerVNC を inetd で制御する。
 +
 +  * /​etc/​services 編集<​code>​
 +vnc     ​5901/​tcp
 +</​code>​
 +  * /​etc/​inetd.conf 編集<​code>​
 +vnc stream tcp nowait nobody /​usr/​local/​bin/​Xvnc Xvnc -inetd -query localhost -once -geometry 1440x900 -securitytypes=none
 +</​code>​
 +  * /​etc/​rc.conf 編集<​code>​
 +inetd_enable="​YES"​
 +</​code>​
 +
  
 ===== web 設定 ===== ===== web 設定 =====
Line 9: Line 66:
   * git   * git
  
-=== WebSockify 設定 ===+==== WebSockify 設定 ​====
 WebSockify のダウンロードと設定する。 WebSockify のダウンロードと設定する。
   * websockify をダウンロードするため、launch.sh を一度実行する。<​code>​   * websockify をダウンロードするため、launch.sh を一度実行する。<​code>​
Line 20: Line 77:
 </​code>​ </​code>​
   * /​usr/​local/​libexec/​novnc/​utils/​websockify/​run 修正<​code>​   * /​usr/​local/​libexec/​novnc/​utils/​websockify/​run 修正<​code>​
-#​!/​usr/​bin/​env ​python3.6 (python を python3.6 に修正)+python3.6 ​-m websockify $0 (python を python3.6 に修正)
 </​code>​ </​code>​
  
-=== inetd 設定 === +==== noVNC 設定 ​==== 
-novnc 向け設定を行う。+noVNC 向け設定を行う。
   * /​usr/​local/​etc/​rc.d/​novnc を作成する。<​code>​   * /​usr/​local/​etc/​rc.d/​novnc を作成する。<​code>​
 #!/bin/sh #!/bin/sh
-# 
  
 # PROVIDE: novnc # PROVIDE: novnc
  
 +PATH=$PATH:/​usr/​local/​bin
 . /​etc/​rc.subr . /​etc/​rc.subr
  
 name="​novnc"​ name="​novnc"​
-rcvar=novnc_enable +rcvar="​${name}_enable"​ 
-command="/​usr/​local/​libexec/​novnc/​utils/​launch.sh"​ +start_cmd="novnc_start"​ 
-command_args=${novnc_options}+ 
 +novnc_start() 
 +
 + echo "Start run" 
 + echo ${command_args} 
 + /​usr/​local/​libexec/​novnc/​utils/​websockify/​run --daemon ​${novnc_local${novnc_remote} 
 +
  
 load_rc_config $name load_rc_config $name
Line 42: Line 106:
 </​code>​ </​code>​
   * /​etc/​rc.conf を編集する。<​code>​   * /​etc/​rc.conf を編集する。<​code>​
-inetd_enable="​YES"​ 
 novnc_enable="​YES"​ novnc_enable="​YES"​
-novnc_option="--vnc 192.168.100.2:​5901"​+novnc_local="​6080"​ 
 +novnc_remote="​192.168.100.2:​5901"​
 </​code>​ </​code>​
 +  * ログインページ作成を作成する。
 +    * /​usr/​local/​libexec/​novnc/​vnc.html を削除もしくは *.html 以外に変更。
 +    * /​usr/​local/​libexec/​novnc/​vnc_auto.html を推測しにくい名前に変更。
  
-== apache 設定 == +==== apache 設定 ​==== 
-WebSockify ディレクトリを組み込む。 +  * /​usr/​local/​etc/​apache24/​httpd.conf 設定<​code>​ 
-  * /​usr/​local/​etc/​apache24/​extra/​httpd-ssl.conf ​設定する。<​code>​+LoadModule proxy_module libexec/​apache24/​mod_proxy.so 
 +LoadModule proxy_http_module libexec/​apache24/​mod_proxy_http.so 
 +LoadModule proxy_wstunnel_module libexec/​apache24/​mod_proxy_wstunnel.so 
 +</​code>  ​ 
 +  * /​usr/​local/​etc/​apache24/​extra/​httpd-ssl.conf 設定<​code>​ 
 +SSLCACertificateFile "/​usr/​local/​etc/​apache24/​ssl.crt/​cacert.pem"​
  
 +ProxyRequests Off
 +ProxyPass /websockify ws://​localhost:​6080/​websockify retry=3
 +ProxyPassReverse /websockify ws://​localhost:​6080/​websockify retry=3
 +RedirectMatch permanent /<​パス>​$ /<​パス>/​
 +Alias /<​パス>​ /​usr/​local/​libexec/​novnc
 +<​Directory /​usr/​local/​libexec/​novnc>​
 +    AllowOverride all
 +    Order allow,deny
 +    Allow from all
 +    Require all granted
 +</​Directory>​
 +<​Location /​websockify/>​
 +    SSLVerifyClient require
 +</​Location>​
 </​code>​ </​code>​
 +    * /websockify へは reverse proxy 設定
 +    * /​usr/​local/​libexec/​novnc へは alias 設定
 +    * <​パス>​ は推測しにくいものにしたほうが良い?
 +    * クライアント証明書で保護
 +
  
vps/vps4th2nd_10.txt · Last modified: 2019/10/20 23:30 by hoge@hoge