Installation
MokoWaaS is distributed as a Joomla package (pkg_mokowaas) containing three extensions. It can be installed via the standard Joomla Extension Manager.
Requirements
| Requirement | Minimum |
|---|---|
| Joomla | 5.0.0+ |
| PHP | 8.1.0+ |
The installer checks both requirements during preflight and aborts with an error message if either is not met.
Method 1: Upload Package File
- Download the latest
pkg_mokowaas.zipfrom the Gitea Releases page. - In Joomla admin, navigate to System > Install > Extensions.
- On the Upload Package File tab, drag and drop or browse to select
pkg_mokowaas.zip. - Click Upload & Install.
- Verify the success message. The package installs three extensions:
plg_system_mokowaas(System Plugin)com_mokowaas(Component)plg_webservices_mokowaas(Webservices Plugin)
Method 2: Install from URL
- In Joomla admin, navigate to System > Install > Extensions.
- On the Install from URL tab, enter the direct download URL for the package ZIP, e.g.:
https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/stable/pkg_mokowaas-latest.zip - Click Install.
- Verify the success message.
Post-Installation Verification
After installation, verify the following:
- Plugin enabled: Navigate to System > Plugins and confirm "System - MokoWaaS" is enabled (it is auto-enabled during installation).
- Health token generated: Open the plugin configuration and check the Diagnostics tab. The
health_api_tokenfield should contain an auto-generated token. - Branding applied: The admin login page and dashboard should reflect MokoWaaS branding (logo, colors, footer text).
- Health endpoint: Test the health endpoint:
curl -sk -H "Authorization: Bearer <token>" "https://yoursite.com/?mokowaas=health" - Grafana heartbeat: Check the admin message queue for a Grafana heartbeat confirmation message.
What the Installer Does
During postflight, the installer script performs these operations:
| Step | Description |
|---|---|
| Enable and protect plugin | Sets enabled=1, protected=1, locked=0 in #__extensions |
| Install MokoOnyx template | Installs the bundled MokoOnyx site template from the plugin payload, sets it as default |
| Language overrides | Deploys language override files for en-GB and en-US |
| Login support URLs | Updates mod_loginsupport to point to Moko Consulting support/docs/news URLs |
| Atum branding | Applies brand colors to the Atum admin template |
| Action log registration | Registers MokoWaaS in the Joomla action log system |
| Health token provisioning | Generates a random API token if one does not exist |
| Heartbeat | Sends a registration heartbeat to the Grafana monitoring receiver |
Automatic Updates
MokoWaaS includes an update server configuration that enables automatic update notifications through Joomla's built-in update system.
The update server URL is:
https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/raw/branch/main/updates.xml
When a new version is available:
- Joomla's update checker detects the new version from
updates.xml. - A notification appears in the admin dashboard.
- Navigate to System > Update > Extensions to install the update.
- The
postflightscript runs again, re-applying all configuration steps.
Upgrading from Standalone Plugin to Package
If you previously installed the standalone plg_system_mokowaas plugin (before it was packaged as pkg_mokowaas), the package installer handles migration automatically:
- Install the
pkg_mokowaas.zippackage using either method above. - The package installer detects the existing standalone plugin and upgrades it in place.
- The additional extensions (
com_mokowaas,plg_webservices_mokowaas) are installed alongside. - All existing plugin settings are preserved.
- The
protectedflag is set on all package extensions.
No manual cleanup of the old standalone plugin is required.
Uninstallation
Uninstallation is restricted to the master user. See Plugin Protection for details.
When the master user uninstalls via the Extension Manager:
- Language override files are removed from Joomla's global override directories.
- Action log registration is cleaned up.
- An uninstall notification is sent to the monitoring system.
- The package and all sub-extensions are removed.