This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
doc:installation:x2gobroker [2013/05/12 16:36] sunweaver |
doc:installation:x2gobroker [2016/02/23 16:05] ionic Fix links to frontends in git archive. |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Installing X2Go Session Broker ====== | ====== Installing X2Go Session Broker ====== | ||
- | The X2Go Session Broker falls into two components. | + | The X2Go Session Broker falls into three components. |
* X2Go Session Broker Daemon/WSGI | * X2Go Session Broker Daemon/WSGI | ||
Line 42: | Line 42: | ||
* [[http:// | * [[http:// | ||
- | |||
- | ===== X2Go Session Broker: Backends and Frontends ===== | ||
- | |||
- | The concept of X2Go Session Broker as provided in [[http:// | ||
- | |||
- | ==== Currently available broker backends ==== | ||
- | |||
- | * ZeroConf backend (name: zeroconf), set up by default, allows one to test the broker and see that client <-> broker configuration basically works | ||
- | * INI File backend (name: inifile), text file (INI format) based configuration of the X2Go Session Broker backend | ||
- | |||
- | Other broker backends (written in Python) can be added easily if needed. Contact the X2Go developers for further information on custom broker backend development. | ||
- | |||
- | ==== Currently available WebUI frontends ==== | ||
- | |||
- | * The ''' | ||
- | * The ''' | ||
Line 77: | Line 61: | ||
Furthermore, | Furthermore, | ||
+ | |||
+ | ===== X2Go Session Broker Agent ===== | ||
+ | |||
+ | Package name: ''' | ||
+ | |||
+ | On Debian based systems: | ||
+ | |||
+ | <code bash> | ||
+ | $ sudo apt-get install x2gobroker-agent | ||
+ | </ | ||
+ | |||
+ | Installing X2Go Session Broker Agent is optional. The broker agent has to be intalled on machines that are in the roll of an X2Go Server (i.e. in the role of a terminal server running X2Go). | ||
+ | |||
+ | The X2GO Session Broker Agent is a requirement for load balancing setups and is also needed if X2Go Client shall be aware of already running X2Go Sessions. X2Go Client in non-broker mode resumes a suspended session (if exactly there is one) automatically. Other than that, X2Go Client in broker mode waits for resuming instructions from the session broker. The session broker, however, requires feedback from the broker agent to notice that there is a suspended/ | ||
+ | |||
+ | Thus, the broker agent is like a man-in-the-middle. It sits between X2Go Session Broker and the X2Go Server(s) that the session broker provides. Through the X2Go Session Broker Agent the broker core can obtain information on provided X2Go Servers for all users on that server host. | ||
+ | |||
+ | The currently available functions of the broker agent are: | ||
+ | |||
+ | * list user sessions of any user | ||
+ | * deploy SSH public keys on behalf of any user | ||
+ | * drop SSH public keys on behalf of any user | ||
+ | * render an ordered list of X2Go Servers and their usage (by number of running/ | ||
+ | * suspend sessions on behalf of any user | ||
+ | * render a list of used X2Go Servers | ||
+ | * (more to come...) | ||
+ | |||
+ | **Note:** The X2Go Session Broker Agent gets installed setuid root (group: x2gobroker system group, permissions: | ||
+ | |||
+ | |||
+ | ===== X2Go Session Broker: Backends and Frontends ===== | ||
+ | |||
+ | The design of X2Go Session Broker as provided in [[http:// | ||
+ | |||
+ | ==== Broker Backends ==== | ||
+ | |||
+ | The backends deal with the storage of, the rendering of and possibly the user/ | ||
+ | |||
+ | ==== Broker WebUI Frontends ==== | ||
+ | |||
+ | The WebUI frontends deal with delivering the list of session profiles (available for this user/ | ||
+ | |||
+ | ==== Currently available broker backends ==== | ||
+ | |||
+ | * ZeroConf backend (name: zeroconf), set up by default, allows one to test the broker and see that client <-> broker configuration basically works | ||
+ | * INI File backend (name: inifile), text file (INI format) based configuration of the X2Go Session Broker backend | ||
+ | |||
+ | Other broker backends (written in Python) can be added easily if needed. Contact the X2Go developers for further information on custom broker backend development. | ||
+ | |||
+ | ==== Currently available WebUI frontends ==== | ||
+ | |||
+ | * The ''' | ||
+ | * The ''' | ||
===== Setting up Config Files ===== | ===== Setting up Config Files ===== | ||
- | ==== X2Go Session Broker | + | ==== Configuration of X2Go Session Broker ==== |
For a basic configuration with the INI file backend and the standalone daemon (recommended for beginners) you only need to touch. Click on the config file names below to retrieve more info on how to modify/ | For a basic configuration with the INI file backend and the standalone daemon (recommended for beginners) you only need to touch. Click on the config file names below to retrieve more info on how to modify/ | ||
Line 88: | Line 125: | ||
* [[x2gobroker: | * [[x2gobroker: | ||
- | The X2Go Session Broker uses several more configuration files. Below is a complete list (for version 0.0.2.x, if not applicable to later versions anymore, please update the below lists): | + | The X2Go Session Broker uses several more configuration files. Below is a complete list (for version 0.0.2.x, if not applicable to later versions anymore, please update the below lists). The files are linked to their initial layout (in X2Go Git) to show what they look like directly after installation of the session broker packages. |
__X2Go Session Broker' | __X2Go Session Broker' | ||
Line 106: | Line 143: | ||
[[http:// | [[http:// | ||
[[http:// | [[http:// | ||
+ | |||
+ | ==== Configuration of X2Go Session Broker Authentication Service ==== | ||
+ | |||
+ | The authentication service normally does not need any configuration, | ||
__X2Go Session Broker Authentication Service:__ | __X2Go Session Broker Authentication Service:__ | ||
Line 144: | Line 185: | ||
Where... | Where... | ||
* ''< | * ''< | ||
- | * ''< | + | * ''< |
- | * ''< | + | * ''< |
**Example: | **Example: | ||