Single-file POSIX bash script with three subcommands:
install First-time install. Refuses to overwrite an existing one.
upgrade Refresh existing install. Refuses if nothing's installed yet.
check Report installed version vs latest. No changes. Exit 0/1/2
for current/outdated/not-installed (handy for cron-driven
update monitoring).
Solves the long-standing "module installed but invisible in WHMCS" trap:
when admins ran the documented `git clone | rsync` recipe as root, the
new files landed as root:root and the WHMCS web user couldn't read
them. The script reads the parent dir's owner via `stat -c '%U:%G'` and
applies it via rsync `--chown`, so a `sudo bash` install ends up with
correct ownership automatically.
Other niceties:
- --version v1.4.1 pin a specific tag (default: latest published)
- --with-addon also sync modules/addons/VirtFusionDns
- Backs up + restores config/ConfigOptionMapping.php across the
rsync --delete (the old docs warned about this; the script just
handles it).
- Writes .installed-version marker so `check` can report current state.
- Pipeable via curl OR wget — both forms documented in the script
header for ad-hoc piped invocations.
6.3 KiB
Executable File
6.3 KiB
Executable File