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
| Aspect | Drupal | WordPress |
|---|---|---|
| Learning Curve | Steep, technical | Gentle, beginner-friendly |
| Flexibility | Extreme (custom everything) | High (themes, plugins) |
| Best For | Complex sites, apps, enterprises | Blogs, business sites, SMB |
| Out-of-box features | Minimal (build as needed) | Excellent (ready to use) |
| Performance | Excellent (lean core) | Good (plugin-dependent) |
| Content types | Unlimited customization | Limited (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
- Visit drupal.org/download
- Download latest stable version (Drupal 10.x recommended)
- Extract ZIP file on your computer
Upload to Server
Option 1: Via FTP/SFTP
- Connect via FileZilla or WinSCP
- Upload all Drupal files to public_html folder
- Takes 5-10 minutes depending on connection speed
Option 2: Via cPanel File Manager
- cPanel → File Manager → public_html
- Upload Drupal ZIP file
- 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:
- Go to MySQL Databases
- Create new database:
username_drupal - Create user:
username_drupal_user - Set password (store securely)
- 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
- Visit yourdomain.com in browser
- Drupal installer should load automatically
- Choose language (English recommended)
- Database configuration:
- Database type: MySQL or MariaDB
- Database name:
username_drupal - Database username:
username_drupal_user - Database password: (your password)
- Host:
localhost
- Click Save and continue
- Site setup (configure basic settings)
- Create admin user (username, email, password)
- 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:
- Go to Extend (left sidebar)
- Popular modules to enable:
- Views: Create custom content displays
- Metatag: SEO optimization
- Pathauto: Friendly URLs
- Image: Image handling
- Token: Text replacement (dependency)
- 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)
- Configuration → Search and metadata → Clean URLs
- Check Enable clean URLs
- Click Save configuration
4. Setup Backups
See our Backup strategy guide to automate backups.
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
Need hosting for a CMS?
Host WordPress, Joomla, Drupal, Magento, and other PHP applications on UnderHost shared, managed, VPS, or dedicated services.





















