Skip to content 99% OFF 🎉 Anniversary Sale 99% OFF Shared Hosting Use Code HURRYUP Claim Offer 99% OFF Hosting
99% OFF Hosting — Code HURRYUP
Products
AI Website Builder New VPS Hosting Cloud Servers Web Hosting cPanel Hosting Dedicated Servers Domains
Company
About Documentation Support Center Contact Get Started Call +91 75795 45488
Login
Hosting Panel — cPanel & Billing Console Panel — VPS Management
ALL SYSTEMS OPERATIONAL
cPanel

Softaculous Installation Stuck or Failed: Causes and the Fix

Getwebup 6 min read

You clicked install in Softaculous, watched the progress bar for a while, and then either it froze somewhere in the middle or it threw a red "Installation Failed" box at you. Either way, you're now staring at a half-built WordPress (or Joomla, or WHMCS) folder and wondering whether it's safe to try again. Here's what actually causes this and how to clear it without making a bigger mess.

Symptom

A few variations of the same underlying problem, all landing on the same screen:

  • The progress bar sits at "Please Wait, Installation in progress..." for 10+ minutes with no change.
  • You get a red error banner reading something like Installation Failed! followed by a one-line reason (or sometimes no reason at all).
  • You try to reinstall to the same folder and Softaculous refuses with Destination directory is not empty!
  • The install "completes" but the site 500s or shows a database connection error the moment you open it.

Cause

Softaculous is just a wrapper — it downloads the script, creates a database, writes a config file, and runs any install routines the script needs. When one of those steps can't complete, it either hangs waiting on a response or bails out with an error. The usual culprits, roughly in order of how often we see them:

CauseWhat's actually happening
Disk quota exceededThe account has no room left to write files, so extraction stops partway through
Database limit reachedShared hosting plans cap the number of MySQL databases; Softaculous can't create a new one
Directory not emptyLeftover files from a previous failed attempt, or a placeholder index.html, block a clean install
PHP version mismatchThe domain is set to a PHP version the script doesn't support (too old or too new)
mod_security blocking the requestA WAF rule flags the install POST request as suspicious and drops it mid-transaction
Timeout on large scriptsScripts like WHMCS or Magento run long install routines that exceed max_execution_time
Stuck progress bar (false alarm)The install actually finished; the browser just lost the AJAX poll that reports status

Fix

1. Check whether it actually finished first

Before you touch anything, rule out the false alarm. Open File Manager (or SSH in) and look at the target folder:

cd ~/public_html/yourfolder
ls -la

If you see a populated wp-config.php (or equivalent config file for the script you installed) and a full set of core files, the install completed — the progress bar just never got the "done" signal, usually because of a CDN or proxy buffering the AJAX response. Load the site directly; if it works, you're done, no cleanup needed.

2. Read the actual error, not just the banner

In cPanel, go to Softaculous Apps Installer > History (top-right clock icon). Click the failed entry — the expanded view usually has the real error, which the initial red banner truncates. Look for phrases like "quota exceeded," "Access denied for user," or a mod_security rule ID.

3. Clear disk quota first — it's the most common cause

cPanel home screen > Disk Usage. If you're above ~90%, Softaculous will fail extraction partway through, which is exactly the "stuck at 40%" behavior people report. Delete old backups, log files, or unused installs before retrying:

du -sh ~/public_html/* | sort -rh | head -10

4. Check your database count against your plan's limit

cPanel home > look at the "Databases" stat in the left sidebar (or under MySQL® Databases). If you're at the cap, Softaculous's CREATE DATABASE step fails silently on some configs. Drop a database you're no longer using, or ask support to raise the limit if you're on a plan that allows it.

5. Clean out the target directory completely

A failed install often leaves partial files behind, and Softaculous refuses to overwrite a non-empty folder on the next attempt:

rm -rf ~/public_html/yourfolder/*
rm -rf ~/public_html/yourfolder/.??*

The second line catches dotfiles like a leftover .htaccess or .user.ini that * alone won't match. Then also delete the orphaned database and database user from MySQL® Databases if one was created before the failure — otherwise the retry may collide with it.

6. Match the PHP version to what the script needs

Softaculous lists the required PHP version on the script's overview page before you install. Go to MultiPHP Manager, select the domain, and set it to a supported version (most current scripts want 8.1+; a handful of older ones still need 7.4). Save, then retry the install.

7. Rule out mod_security

If the History log mentions a blocked request or you see a generic failure with no clear reason, check ModSecurity™ Tools in cPanel for hits around the install timestamp. If a rule fired against the install request, you can temporarily disable ModSecurity for that domain, run the install, and re-enable it once it's done — don't leave it off.

8. For big scripts, raise the PHP time limit before you start

WHMCS, Magento, and similar heavier installers can outrun the default execution window. In MultiPHP INI Editor, bump these for the domain before installing, then set them back afterward if you don't need them long-term:

max_execution_time = 300
memory_limit = 512M

Prevention

  • Keep at least 10-15% of your disk quota free — Softaculous, backups, and cache all compete for that headroom.
  • Install into a genuinely empty folder. Delete the default index.html placeholder first if you're targeting a fresh subfolder.
  • Check the script's required PHP version on its Softaculous overview page before clicking install, not after it fails.
  • Don't run two Softaculous installs at the same time on a shared account — they can race for the same temp directory and database slot.
  • Turn on the installation email notification in Softaculous's install form so you get a copy of the real error if something goes wrong while you're not watching the screen.

Most "stuck" installs turn out to be either a quota problem or a leftover folder from a prior attempt — both are quick to clear once you know where to look. If you've worked through this list and it's still failing, grab the exact error text from the History log; that's what support needs to pinpoint it fast instead of guessing.

Frequently asked questions

Softaculous has said "Installation in progress" for 20 minutes. Is it actually stuck?

Usually not — check the target folder in File Manager first. If wp-config.php (or the equivalent config file) already exists and the file count looks complete, the install finished; the progress bar just lost the status update. Load the site directly to confirm before doing anything else.

Is it safe to just delete the failed install and try again?

Yes, but clean up fully first: remove all files (including dotfiles) from the target folder, and delete any database and database user Softaculous created before it failed. Retrying on top of a partial install is what causes the "destination directory is not empty" error.

Why does it say "Destination directory is not empty" when the folder looks empty in File Manager?

File Manager hides dotfiles by default. A leftover .htaccess or .user.ini from the failed attempt is enough to trigger this. Enable "Show Hidden Files" in File Manager settings, or run rm -rf on the folder including .??* over SSH.

Does a failed install still count against my database limit?

It can, if Softaculous got as far as creating the database before the rest of the install failed. Check MySQL Databases in cPanel for an orphaned database and user matching the failed install's name, and delete them manually — they don't clean themselves up.

Will retrying the install overwrite files that are already there?

Softaculous refuses to install into a non-empty directory rather than overwrite it, which is why cleanup is required before a retry. It won't silently merge with or replace existing files.

#softaculous #cpanel #one-click-installer #installation-failed #wordpress #troubleshooting

Keep reading

Chat with Support