This shows you the differences between two versions of the page.
| 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 で接続する。 | ||