Мультисайтинг - это такой хитрый способ хранения файлов на сервере, экономящий кучу времени и памяти (физической). Если спросить во сколько раз он экономит это самое время и место - то ответ будет таким: примерно во столько раз, сколько сайтов хранится на данном сервере. Если на сервере сто сайтов - то в 90-100 раз будет экономия места, в зависимости от сложности и индивидуальности. И время на инсталяцию друпала со всеми модулями сокращается от нескольких часов до пары минут. Удобно, ё-моё.
Итак, сейчас я расскажу в чём же смысл мультисайтинга. А смысл прост - куда-нибудь в корень заливается друпал со всеми модулями. После чего при установке нового сайта, в папку с сайтом не надо будет копировать заново друпал. Просто вместо файлов (папок) ставить ссылки на эти файлы, находящиеся в папке с друпалом на сервере. А если учесть, что размер ссылки - около 33кб, то получается очень даже неплохая экономия места на сервере. И ссылки создать - это дело секунд 10ти.
Теперь к практике. О том, как Я делаю мультисайтинговую структуру. Есть такая замечательная программа - WinSCP. Качаем, устанавливаем. Удобная в использовании, широко не распространённая. В общем, то что надо После инсталяции открываем ехе-шник, вводим сервер/логин/пароль (как обычно при входе на сервер, ничего нового). Далее в корень заливаем папку с чистым друпалом. Рядом обычно лежит папка с доменами. У меня на большинстве серверов это выглядит вот так:
Папка внутри друпала выглядит так (я сразу исключил файлы, которые нам не нужны):
Теперь заходим в каталог с любым нашим доменом (пока каталог чист, не считая папок, созданных сервером), жмём правую кнопку мыши -> new -> link. Указываем имя файла или папки, и ссылку на эту папку (файл) на сервере. Например:
таким же образом линкуем следующие файлы (для друпал 6):
- includes
- misc
- modules
- profiles
- scripts
- themes
- cron.php
- index.php
- install.php
- update.php
- xmlrpc.php
Остальные файлы пока линковать НЕ НАДО.
Далее в эту же папку забрасываем (без линковки) файлы .htaccess и robots.txt (т.к. для каждого сайта они свои). Теперь создаём пустую папку sites. Заходим в неё и создаём ссылку на папку all из ../drupal/sites/all. Далее из стандартного друпала в папку /sites закидываем всё содержимое папки default (а это - папки files и tmp и файл settings.php). Переименовываем папку default в папку с названием сайта (по идее не обязательно, но я всегда так делаю).
В итоге в корневом каталоге домена у нас получится:
А в папке /sites:
Далее остальные домены создаются ещё проще - выбираются все линки из готового домена -> правая кнопка мыши -> duplicate -> вводите адресс куда копировать ссылки -> готово:
Теперь все темы, модули и прочее надо закидывать только в ../drupal/sites/all. И все ваши сайты, созданные подобным образом, будут видеть эти модули и темы. Таким образом, если у вас на сервере сто сайтов, и вам вдруг захотелось поставить/проапдейтить/удалить модуль, то сделать это придётся только один раз, а не сто.