Server - WebGUI

 Introduction

Yarra provides a convenient web-based user interface for YarraServer (WebGUI), which can be used to monitor, control, and configure the server. The WebGUI is accessible from every web browser, including smartphones, by using the server address as URL with extension :8080, e.g. 192.168.56.101:8080. The port can also be changed to a different number. The WebGUI offers a user authentication system with different access levels, ranging from view-only monitoring of the reconstruction queue to full configuration rights for the YarraServer.

 
 

 Installation

The WebGUI is now part of the YarraServer package and will be installed into the subfolder /yarra/webgui when extracting the YarraServer package, as described here. The folder contains the binary, configuration files, as well as support files.

The WebGUI can be started by calling the executable YarraWebGUI. However, it is strongly recommended to install the WebGUI as Linux daemon instead (similar to the YarraServer itself). This ensures that the WebGUI is automatically started when the server is rebooted, and it ensures that the WebGUI is immediately restarted in the case that it should crash.

The configuration of the WebGUI daemon has changed from previous Yarra versions, as Ubuntu switched from Upstart to systemd for managing daemons (starting with version 16.04).

To install the daemon, open a terminal with administrator rights (sudo account). Review the file yarrawebgui.service, which is located in the /yarra/install subfolder. By default, this file should read:

[Unit]
Description=Yarra WebGUI
Documentation=http://yarraframework.com
After=smbd.service
Requires=smbd.service

[Service]
Type=simple
User=yarraserver
WorkingDirectory=/home/yarraserver/yarra/webgui
ExecStart=/home/yarraserver/yarra/webgui/YarraWebGUI

Restart=on-failure
RestartSec=3

[Install]
WantedBy=multi-user.target

Depending on the location of your YarraServer installation, it is necessary to adjust the path of the “EnvironmentFile=” file and its content (this file specifies where the Qt binaries are located). It might also be necessary to adapt the “User=” setting if a different user name for running YarraServer is used.

Copy the yarrawebgui.service file to the directory /etc/systemd/system (this can only be done using administrator rights):

sudo cp yarrawebgui.service /etc/systemd/system

Then, activate the Yarra daemon by typing:

sudo systemctl enable yarrawebgui
 

 Configuration

All settings of the WebGUI are contained in the file YarraWebGUI.ini, which is located in the folder webgui. Below, you can see a sample configuration:

;### Yarra WebGUI Configuration ###
 
[Setup]
;# Specifies the port for the webgui (added to the URL in the browser) 
Port=8080
 
;# Location of the Yarra installation on the server 
YarraPath=/home/yarraserver/yarra 

;# Set to true to disallow installation of new modules in the webgui 
DisableModuleInstallation=false 

;# Set to true to disallow modification of modes in the webgui 
DisableModeEditing=false 

;# Set to true to prevent display of Yarra news on the status page
DisableYarraNews=false

;# Set to true to remove the support forum from the webgui
DisableSupportForum=false

;# Definition of user accounts (up to 100 users)
;# Level 3 = Administrators (includes rights to control the server)
;# Level 2 = Managers (includes rights to modify tasks)
;# Level 1 = Techs (view-only rights for the task queue)
 
[User1] 
Name=username 
Password=password 
Level=1 

By default, the WebGUI runs on port 8080, which means that the WebGUI can be accessed from any browser by entering the URL http://x.x.x.x:8080 where x.x.x.x is the IP address of the Yarra server. If necessary, the port number can be changed.

When accessing the URL, it is necessary to login using a username and password. Up to 100 different user accounts can be defined in the configuration file (using separate sections with increasing index [User1], [User2], [User3], … ).

Three different access levels can be selected for each user. Level 1 is a view-only mode, which is intended, e.g., for technicians to monitor the reconstruction queue. Level 2 allows deleting or modifying scheduled tasks (e.g., changing the reconstruction mode or adding notification recipients), restarting failed tasks, or viewing log files. This mode should assigned to managers or researchers that Yarra for their studies. Finally, Level 3 allows controlling the server (shutdown / restart) and modifying the configuration. This user level should only be assigned to the administrators of the server.

It is necessary to restart the WebGUI before changes to the configuration become effective (see section below for instructions).

 

 Starting and Stopping the WebGUI

To start the WebGUI, type the following command (using the administrator account):

sudo systemctl start yarrawebgui

If you need to stop (or restart) the WebGUI, type:

sudo systemctl stop yarrawebgui

 

The WebGUI functionality has grown quite a bit recently. Not all of the available functions are already described on this page.