A to Z of Drupal Multi-site Implementation

Updated: December 24, 2010

Before starting with this you must have the following ready.

  1. Apache web server (HTTP server)
  2. PHP configured to run with Apache server
  3. MySQL server.
  4. Normal Drupal 6.x installation.

In order to install multi site you must have 2 local domains set up in your windows machine. In order to set up local domains, you have to do 2 different configurations

  1. windows host
  2. apache virtual host

Windows host configuration

Go to C:\WINDOWS\system32\drivers\etc\hosts

Open hosts file in notepad.

  1. Add the following lines exactly as it is after the localhost (127.0.0.1 localhost

) settings

127.0.0.1 drupalsite1

127.0.0.1 drupalsite2

Save the file and close.

Apache virtual host configurations

Assuming your Drupal installation has a folder name drupal and the Drupal installation directory will be looking like D:\xampp\htdocs\drupal

Open D:\xampp\apache\conf\httpd.conf

Add the following lines after

ServerName drupalsite1

DocumentRoot "D:/xampp/htdocs/drupal"

ServerAdmin postmaster@drupalsite1

ServerAlias tcs.saas wipro.saas demo.saas hello.saas

Options Indexes FollowSymLinks Includes ExecCGI

AllowOverride All

Order allow,deny

Allow from all

ServerName drupalsite2

DocumentRoot "D:/xampp/htdocs/drupal"

ServerAdmin postmaster@drupalsite1

ServerAlias tcs.saas wipro.saas demo.saas hello.saas

Options Indexes FollowSymLinks Includes ExecCGI

AllowOverride All

Order allow,deny

Allow from all

Note: If your default virtual host has all configurations other than the above, then you can move all that settings outside of virtual host and put all that after new virtual hosts. So, all virtual hosts will share those common settings.

In both virtual host set up DocumentRoot is same as your Drupal installation folder ("D:/xampp/htdocs/drupal")

Save the configuration file. Restart Apache server

Drupal Configuration

Now let's configure Drupal for multi-sites.

After configuration we will have Drupal sites such as

http://drupalsite1 and

http://drupalsite2

Open drupal installation folder (D:/xampp/htdocs/drupal)

Navigate to sites. Here in default installation you will find two folders

default and all

Duplicate default folder 2 times and rename each with names such as drupalsite1 and drupalsite2

Now you have total 4 folders such as default, all, drupalsite1 and drupalsite2

Next, duplicate drupal database and give names such as drupal_site1 and drupal_site2. In order to duplicate, you have to export and import Drupal database tables in two different databases (drupal_site1 and drupal_site2).

Now you have to configure the new site settings files.

Open D:\xampp\htdocs\drupal\sites\drupalsite1\settings.php

Edit the database settings for new database drupal_site1. Save it and close.

Similarly open drupalsite2 folder and edit database settings for drupal_site2.

Now both sites http://drupalsite1 and http://drupalsite2 are ready. But it will look identical.

Site specific Settings

In order to configure site name and themes for http://drupalsite1 you have to open the admin panel for that site http://drupalsite1 by log in using your Drupal. After login, go to http://drupalsite1/admin/settings/site-information. Do your changes and save it. Go to home page and see the changes. Awesome!

Similar way you can configure drupalsite2 by log in from http://drupalsite2

Changing theme

Open D:\xampp\htdocs\drupal\sites\drupalsite1

Create folders such as themes and modules as in regular Drupal. Copy theme to theme folder and go to theme configurations, http://drupalsite1/admin/build/themes

Enable your new theme for drupalsite1. Similarly you can copy a different theme to drupalsite2 themes folder and enable it. Now your 2 sites have different theme. Similarly you can add modules to module folder in both sites under module folder that we have created.

This way drupal core will be common for all sites but settings, theme and modules can be different. Drupal multi-sites share drupal core, common themes (D:\xampp\htdocs\drupal\themes), common modules (D:\xampp\htdocs\drupal\modules) etc. But custom themes and modules from local folders (D:\xampp\htdocs\drupal\sites\drupalsite1 or drupalsite2) can't be shared.

Now you have one Drupal core and there different sites. Which one is the 3rd site?

Also you can create more sites in similar way.

Featured Research
  • Contact Center Implementation Best Practices

    Are you looking to add a contact center for your business but not quite sure of how to go about implementing one? You aren't alone, in fact, getting a modern contact center up and running efficiently and effectively is much more difficult than it was even five to ten years ago. more

  • Business Meeting Showdown

    It is no secret that communication and collaboration are at the heart of success and longevity for any business. However, as businesses become more global and more employees work remotely, video conferencing is being increasingly used as an alternative to face-to-face interactions. There are pros to both business travel and video conferencing such as personal connection and ease of use. However, there are cons as well ranging from travel delays to being technologically reliant. more

  • Mobile Communication Showdown

    It's no secret that businesses are becoming agiler and employees are spending more time away from their desks. The question isn't should we get rid of our landlines, but how quickly can we replace them?However, staying connected with your colleagues, clients, and customers is absolutely essential for cultivating long-term, lucrative relationships that will help your company achieve success. more

  • Signs you are Ready for Mobile BI

    With workforces moving more and more mobile on a daily basis, it is essential to ensure that your company is able to arm your employees with the analytics that they need to succeed. 89% of business leaders believe that Big Data will revolutionize business operations in the same way that the internet did. These numbers show the trend towards investing in a BI system. more

  • 15 Ways to Optimize Your Contact Center

    We live in a time where customer experience is seen as an important competitive differentiator. Given this, wouldn't you like to make sure that your contact center is fully optimized to meet your business needs? Deciding to upgrade and optimize your contact center is a big step, and one that shouldn't be done without due diligence and plenty of research. more