Deployment guide

Live Helper Chat

Overview

Live Helper Chat is a mature, open source live chat and helpdesk platform. It adds a real-time chat widget to your website and gives your team a full operator console to answer it. Visitors start a conversation from an embeddable widget. Operators handle chats from a browser-based agent panel with canned responses, departments and transfers, chat history, visitor details, file sharing and offline messages.

A REST API, webhooks and a chat bot layer let you plug in your own automation or a third-party assistant. Everything is stored in a database on the instance itself, so your customer conversations stay under your control.

The SecureAnyCloud image ships Live Helper Chat 4.87v, served by nginx and PHP 8.3 FPM on a hardened Ubuntu 24.04 LTS base that is patched at build time. A bundled local MariaDB server makes the appliance complete and useful on its own. Live Helper Chat runs behind an nginx reverse proxy on port 80, and the bundled MariaDB listens only on the loopback interface (127.0.0.1:3306).

The first boot of every VM generates a unique operator password. The platform detects the request host automatically, so the operator panel and the visitor widget work at whatever public IP or domain you point at the VM.

What you get:

  • Live Helper Chat 4.87v served by nginx and PHP 8.3 FPM, managed by systemd
  • A bundled MariaDB server holding the Live Helper Chat database, already installed with the full, up-to-date schema
  • The operator panel served on :80 at /index.php/site_admin, and an embeddable visitor chat widget
  • A per-minute systemd timer running Live Helper Chat's own cron for offline message mail, online status timeouts and bot scheduling
  • A per-VM operator password generated on first boot and recorded in a root-only file
  • No shipped default login: the operator is created with a unique per-VM secret, and no known or blank credential authenticates
  • A hardened Ubuntu 24.04 LTS base, patched at build time, with unattended security upgrades enabled
  • 24/7 SecureAnyCloud support

Before you begin

You need an Azure subscription, permission to create a virtual machine, and an SSH key pair so that you can retrieve the generated operator password.

Open inbound port 22 (SSH) and port 80 (HTTP) on the VM's network security group. For production, also open port 443 and put a TLS certificate in front of the platform (see Production hardening below).

Deploy from the Azure Marketplace

  • In the Azure portal, search the Marketplace for Live Helper Chat on Ubuntu 24.04 LTS by SecureAnyCloud and select Create.
  • Choose your subscription, resource group and region.
  • Pick a VM size. Standard_B2s (2 vCPU, 4 GiB) is a comfortable starting point for a small team. Scale up for higher chat volumes.
  • Under Administrator account, select SSH public key, set the username to azureuser, and paste your public key.
  • Under Inbound port rules, allow SSH (22) and HTTP (80).
  • Review and create the VM. When deployment finishes, note the VM's public IP address.

Deploy from the Azure CLI

Alternatively, create the VM from the command line. Replace the image URN, resource group and SSH key path with values that match your environment:

az vm image terms accept --urn sac1647283583153:live-helper-chat-ubuntu-24-04:default:latest
az vm create \
  --resource-group my-resource-group \
  --name live-helper-chat \
  --image sac1647283583153:live-helper-chat-ubuntu-24-04:default:latest \
  --size Standard_B2s \
  --admin-username azureuser \
  --ssh-key-values ~/.ssh/id_rsa.pub \
  --public-ip-sku Standard
az vm open-port --resource-group my-resource-group --name live-helper-chat --port 80 --priority 900

Retrieve your operator password

Live Helper Chat ships no default login. On the first boot of every VM, a one-shot service generates a unique operator password and writes it to a root-only file. SSH in as azureuser to read it:

ssh azureuser@<vm-public-ip>

Confirm that the platform services are running. nginx serves the platform on port 80, PHP 8.3 FPM runs the application, and MariaDB holds the data:

systemctl is-active nginx php8.3-fpm mariadb live-helper-chat-firstboot

The bundled MariaDB is bound to the loopback interface only, so it is never reachable from the network. Only nginx on port 80 is public. Check the listeners:

ss -tlnp | grep -E ':80 |:3306 ' | sed 's/ */ /g'

