Loading...
 
Skip to main content

History: Realtime

Preview of version: 5

Realtime

New in Tiki25. Use built-in websockets server within Tiki to enable realtime communication features of the app.

At first for Tiki Manager Package, but will later be added to other Tiki Features.

Powered by https://packagist.org/packages/cboden/Ratchet and https://reactphp.org

This will require a special server configuration (possibly root access). tiki-check.php will indicate if server is correctly set up.

Initial commit: https://gitlab.com/tikiwiki/tiki/-/merge_requests/1638

In this documentation we are going to configure Virtualmin, but any other server can be used.

Requirements

We already have a Tiki instance up and running, on Virtualmin, now we need these three things: Proxy Settings, Realtime Service, and proxy_wstunnel, in order to make Realtime working.

1. Proxy Settings

First, let us edit Apache directives and add the ProxyPass and the ProxyPassReverse settings in the SSl virtual host. We make both point to /ws ws://localhost:8080/
To do this, we go to Virtualmin -> Services -> Configure SSL Website -> Edit Directives.
In the text box that opens, we add ProxyPass /ws ws://localhost:8080/ and ProxyPassReverse /ws ws://localhost:8080/ at the end, like shown in the picture below:

Click to expand
Click to expand

2. Realtime Service

At this step, we need to create a Systemd service to start the WS server.
N.B: Start the WS server with the same user that Tiki web requests run as (to avoid permission issues) - e.g. sudo -u www-data php tiki-realtime.php
The process is simple. Just go to Webmin -> System -> Bootup and Shutdown -> create a new system service.

Click to expand
Click to expand


In the opening form, we fill in the Service name, the service description, and the commands to run on startup. As we don't need to shut this down, we are going to leave empty the "Commands to run on shutdown" field, check Yes for Start at boot time option, and click create.
The command to run on startup is: sudo -u user PHP -d session.save_path=/home/user/tmp /home/user/public_html/tiki-realtime.php
Replace user with your user

Click to expand
Click to expand


After this, you can check the content of your system service, and it should look something similar to the image below:

Click to expand
Click to expand

3. The proxy_wstunnel

The last step here in Virtualmin is to make sure the prexy_wstunnel module is enabled.
To do this, go to Webmin -> Servers -> Apache Webserver -> Global configuration -> Configure Apache Modules, and check the proxy_wstunnel module checkbox, like in the figure below:

Click to expand
Click to expand

History

Information Version
Josue Zirimwabagabo 22
Marc Laporte Making it clear it's optional 21
Marc Laporte Link to page 20
Marc Laporte 19
Marc Laporte 18
Marc Laporte 17
Josue Zirimwabagabo 16
Josue Zirimwabagabo 15
Josue Zirimwabagabo 14
Josue Zirimwabagabo 13
Josue Zirimwabagabo Fix typos 12
Adrien 11
Adrien 10
Josue Zirimwabagabo 9
Josue Zirimwabagabo 8
Josue Zirimwabagabo 7
Josue Zirimwabagabo 6
Josue Zirimwabagabo 5
Marc Laporte 4
Marc Laporte 3
Marc Laporte 2
Marc Laporte 1