User Tools

Site Tools


vps:vps4th2nd_10

Differences

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

Link to this comparison view

Next revision
Previous revision
vps:vps4th2nd_10 [2019/03/31 09:33]
hoge@hoge created
vps:vps4th2nd_10 [2019/10/20 23:30] (current)
hoge@hoge [apache 設定]
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 設定 =====
-==== Headline ​====+==== pkg ==== 
 +pkgにて、以下を導入。 
 +  * novnc 
 +  * bash 
 +  * git 
 + 
 +==== WebSockify 設定 ==== 
 +WebSockify のダウンロードと設定する。 
 +  * websockify をダウンロードするため、launch.sh を一度実行する。<​code>​ 
 +# cd /​usr/​local/​libexec/​novnc/​utils 
 +# chmod 744 launch.sh 
 +# ./​launch.sh 
 +<​中略>​ 
 +Filed to start WebSockets proxy 
 +
 +</​code>​ 
 +  * /​usr/​local/​libexec/​novnc/​utils/​websockify/​run 修正<​code>​ 
 +python3.6 -m websockify $@ (python を python3.6 に修正) 
 +</​code>​ 
 + 
 +==== noVNC 設定 ==== 
 +noVNC 向け設定を行う。 
 +  * /​usr/​local/​etc/​rc.d/​novnc を作成する。<​code>​ 
 +#!/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"​ 
 +</​code>​ 
 +  * /​etc/​rc.conf を編集する。<​code>​ 
 +novnc_enable="​YES"​ 
 +novnc_local="​6080"​ 
 +novnc_remote="​192.168.100.2:​5901"​ 
 +</​code>​ 
 + 
 +==== apache 設定 ==== 
 +  * /​usr/​local/​etc/​apache24/​httpd.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>​ 
 +    * /websockify へは reverse proxy 設定 
 +    * /​usr/​local/​libexec/​novnc へは alias 設定 
 +    * <​パス>​ は推測しにくいものにしたほうが良い? 
 +    * クライアント証明書で保護 
 + 
 +==== 接続 ==== 
 +  * Aliasで指定したパス+ vnc.html で接続する。
  
vps/vps4th2nd_10.1553992417.txt.gz · Last modified: 2019/06/16 15:16 (external edit)