Now read the generated credentials. The file records the operator username, the per-VM password and the URLs:

sudo cat /root/live-helper-chat-credentials.txt

The password is unique to this VM. Keep it somewhere safe.

Sign in to the operator panel

Open the operator panel in your browser at http://<vm-public-ip>/index.php/site_admin. Sign in with the username admin and the password from the credentials file.

The operator dashboard

After you sign in, you land on the operator dashboard, the live console your team works from. It shows online operators, online visitors browsing your site in real time, department statistics, and panels for pending, active, group and bot chats. Incoming chats appear here for an operator to accept.

Managing chats

The Chats area lists your chat history. You can search by chat ID, visitor nickname, e-mail, phone, department, operator or user group. From here you review past conversations, reopen a chat, download transcripts and manage what your team has handled.

Embed the visitor chat widget on your site

To put the chat widget on your own website, open Settings > System configuration > Embed code in the operator panel. Choose your options and copy the generated JavaScript snippet into your site's pages.

Live Helper Chat detects the request host automatically. The widget talks back to whichever public IP or domain you use to reach the VM, so you need no base URL configuration to get started.

Configuration and administration

Use the System configuration area to administer the platform. It covers time zone and mail settings, e-mail templates, languages, GEO detection, synchronization and sound, operators and groups, roles and permissions, password requirements, audit logs, and the embed code and live help configuration for the visitor widget.

Verify the deployment

nginx serves an unauthenticated health endpoint on port 80 for load balancer probes:

curl -sI http://127.0.0.1/healthz | head -1

The operator panel responds on port 80 and redirects an unauthenticated request to the sign-in page:

curl -s -o /dev/null -w 'operator panel /index.php/site_admin -> HTTP %{http_code}\n' http://127.0.0.1/index.php/site_admin

The image ships a security round-trip check. It proves that the per-VM operator password authenticates, that a blank password and common weak guesses are rejected, and that the account is enabled:

sudo bash /usr/local/sbin/live-helper-chat-cred-roundtrip.sh

Run a quick platform summary to confirm that the schema is complete and the platform is serving:

curl -s -o /dev/null -w 'healthz -> HTTP %{http_code}\n' http://127.0.0.1/healthz
sudo mariadb --protocol=socket -uroot -N -e "SELECT CONCAT((SELECT COUNT(*) FROM information_schema.tables WHERE table_schema='livehelperchat'),' tables, ',(SELECT COUNT(*) FROM livehelperchat.lh_users),' operator(s), ',(SELECT COUNT(*) FROM livehelperchat.lh_departament),' department(s)')"

Where your data lives

Live Helper Chat's application code lives under /var/www/livehelperchat/lhc_web. The platform configuration is in settings/settings.ini.php, which is protected from the web and holds the loopback database password.

All of your chats, operators, departments, configuration and uploaded files are stored in the bundled MariaDB database livehelperchat and under lhc_web/var. Both are on the VM's OS disk and captured into the image. The database engine is bound to 127.0.0.1 only. For on-box database maintenance, sudo mariadb connects as the local root user over a Unix socket with no password.

Production hardening

  • Use your own domain and TLS. Point a DNS record at the VM's public IP, then front Live Helper Chat with HTTPS (for example an Azure Application Gateway, a load balancer or a TLS-terminating reverse proxy). Open port 443 on the network security group.
  • Restrict access. Keep SSH (22) limited to trusted IP ranges in the network security group.
  • Back up the database. Schedule regular dumps of the livehelperchat database, for example with mysqldump, and copy them off the VM.
  • Scale for volume. Increase the VM size. For very high chat volumes, review Live Helper Chat's optional Node.js realtime server in the project documentation.
  • Keep it patched. The base ships with unattended security upgrades enabled. Keep them on.

Support

SecureAnyCloud builds and maintains this image and provides 24/7 support. If you need help deploying or operating Live Helper Chat on Azure, contact SecureAnyCloud support through secureanycloud.com.

Deploy on Azure

Launch Live Helper Chat on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.

View this image

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on Azure