How to set up Softaculous auto-updater in cPanel
Configure automatic updates for WordPress, Joomla, and other scripts directly from your cPanel interface. This guide covers enabling the feature, setting schedules, and verifying the service is active on cPanel 118.x.
Softaculous is a powerful application installer that allows you to deploy scripts like WordPress, Joomla, and Magento with a few clicks. This tutorial shows you how to enable the auto-updater feature so your sites update themselves automatically without manual intervention. The steps below apply to cPanel 118.x and WHM versions 118.x.
Prerequisites
- A cPanel account with root or reseller access.
- Access to the WHM (Web Host Manager) interface.
- Softaculous installed on your server (usually included in cPanel).
- At least one domain with a WordPress or other Softaculous script installed.
- Root or reseller privileges to modify Tweak UI settings.
Step 1: Enable the Auto-Update Feature in Tweak UI
Softaculous relies on a specific Tweak UI setting to allow automatic updates. You must enable this setting in WHM first before configuring individual sites.
Log into your WHM interface using an SSH session or the web browser. Navigate to the Tweak UI section in the left sidebar.
Locate the option labeled Softaculous Auto-Update or Enable Softaculous Auto-Update within the Tweak UI menu.
Check the box to enable the feature and click Save Changes.
Run the following command in your terminal to verify the setting is active on the server:
grep "softaculous" /etc/cpanel.config
You should see a line indicating the configuration is enabled. If this file does not exist, the feature is already active by default in newer cPanel versions.
Step 2: Install the Softaculous Auto-Update Script
You need to install the specific Softaculous script that handles the update logic. This script runs as a cron job to check for updates.
Navigate to the Softaculous main menu in WHM. Look for the option to Install Softaculous or Configure Softaculous.
Select the option to Enable Auto-Update from the list of available configurations.
This action installs the necessary cron jobs and database tables required for the auto-updater to function.
After installation, the system will display a confirmation message. Click Continue to proceed.
Verify the cron job was created by running this command in your terminal:
crontab -l | grep softaculous
You should see a line similar to 0 2 * * * /usr/local/cpanel/scripts/softaculous or a similar path depending on your installation.
Step 3: Configure Update Settings for Specific Scripts
Now you must configure which scripts receive automatic updates and how often they run. This is done via the Softaculous interface.
Log into cPanel and navigate to the Softaculous icon in the Software section.
Click on the Auto-Update tab or the Auto-Update Settings link.
Select the checkboxes for the applications you want to update automatically, such as WordPress, Joomla, or Drupal.
Set the update frequency to Daily or Weekly based on your stability requirements.
Click Save to apply the settings.
These settings apply to all new installations of that script type on your account.
Step 4: Enable Auto-Update for Existing Sites
If you already have sites installed, you must enable auto-updates for them individually. New sites created after this step will inherit the settings from Step 3.
Go to the Installed Scripts list in Softaculous.
Find the domain you want to configure and click the Manage button next to it.
Scroll down to the Updates section.
Check the box labeled Enable Auto-Update.
Select the update schedule from the dropdown menu (e.g., Daily, Weekly, Monthly).
Click Save to apply the changes.
Repeat this process for each domain that requires automatic updates.
Verify the installation
Before relying on the system, you must verify that the auto-updater is running correctly. This ensures that updates are applied without manual intervention.
Return to the Auto-Update tab in Softaculous.
Click the Check for Updates button manually to trigger an immediate scan.
Observe the output log. You should see a list of scripts that have been checked for updates.
If the log shows No updates available, the system is functioning correctly.
If the log shows Updates available, the system is also functioning correctly but you may want to manually apply them to test the process.
Check the cPanel logs to ensure no errors occurred during the scan.
Run this command to view recent Softaculous activity:
tail -n 50 /var/log/cpanel/sa-softaculous.log
This output confirms the cron job executed successfully.
Troubleshooting
If the auto-updater fails to run or reports errors, follow these steps to resolve the issue.
First, check if the cron job is actually running. Run this command in your terminal:
systemctl status cron
Ensure the cron service is active and enabled.
If the cron service is not running, start it with this command:
systemctl start cron
Next, verify that the Softaculous cron job exists. Run this command:
grep softaculous /etc/cron.d/*
If no file is found, the cron job was not created during installation. Re-run the installation script from Step 2.
Check the Softaculous error log for specific error messages. The log is usually located at:
/usr/local/cpanel/softaculous/error.log
Look for lines containing Error or Failed.
If you see permission errors, ensure the web server user has write access to the Softaculous directory.
Run this command to fix permissions:
chown -R apache:apache /usr/local/cpanel/softaculous
If the issue persists, disable the auto-update feature and re-enable it to reset the configuration.
Navigate to the Auto-Update settings in Softaculous.
Uncheck the Enable Auto-Update box and click Save.
Wait 30 seconds, then check the box again and click Save.
This resets the cron jobs and database tables.
Finally, ensure your firewall is not blocking the Softaculous update server connections.
Check your firewall logs for any blocked connections related to Softaculous.
If all else fails, contact your hosting provider's support team for assistance.