How to Set Up a Multi-Site CMS Installation

Running multiple related sites from a single CMS installation (Drupal multisite, or a similar Joomla approach) can reduce maintenance overhead compared to entirely separate installations. This guide covers the setup considerations.

What Multi-Site Installation Provides

Rather than maintaining entirely separate CMS installations (separate codebases, separate update processes) for related sites, a multi-site setup shares the core codebase while maintaining separate databases/content per site — reduces update/maintenance overhead for genuinely related sites.

When Multi-Site Makes Sense

Appropriate for genuinely related sites sharing similar functionality needs (a company's sites for different regions/brands, for example) — less appropriate if the sites have fundamentally different feature/module requirements, since multi-site shares the same codebase across all sites.

Drupal Multisite Setup

sites/
  default/
  site-two.yourdomain.com/
    settings.php
  site-three.yourdomain.com/
    settings.php

Each site gets its own settings.php with its own database configuration, while sharing the core Drupal codebase and installed modules.

Configuring Web Server for Drupal Multisite

server {
    server_name site-two.yourdomain.com;
    root /var/www/drupal;
    # standard Drupal Nginx config
}

server {
    server_name site-three.yourdomain.com;
    root /var/www/drupal;
    # same root, Drupal detects the correct site by hostname
}

Drupal automatically selects the correct site configuration based on the requesting hostname, matched against your sites/ directory structure.

Each Site Needs Its Own Database

CREATE DATABASE site_two_db;
CREATE DATABASE site_three_db;

Content is genuinely separate per site — multisite shares code/modules, not content/data, unless you deliberately implement cross-site content sharing through additional configuration.

Managing Shared Module Updates Across Sites

drush -l site-two.yourdomain.com updb
drush -l site-three.yourdomain.com updb

When updating shared modules, run database updates separately for each site (using Drush's -l flag to target a specific site), since each site's database needs its own update process even though the code is shared.

Considering Alternatives: Separate Installations with Shared Infrastructure

Rather than true multisite, some organizations prefer entirely separate CMS installations that simply share the same VPS infrastructure — more isolation between sites (a bug/issue in one site's configuration doesn't risk others) at the cost of more individual maintenance overhead; weigh this trade-off for your specific situation.

Backup Considerations for Multisite

See How to Back Up and Restore a Drupal/Joomla Site — ensure your backup process explicitly covers every individual site's database, not just the shared codebase; a backup that misses a site's specific database provides false confidence.

Security Considerations

A vulnerability in the shared codebase potentially affects all sites simultaneously — the shared-code nature of multisite means patching promptly (see How to Audit Installed Packages for Known Vulnerabilities) protects all sites at once, but also means all sites share this common risk exposure.

Common Errors

Wrong site's content appears for a given domain — verify your sites/ directory naming exactly matches the requesting hostname, and check web server configuration for correct server_name/document root mapping per site.

Continue Reading

Browse more articles in CMS Platforms Beyond WordPress.

  • drupal multisite setup, cms multiple sites one installation, shared codebase multisite, drush multisite commands
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

How to Install Drupal on a VPS

Drupal is a powerful, highly flexible open-source CMS well-suited for complex content structures,...

How to Install Joomla on a VPS

Joomla is a mature, feature-rich open-source CMS offering a middle ground between WordPress's...

How to Install Craft CMS on a VPS

Craft CMS is a developer-friendly, content-first CMS known for its flexible content modeling and...

How to Install TYPO3 on a VPS

TYPO3 is an enterprise-grade CMS widely used in Europe for large, complex websites needing...

How to Install Grav (Flat-File CMS) on a VPS

Grav is a modern, flat-file CMS — it stores content as files rather than in a database,...