UnderHost
Knowledgebase Docs

Install Drupal on UnderHost: Step-by-Step Guide

Install Drupal content management system on UnderHost shared hosting or VPS. Learn requirements, installation, database setup,

On this page

Drupal is a powerful, flexible CMS designed for complex websites and applications. Unlike WordPress (beginner-friendly), Drupal has a steeper learning curve but offers greater control and scalability. It powers major sites: The Economist, Tesla, Twitter, The Grammy Awards.

Drupal vs WordPress

AspectDrupalWordPress
Learning CurveSteep, technicalGentle, beginner-friendly
FlexibilityExtreme (custom everything)High (themes, plugins)
Best ForComplex sites, apps, enterprisesBlogs, business sites, SMB
Out-of-box featuresMinimal (build as needed)Excellent (ready to use)
PerformanceExcellent (lean core)Good (plugin-dependent)
Content typesUnlimited customizationLimited (posts, pages, custom types)

Choose Drupal if: You need extreme customization, building custom applications, complex content structures, or managing multiple entities with relationships.

Choose WordPress if: You want to get started quickly, use pre-built themes, need plugins for functionality, or run a blog/small business site.

System Requirements

Drupal 9/10 requires:

  • PHP 7.4 or 8.0+ with extensions: curl, date, dom, filter, gd, hash, json, mysql, pdo, session, xml
  • MySQL 5.7.8+ or MariaDB 10.3.7+
  • Web server: Apache or Nginx with mod_rewrite enabled
  • File permissions: Write access to files directory
  • 1GB RAM minimum (2GB+ recommended)

Check your hosting: cPanel → PHP Version or aaPanel → PHP Management to verify PHP version.

Download Drupal

  1. Visit drupal.org/download
  2. Download latest stable version (Drupal 10.x recommended)
  3. Extract ZIP file on your computer

Upload to Server

Option 1: Via FTP/SFTP

  1. Connect via FileZilla or WinSCP
  2. Upload all Drupal files to public_html folder
  3. Takes 5-10 minutes depending on connection speed

Option 2: Via cPanel File Manager

  1. cPanel → File Manager → public_html
  2. Upload Drupal ZIP file
  3. Right-click → Extract

Option 3: Via SSH (VPS only, fastest)

cd /home/username/public_html
wget https://www.drupal.org/download-latest/tar.gz
tar -xzf drupal-10.0.0.tar.gz
mv drupal-10.0.0/* .
rm -rf drupal-10.0.0 drupal-10.0.0.tar.gz

Create Database

In cPanel:

  1. Go to MySQL Databases
  2. Create new database: username_drupal
  3. Create user: username_drupal_user
  4. Set password (store securely)
  5. Add user to database with ALL permissions

Note the credentials:

  • Database name: username_drupal
  • Database user: username_drupal_user
  • Host: localhost
  • Password: (what you created)

Run Installation Wizard

  1. Visit yourdomain.com in browser
  2. Drupal installer should load automatically
  3. Choose language (English recommended)
  4. Database configuration:
    • Database type: MySQL or MariaDB
    • Database name: username_drupal
    • Database username: username_drupal_user
    • Database password: (your password)
    • Host: localhost
  5. Click Save and continue
  6. Site setup (configure basic settings)
  7. Create admin user (username, email, password)
  8. Click Finish installation

Success! You now have a running Drupal site.

Install Modules (Plugins)

Drupal calls plugins "modules". After installation, log in and install essential modules:

  1. Go to Extend (left sidebar)
  2. Popular modules to enable:
    • Views: Create custom content displays
    • Metatag: SEO optimization
    • Pathauto: Friendly URLs
    • Image: Image handling
    • Token: Text replacement (dependency)
  3. Check boxes next to modules → Install

Post-Installation

1. Set File Permissions

Critical for security:

chmod 755 sites/default
chmod 644 sites/default/settings.php
mkdir -p sites/default/files
chmod 755 sites/default/files

2. Configure Settings

Go to Configuration (admin):

  • System → Site information → Set site name and email
  • System → Site maintenance → Test status
  • Media → File system → Verify paths
  • Content → Content types → Customize as needed

3. Enable Clean URLs (SEO-friendly)

  1. Configuration → Search and metadata → Clean URLs
  2. Check Enable clean URLs
  3. Click Save configuration

4. Setup Backups

See our Backup strategy guide to automate backups.

Drupal has a steep learning curve

Drupal is powerful but complex. If you're new to web development, consider WordPress first. Drupal excels for large, complex projects but requires more technical knowledge.

Related: WordPress installation | CMS comparison | Drupal modules

Was this article helpful?

Need hosting for a CMS?

Host WordPress, Joomla, Drupal, Magento, and other PHP applications on UnderHost shared, managed, VPS, or dedicated services.

Related articles

Back to Content Management