Upgrading Linux on Texis/Webinator Server

Description: Steps to help troubleshoot Texis/Webinator when updating Linux

Categories: Webinator, Texis

Link to this article: Select all

[url=https://forums.thunderstone.com/app.php/kb/viewarticle?a=3&sid=6223b4888add2c5063f51ba5828ce0b4]Knowledge Base - Upgrading Linux on Texis/Webinator Server[/url]

If you upgrade the Linux version on a server running Texis/Webinator there are a couple of things to look out for.

Systemd

If you are upgrading to a systemd based system then you may want to create a service file so systemd will start and stop the texis monitor process correctly. New texis versions will include and install a service, but if you are upgrading an older system there may not be one. Here is an example file you can use for systemd:

Code: Select all

[Unit]
Description=Thunderstone Texis Monitor
Conflicts=shutdown.target
After=network.target nss-lookup.target httpd.service
# We'd really prefer Before httpd to ensure monitor is running before any
# potential cgi-bin/texis usage, but doing After makes shutdown stop us before
# httpd. That ensures a cgi spawned monitor doesn't prevent httpd from stopping.

[Service]
# kill monitor that may have be started by someone else, e.g. httpd
ExecStartPre=-/usr/local/morph3/bin/monitor -k
ExecStart=/usr/local/morph3/bin/monitor
ExecStop=/usr/local/morph3/bin/monitor -k
Type=forking
Restart=always

[Install]
WantedBy=multi-user.target
SELinux

Another possible problem is SELinux as the texis monitor will run in the httpd context by default.

Typical symptoms of selinux blocking texis are messages like
011 Texis Monitor process failed to create license segment
000 Cannot get config settings
when trying to access with a web browser.

You can check the security context (assuming default installation location as user texis ) with:

Code: Select all

ls -lZ /usr/local/morph3/bin/monitor /var/www/cgi-bin/texis
and should see the result (size and date may vary depending on version):

Code: Select all

-r-sr-xr-x. 1 texis texis unconfined_u:object_r:usr_t:s0                          10733208 Dec 24  2020 /usr/local/morph3/bin/monitor
-r-sr-xr-x. 1 texis texis unconfined_u:object_r:httpd_unconfined_script_exec_t:s0 10733208 Dec 24  2020 /var/www/cgi-bin/texis
To set the context on the CGI program you can use:

Code: Select all

chcon --type=httpd_unconfined_script_exec_t /var/www/cgi-bin/texis