Drupal is a powerful CMS for structured content, complex user roles and large multilingual sites. Softaculous installs a working Drupal site on cPanel hosting in minutes. Drupal is more technical than WordPress, so this guide also covers the settings to check after installation.
Before you start
- A domain or subdomain with a valid SSL certificate.
- A PHP version supported by the Drupal release, selected in MultiPHP Manager, with extensions
gd,pdo_mysql,xml,mbstring,opcacheandzipenabled in Select PHP Version;memory_limit256M or more. - An empty target folder.
Install Drupal
- Open cPanel → Software → Softaculous Apps Installer, search Drupal (category Portals/CMS) and click Install.
- Choose the version (the latest stable major version unless your project needs another).
- Installation URL:
https://, domain, empty directory for the root. - Site Settings and Admin Account: site name, admin username (not
admin), strong password and email. - Advanced Options: database name and prefix, auto-upgrade policy and automated backups. See auto-upgrades.
- Click Install, then log in at
https://example.com/user/login.
Check the status report
Go to Reports → Status report. Drupal lists errors and warnings. Typical items on new installs:
| Warning | Fix |
|---|---|
| Trusted Host Settings not enabled | Add your domain to sites/default/settings.php (see below) |
| Cron has not run recently | Set up cron as below |
| Settings file is writable | Set settings.php to 444 and sites/default to 555 in File Manager |
| PHP OPcode caching not enabled | Enable opcache in Select PHP Version |
Trusted host patterns
Edit sites/default/settings.php with File Manager (temporarily make it writable) and add:
$settings['trusted_host_patterns'] = [
'^example\.com$',
'^www\.example\.com$',
];This prevents host-header attacks. Set the file back to read-only afterwards.
Cron
Drupal's automated cron runs on page visits, which slows some requests. Better: disable it under Configuration → System → Cron and add a cPanel cron job every hour that calls the cron URL shown on that page:
curl -fsS "https://example.com/cron/YOUR-CRON-KEY" >/dev/nullUpdates: Softaculous or Composer?
Modern Drupal is managed with Composer. If you add modules with Composer, update with Composer too (see Composer on cPanel) and set Softaculous auto-upgrade to off, so the two methods do not conflict. For a simple site without custom Composer modules, Softaculous upgrades are fine.
Tip: Always take a backup before a Drupal core update: Softaculous backup. Then run /update.php if Drupal asks for database updates.
Troubleshooting
- White screen: check the error log; usually memory or a missing extension.
- "The website encountered an unexpected error": see Reports → Recent log messages.
- Clean URLs not working: make sure Drupal's
.htaccessexists in the root.
