Update
Check for and install updates to keep your Mumara Campaigns installation current with the latest features and security patches.
Overview
Navigate to Tools → Update to open the Update Wizard. The wizard guides you through the entire update process in a step-by-step flow:
- Pre-flight Checks — Verify requirements, configure file transfer, and optionally create a backup
- Download — Download the update package from the server
- Extract — Extract the update archive
- Install Files — Copy updated files to the application directory
- Database & Cache — Run database migrations and clear caches
- Complete — Cleanup and confirmation
A numbered step indicator at the top of the page shows your current progress. Each step must complete successfully before the wizard advances to the next.
Step 1: Pre-flight Checks
When you open the Update page, the system automatically runs a series of checks.
Version Information
Two version badges are displayed:
| Badge | Description |
|---|---|
| Current Version | The version currently installed on your server |
| Latest Version | The newest version available from Mumara servers |
If both versions match, an "Already up to date" message is shown with the update button disabled. You can click Force reinstall? to re-download and reinstall the current version if needed (e.g. to repair corrupted files).
The last update date is also shown if a previous update was performed.
Update Channel
Three release channels are exposed as radio options. Each shows the resolved version it would install, so you always see exactly what's about to land on your server.
| Channel | When To Use | Behaviour |
|---|---|---|
| Stable | Production installations (default) | Installs the latest production release. Honours the standard Already up to date / Force reinstall logic against the current version. |
| Beta | Staging or pre-release validation | Installs the latest beta build advertised by the update server. The badge next to the radio shows the beta version (e.g. v7.1-beta2). If no beta is currently published, the radio is disabled with an Unavailable badge. |
| Specific version | Pinned upgrade or downgrade | Installs an exact version you type in (X.Y or X.Y.Z, validated client-side). Useful for re-installing a known-good release or rolling back. |
Switching to Beta or Specific version automatically suppresses the Already up to date check — you're explicitly asking for a build different from "latest stable", so the comparison no longer applies. Selecting Beta or Specific version also asks you to confirm before kicking off the download, since both can result in pre-release or downgrade installs.
The Begin Update button label updates to reflect the choice — Begin Update, Force Reinstall, Install Beta v7.1-beta2, or Install v6.5.5.
Beta and specific-version installs may include unfinished features or incompatible schema changes. Create a backup in the section below before switching off the Stable channel.
System Requirements
The wizard checks that your server meets all requirements for the update:
- PHP version — Minimum PHP version required by the new release
- PHP extensions — Required extensions (e.g. mbstring, openssl, curl, zip)
- Other dependencies — Any additional server-side requirements
Each requirement shows a green check or red cross indicating pass/fail status. If a required item fails, the update button is disabled until the issue is resolved.
File/Folder Permissions
The system verifies that key directories and files are writable by the web server process. Each path shows a check or cross icon. Fix any permission issues before proceeding.
File Transfer Method
Choose how updated files are copied to the application directory:
| Method | Description |
|---|---|
| Direct Copy | Copies files directly on the filesystem (default, recommended when PHP runs as the web server user) |
| FTP | Transfers files via FTP — useful when PHP doesn't have direct write access |
| SFTP | Transfers files via SFTP (SSH) — secure alternative to FTP |
When FTP or SFTP is selected, additional fields appear:
| Field | Description |
|---|---|
| Host | FTP/SFTP server address (default: 127.0.0.1) |
| Port | Connection port (default: 21 for FTP, 22 for SFTP) |
| Username | FTP/SFTP username |
| Password | FTP/SFTP password |
| Mumara Path | Absolute path to the Mumara installation on the FTP server (e.g. /var/www/mumara) |
Use Test Connection to verify the credentials before proceeding, and Save FTP Settings to persist them for future updates.
Backup (Optional)
Before updating, you can create a backup of your application files, database, or both.
| Option | Description |
|---|---|
| Backup Files | Creates a compressed archive of the application directory |
| Backup Database | Creates a database dump |
Backup availability depends on server-side tools. If required tools (e.g. tar, mysqldump) are not installed, the corresponding option will be disabled with a message indicating which tools are missing.
Click Create Backup to start. The backup runs in the background with a live progress display showing:
- Current phase (files or database)
- Elapsed time
- Completion status for each component
You can Abort a running backup if needed — this kills the backup process and cleans up any partial files.
Existing Backups
Previously created backups are listed below the backup controls, showing:
- Version number and date
- File names and sizes
- Total backup size
You can delete old backups to free up disk space by clicking the trash icon next to each backup.
Change Log
A scrollable list shows the changes included in each version since your last update. Review this to understand what's new before proceeding.
Begin Update
Once all checks pass, click Begin Update to start the automated update process. If you configured FTP/SFTP settings, they are saved automatically before the update begins.
Step 2: Download
The wizard downloads the update package from the Mumara update server. Progress is shown in a log console at the bottom of the step. If the download fails (e.g. network issues), the wizard stops and you can retry.
Step 3: Extract
The downloaded archive is extracted to a temporary location. The log shows extraction progress and any errors encountered.
Step 4: Install Files
Updated files are copied to the application directory using the file transfer method configured in Step 1 (Direct Copy, FTP, or SFTP). The vendor directory is replaced entirely during this step.
Do not close the browser or navigate away during this step. Interrupting file installation could leave the application in a broken state.
Step 5: Database & Cache
Database migrations run automatically to update the database schema, followed by cache clearing (config, route, view, and application caches). The log shows each migration and cache command as it executes.
Step 6: Complete
A success screen confirms the update is complete. The cleanup step removes temporary files (downloaded archive and extracted directory).
Click Go to Dashboard to return to the main application.
CLI Update (Bash Script)
For servers managed via SSH, Mumara provides a set of one-line bootstrap commands that mirror the wizard's Stable / Beta / Specific Version channels. They're useful for automated deployments, or when the web interface is unavailable (broken assets, locked-out admin, etc.).
Choosing a Channel
The three bootstraps are functionally identical except for which release channel they target. SSH to your server, navigate to the physical directory where Mumara is installed (the directory containing the version file), and run the appropriate command below.
Stable channel
Installs the latest production release — the default for ongoing maintenance.
curl -o update_mumara -L https://dl.mumara.com/campaigns/update_mumara && sh update_mumara
Beta channel
Installs the latest beta build for pre-release validation.
curl -o update_mumara_beta -L https://dl.mumara.com/campaigns/update_mumara_beta && sh update_mumara_beta
Beta releases may include unfinished features, incompatible schema changes, or known bugs. Run them on staging environments or after creating a verified backup.
Specific version
Pins the install to an exact version — useful for re-installing a known-good release or rolling back. The script will prompt for the target version interactively (e.g. 6.5.5).
curl -o update_mumara_version -L https://dl.mumara.com/campaigns/update_mumara_version && sh update_mumara_version
Ioncube 10 → 12 converter
Older installations may still ship with Ioncube version 10. Mumara requires Ioncube 12+ on PHP 8.4. If your installation was built using the command-line tool with the older loader, run this from the home directory to upgrade Ioncube before attempting an update:
cd /home && curl -o mumara_ioncube10_to_12_converter.sh -L https://dl.mumara.com/mumara_ioncube10_to_12_converter.sh && sh mumara_ioncube10_to_12_converter.sh
The standard CLI updaters (update_mumara*) auto-detect a stale Ioncube loader and refresh it as part of the PHP upgrade step. The standalone converter is only needed if you've hit a Failed loading ioncube_loader or undefined symbol: zend_observer_fcall_end error before getting that far.
How the Bootstraps Work
All three bootstrap scripts:
- Confirm
wget,curl, andunzipare installed (prompts for confirmation). - Write a marker file to
/tmp/mumara_versiontype.XXXXXXcontaining one of:alpha(stable),beta, orspecific_version. - Download
update.shfromdl.mumara.com/campaigns/update.sh. - Run
update.sh, which reads the marker file and selects the appropriate channel when calling the upstream license server.
The marker tempfile is automatically cleaned up on exit, regardless of whether the update succeeds.
What update.sh Does
Once the bootstrap hands off to update.sh, the same sequence runs for all three channels:
- Verifies the license key and server IP with the update server (using the channel-specific
typeparameter). - Downloads the update package to
storage/app/private/update/archive/. - Extracts files to
storage/app/private/update/package/. - Clears caches (config, route, view).
- Removes the old
vendor/directory and copies new files. - Upgrades PHP to 8.4 if the current version is lower (auto-detects OS and installs from Remi/Ondrej repos). Refreshes the ionCube loader to match.
- Runs the post-copy upgrade sequence via
php artisan upgrade:run— version-specific cleanup,migrate --force, cache rebuild. - Adds the legacy
public/rewrite to.htaccessfor installs upgrading from<= 6.6.2. - Cleans up temporary files and the marker tempfile.
Optional Pre-Update Backup
Early in update.sh, you'll be asked whether to create a pre-upgrade database backup (defaults to yes). Backups are written to storage/backups/cli_v{version}_{timestamp}/database.sql.gz using mysqldump. If mysqldump isn't available, the script asks whether to proceed without a backup.
Supported Operating Systems
The CLI update script supports:
- AlmaLinux 8, 9, 10
- CentOS 7, 8
- Rocky Linux 8, 9
- Debian 11+
- Ubuntu 20.04, 22.04, 24.04
Post-Update Verification
After any CLI update, verify the installation:
# Check the new version
cat version
# Verify PHP version
php -v
# Verify config cache
php artisan config:cache
# Check for errors
tail -20 storage/logs/laravel.log
Troubleshooting
Pre-flight Check Failures
Possible causes:
- PHP version too old for the new release
- Required PHP extension not installed or enabled
- File/folder permission issues
Solutions:
- Upgrade PHP to the required version
- Install missing extensions via your OS package manager or php.ini
- Fix permissions: ensure the web server user can write to the listed paths
Download Fails
Possible causes:
- Network connectivity issues between your server and the Mumara update server
- Firewall blocking outbound HTTPS connections
- Insufficient disk space
Solutions:
- Verify your server has outbound internet access
- Check firewall rules for HTTPS (port 443)
- Free up disk space before retrying
FTP/SFTP Connection Fails
Possible causes:
- Incorrect credentials or port
- FTP/SFTP server not running
- Wrong Mumara path on the remote server
Solutions:
- Verify credentials by testing the connection with the Test Connection button
- Confirm the FTP/SFTP service is running on the expected port
- Double-check the Mumara path matches the actual installation directory
Update Fails Mid-Process
Possible causes:
- File permission errors during installation
- Database migration conflict
- Server timeout
Solutions:
- If you created a backup, restore it and retry
- Check PHP error logs for specific error messages
- Increase PHP
max_execution_timeif timeouts occur - Contact support with the error details from the update log
Post-Update Issues
Possible causes:
- Browser cache serving old assets
- Incomplete migration
- Cache not properly cleared
Solutions:
- Clear your browser cache or do a hard refresh
- Navigate to Tools → Update and click Refresh to re-check the current state
- Run
php artisan cache:clearandphp artisan config:clearmanually if needed - Check Debug Logs for error details
Best Practices
- Always create a backup before updating, especially for production environments
- Review the change log to understand what's changing before proceeding
- Test FTP/SFTP first if using remote file transfer — a failed connection mid-update can leave files in an inconsistent state
- Schedule updates during low-traffic periods to minimize disruption
- Keep backups of at least the last version in case you need to roll back
- Delete old backups periodically to reclaim disk space
Next Steps
- Debug Logs - Check for errors after updating
- Cron Status - Verify background jobs are running
- Artisan Commands - Run maintenance commands manually