# Imunify360 Install, Licence and Uninstall Commands (Tested on cPanel)

Source: https://srvscripts.com/guides/imunify360-install-license-uninstall-commands/
Updated: 2026-10-17
Publisher: srvScripts (https://srvscripts.com/)

**Short answer:** for an Imunify360 install, download the installer with `wget https://repo.imunify360.cloudlinux.com/defence360/i360deploy.sh`, check the server with `bash i360deploy.sh --check`, then install with `bash i360deploy.sh --key YOUR_KEY`. If the licence is tied to the server’s IP address (an IPL licence, for example one that came with the server), install with `bash i360deploy.sh` and run `imunify360-agent register IPL`. To remove Imunify360 and keep the free ImunifyAV scanner, run `bash i360deploy.sh --uninstall --downgrade`. Without `--downgrade` it removes everything.

In short: for an Imunify360 install, download the installer with wget https://repo.imunify360.cloudlinux.com/defence360/i360deploy.sh, check the server with bash i360deploy.sh --check, then install wi…

What we tested: on 11 October 2026 we installed Imunify360 8.14.1 with `i360deploy.sh` 2.155 on our cPanel lab (cPanel & WHM 138.0 build 15, AlmaLinux 9.8), without a licence. We ran the licence commands, so the licence errors below are real output. We then removed it with `--uninstall --downgrade` and checked what was left. Not tested, because we have no paid licence: registering a real key, `update-license` on a licensed server, and a plain `--uninstall` or `--purge` of Imunify360. Those come from the installer’s own help and the Imunify documentation.

## i360deploy.sh options

The installer prints its options with `bash i360deploy.sh -h`. These are the ones from version 2.155:

| Option | What it does |
| --- | --- |
| --check | Checks whether Imunify360 can be installed on this server, installs nothing |
| -k, --key KEY | Installs and registers with an activation key |
| (no option) | Installs without registering; this is the default, so you can register later |
| -c, --uninstall | Uninstalls Imunify360 |
| --downgrade | With --uninstall: keeps ImunifyAV installed |
| --purge | With --uninstall: also removes configuration and state files |
| --beta | Installs from the testing repository |
| --post-os-upgrade | Run after a Debian/Ubuntu dist-upgrade |
| -y, --yes | No prompts; needed for unattended installs |
| --version | Prints the installer version |

## Imunify360 install with i360deploy.sh

The same installer works on cPanel, DirectAdmin and Plesk, and on servers without a panel. Run it as root:

```
wget https://repo.imunify360.cloudlinux.com/defence360/i360deploy.sh -O i360deploy.sh
bash i360deploy.sh --check                 # "Compatibility check passed. System is compatible with Imunify360."
bash i360deploy.sh --key YOUR_KEY          # key from CloudLinux Network (cln.cloudlinux.com)
# or, for an IP-based licence:
bash i360deploy.sh && imunify360-agent register IPL
```

On our lab the install downloaded about 90 MB and took 2 minutes 20 seconds. It ended with `Imunify360 is started` and `Success`, and the full log is in `/var/log/i360deploy.log`. Two things looked alarming but were not:

- The log showed `Error in POSTIN scriptlet in rpm package imunify360-ossec`. The install still finished, and the OSSEC service was running afterwards.

- On a cPanel server that already has ImunifyAV, the `imunify-antivirus` package stays installed. The `imunify360-firewall` package depends on it, because it is the malware scanner inside Imunify360. What changes is the WHM plugin: the ImunifyAV page is replaced by the Imunify360 one. Without `-y`, the installer asks before it replaces ImunifyAV.

On DirectAdmin, see [Install Imunify360 on DirectAdmin](/guides/install-imunify360-directadmin/) for the panel-specific settings.

## Licence: key or IP-based (IPL)

| Licence type | Where it comes from | Command |
| --- | --- | --- |
| Activation key | Bought or trialled in CloudLinux Network (CLN); the key is also in the purchase email | imunify360-agent register YOUR_KEY |
| IP-based (IPL) | Licence bound to the server’s IP address | imunify360-agent register IPL (the literal word IPL, not the IP) |

The free trial is 14 days, with unlimited users, and starts from the Imunify360 or CLN website. Paid licences are sold by the maximum number of hosting accounts on the server: 1, 30, 250 or unlimited. Useful licence commands:

```
imunify360-agent rstatus              # OK when the licence is valid
imunify360-agent rstatus --json -v    # details
imunify360-agent update-license       # refresh, e.g. after the account count changes
imunify360-agent unregister           # release the licence before moving it to another server
imunify360-agent register NEW_KEY     # apply a different key (unregister first)
```

These are the messages we got on our unlicensed lab, so you can recognise them:

```
# imunify360-agent rstatus
WARNING: License is invalid for current server

# imunify360-agent register IPL
WARNING: {"success":false,"message":"IP license not found for 64.235.58.77","data":null,"type":"no_ip"}
```

`IP license not found for <IP>` means no IP licence exists for the address the licence server sees. Check that the IP in the message is the one the licence was bought for. Behind NAT, or on a server whose outgoing traffic leaves from another address, they can differ. If you have an activation key instead, use `register YOUR_KEY`.

## Check the version, update and force update

```
imunify360-agent version                 # e.g. 8.14.1
rpm -q imunify360-firewall               # dpkg -l imunify360-firewall on Ubuntu
yum update imunify360-firewall           # normal update (staged roll-out)
apt-get update && apt-get install --only-upgrade imunify360-firewall   # Ubuntu
```

Imunify releases updates in stages. To install the newest version before the roll-out reaches you, and to roll back, see [Imunify360 force update and rollback](/guides/imunify360-force-update-rollback/). The same `imunify-force-update.sh` script serves ImunifyAV; we tested it on ImunifyAV in our [ImunifyAV uninstall and update guide](/guides/imunifyav-cpanel-uninstall-update-commands/).

## Uninstall Imunify360

| Goal | Command |
| --- | --- |
| Remove Imunify360, keep the free ImunifyAV scanner | bash i360deploy.sh --uninstall --downgrade |
| Remove Imunify360 completely | bash i360deploy.sh --uninstall |
| Remove it and its configuration and state files | bash i360deploy.sh --uninstall --purge |

If you plan to use the licence on another server, run `imunify360-agent unregister` first.

We tested `--uninstall --downgrade -y`. It took 55 seconds, and ImunifyAV was working afterwards: `rstatus` printed OK, a test scan of 3,812 files ran, and the WHM page was back. The package list matched our original ImunifyAV install. The script still ended with exit code 1 and this message:

```
WARNING: Package imunify-realtime-av-imrt2 is missing.
ERROR: Some ImunifyAV packages are missing. Manual intervention may be required.
```

On our server this was a false alarm: that package was never part of the free ImunifyAV install. Check ImunifyAV yourself with `imunify-antivirus rstatus` and a quick scan, and only intervene if those fail. If ImunifyAV really is broken, reinstall it with `bash imav-deploy.sh`.

### What the uninstall leaves behind

This is what we found after `--uninstall --downgrade` without `--purge`:

| Leftover | Size or detail | Safe to remove? |
| --- | --- | --- |
| /var/ossec | 1.7 MB | Yes, once Imunify360 is gone |
| /etc/imunify360-webshield | 544 KB | Yes |
| /usr/share/imunify360-webshield | 20 KB | Yes |
| Empty imunify360_ossec chain in iptables and ip6tables | No rules, nothing points to it | Yes, with iptables -X once you have confirmed it is empty |
| Users imunify360-webshield, ossec, ossecr, ossecm, ossece | No processes left | Yes |
| /etc/sysconfig/imunify360, /var/imunify360 | 172 KB, 192 MB | No, ImunifyAV uses them |

This is how we cleaned up. Each step checks before it deletes:

```
for t in iptables ip6tables; do
  [ "$($t -S imunify360_ossec 2>/dev/null | grep -vc '^-N')" = 0 ] && \
  [ "$($t -S | grep -c -- '-j imunify360_ossec')" = 0 ] && $t -X imunify360_ossec
done
rm -rf /var/ossec /etc/imunify360-webshield /usr/share/imunify360-webshield
for u in imunify360-webshield ossec ossecr ossecm ossece; do ps -u $u >/dev/null || userdel $u; done
systemctl daemon-reload && systemctl reset-failed
```

## Stop cPanel from installing Imunify360

cPanel has a background task that installs Imunify360 and keeps retrying if the install fails. We read it on our cPanel 138 server, in `Cpanel/TaskProcessors/ImunifyTasks.pm`. The task skips the install, and stops retrying, when this file exists:

```
touch /var/cpanel/noimunify360
```

The ImunifyAV equivalent is `/var/cpanel/noimunifyav`.

## Logs

| File | What it holds |
| --- | --- |
| /var/log/i360deploy.log | Install and uninstall runs of i360deploy.sh |
| /var/log/imunify360/console.log | Main agent log |
| /var/log/imunify360/error.log | Agent errors |
| /var/ossec/logs/ | OSSEC (intrusion detection) logs while Imunify360 is installed |

## Common problems

- **“License is invalid for current server”.** The server has no valid registration. Run `imunify360-agent register YOUR_KEY` or `register IPL`.

- **“IP license not found for x.x.x.x” (type no_ip).** No IP licence exists for that address. Compare it with the IP on your licence, or use a key.

- **Error in POSTIN scriptlet for imunify360-ossec during install.** On our lab the install still succeeded and OSSEC ran. Check the end of `/var/log/i360deploy.log` for `Success`.

- **“Some ImunifyAV packages are missing” after --downgrade.** Check that ImunifyAV works (`imunify-antivirus rstatus`, then a scan) before doing anything; on our lab it was a false alarm.

- **imunify360-agent works, but Imunify360 is not installed.** On ImunifyAV servers `imunify360-agent` is a link to `imunify-antivirus`. Check with `rpm -q imunify360-firewall`.

- **Imunify360 is missing from WHM after the install.** See [Imunify360 missing from WHM](/guides/fix-imunify360-missing-from-whm/).

- **After an OS upgrade.** See [Imunify360 after an OS upgrade](/guides/imunify360-after-os-upgrade/); on Debian and Ubuntu, `--post-os-upgrade` exists for this.

Vendor reference: the [Imunify360 documentation](https://docs.imunify360.com/).

## Frequently asked questions

### How do I activate an Imunify360 IP-based licence?

Run imunify360-agent register IPL as root. IPL is a literal word, not the server’s IP address. Check with imunify360-agent rstatus, which prints OK when the licence is valid.

### How do I uninstall Imunify360 but keep ImunifyAV?

Run bash i360deploy.sh --uninstall --downgrade. Without --downgrade the installer removes Imunify360 completely, including the malware scanner.

### Does installing Imunify360 remove ImunifyAV?

The ImunifyAV WHM page is replaced by Imunify360, but the imunify-antivirus package stays, because Imunify360 uses it as its malware scanner. This is what we saw on cPanel 138.

### What does IP license not found mean?

The licence server has no IP-based licence for the IP shown in the message. Make sure it is the IP the licence was bought for, or register with an activation key instead.

### How do I move an Imunify360 licence to a new server?

Run imunify360-agent unregister on the old server, then imunify360-agent register YOUR_KEY on the new one. An IP-based licence is tied to the old IP, so ask whoever sold it to move it to the new address.
