WHBMP

Backups and restore

Oct 15, 2026

What you must back up

What Why
The database Clients, orders, invoices, settings, everything
.env Holds the APP_KEY. Without the same key, encrypted values (gateway keys, SMTP password, server passwords, 2FA secrets) cannot be read
storage/app/private Ticket attachments, email attachments, license keys (licensing), downloads, receipts
public/cms-uploads, public/branding-uploads and page-builder uploads Images you uploaded
Any folder you set in File Storage Files kept outside the app
plugins/ Only if you added plugins by hand. Store plugins can be re-installed.

Make a database backup

  • Automatic before updates: the updater makes one. See Updating.

  • Offsite and automatic: install S3 Backup.

  • By hand with mysqldump:

    mysqldump --single-transaction -u USER -p DATABASE | gzip > whbmp-$(date +%F).sql.gz
    
  • cPanel: Backup or phpMyAdmin > Export.

Restore

  1. Put the files back (the same version of WHBMP, your .env, storage/app/private).

  2. Create an empty database and point .env at it.

  3. Import the dump:

    gunzip < whbmp-2026-10-14.sql.gz | mysql -u USER -p DATABASE
    

    or use WHBMP's own command for the backups the updater made:

    php artisan whbmp:restore-database
    
  4. Run php artisan optimize:clear.

  5. Check System > System Health, then press Check Now on the License page.

How often

  • Database: at least daily, more often if you take many orders.
  • Files: daily or weekly.
  • Keep several generations and test a restore now and then.

Keep backups safe

Backups contain client data. Store them encrypted and away from the server. S3 Backup can encrypt before upload.

Powered by WHBMP