User Tools

Site Tools


Sidebar

vps:vps4th2nd_10

ブラウザでの desktop 接続

prisoner desktop にブラウザで接続する。

desktop 設定

pkg

pkgにて以下を導入。

  • xdm
  • xsm

xdm

prisner desktop 起動時に xdm を起動する。

  • /usr/local/etc/rc.d/xdm 作成
    #!/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"
  • /etc/rc.conf 編集
    xdm_enable="YES"
  • /usr/local/etc/X11/xdm/Xaccess 編集
    *   #any host can get a login window
  • /usr/local/etc/X11/xdm/xdm-config 編集
    !DisplayManager.requestPort:    0

TigerVNC

TigerVNC を inetd で制御する。

  • /etc/services 編集
    vnc     5901/tcp
  • /etc/inetd.conf 編集
    vnc	stream	tcp	nowait	nobody	/usr/local/bin/Xvnc	Xvnc -inetd -query localhost -once -geometry 1440x900 -securitytypes=none
  • /etc/rc.conf 編集
    inetd_enable="YES"

web 設定

pkg

pkgにて、以下を導入。

  • novnc
  • bash
  • git

WebSockify 設定

WebSockify のダウンロードと設定する。

  • websockify をダウンロードするため、launch.sh を一度実行する。
    # cd /usr/local/libexec/novnc/utils
    # chmod 744 launch.sh
    # ./launch.sh
    <中略>
    Filed to start WebSockets proxy
    #
  • /usr/local/libexec/novnc/utils/websockify/run 修正
    python3.6 -m websockify $@ (python を python3.6 に修正)

noVNC 設定

noVNC 向け設定を行う。

  • /usr/local/etc/rc.d/novnc を作成する。
    #!/bin/sh
    
    # PROVIDE: novnc
    
    PATH=$PATH:/usr/local/bin
    . /etc/rc.subr
    
    name="novnc"
    rcvar="${name}_enable"
    start_cmd="novnc_start"
    
    novnc_start()
    {
    	echo "Start run"
    	echo ${command_args}
    	/usr/local/libexec/novnc/utils/websockify/run --daemon ${novnc_local} ${novnc_remote}
    }
    
    
    load_rc_config $name
    run_rc_command "$1"
  • /etc/rc.conf を編集する。
    novnc_enable="YES"
    novnc_local="6080"
    novnc_remote="192.168.100.2:5901"

apache 設定

  • /usr/local/etc/apache24/httpd.conf 設定
    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
  • /usr/local/etc/apache24/extra/httpd-ssl.conf 設定
    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>
    • /websockify へは reverse proxy 設定
    • /usr/local/libexec/novnc へは alias 設定
    • <パス> は推測しにくいものにしたほうが良い?
    • クライアント証明書で保護

接続

  • Aliasで指定したパス+ vnc.html で接続する。
vps/vps4th2nd_10.txt · Last modified: 2019/10/20 23:30 by hoge@hoge