noVNC configuration¶
noVNC console allows to access the VPS via SolusVM UI.
noVNC is available for KVM and XEN HVM VPSes. It can be accessed at
SolusVM > Vritual Servers > List Virtual Servers > VNC
noVNC requirements¶
Master Hostname should have valid SSL and that's the primary requirement for noVNC feature. Refer the below article to install Let'sencrypt SSL.
noVNC settings¶
Here is the instruction how to configure noVNC:
1. Set up noVNC in SolusVM > Configuration > Settings > Other
-
noVNC Admin - Disable/Enable noVNC in the admin area
-
noVNC Client - Disable/Enable noVNC in the client area
-
noVNC Socket Port - The port number the websockify daemon runs on. Default is 7706
-
noVNC Socket Location - Set up Master as socket Host.
2. Connect to master server via SSH and isntall necessary packages:
yum install -y python numpy python-ssl
3. Setup SSL certificate for noVNC. It should be placed in the file
/usr/local/solusvm/includes/nvnc/cert.pem/
Execute the following
commands:
cat /usr/local/svmstack/nginx/ssl/ssl.crt
/usr/local/svmstack/nginx/ssl/ssl.key >
/usr/local/solusvm/includes/nvnc/cert.pem
systemctl restart svmstack-nginx.service
Note: Starting with version 1.24.09 this action is performed automatically when VNC-console certificate expires.
On CentOS Stream 8/RHEL 8/Scientific Linux 8 if noVNC Socket Location is set to Host Node no actions required in respect to SSL-certificate for VNC. In this case SolusVM uses Nginx SSL-certificate files directly
4. Several advanced settings exist in the masters /usr/local/solusvm/data/config.ini
for noVNC:
[NOVNC]
;;Set this to true if you want noVNC to access the websocket with the remote servers hostname. All the hostnames must resolve correctly. Default (false) is to use the ip address of the remote server
use_remote_hostname = true
;;Set this to true if you want the socket on the host to forward packets across the public network
socket_dest_public = false
noVNC troubleshooting¶
To debug socket connections you can manually start websockify on the host (Make sure you do this on the correct server and you specify the correct port):
sh /scripts/websocket-stop
php /usr/local/solusvm/includes/wsocket.php --port=7706 --debug=1
Never start websockify without the --debug=1 flag manually as root. SolusVM will automatically start it if it's not running.