Когда был обычный хостинг и Cpanel то для создания мультисайтинга я просто сделал addon domain и направил его в директорию друпала. На VPS я создал Virtual Server для каждого домана со следующей конфой:
Сайт 1 (основной):
ServerName mysite1.com
ServerAdmin admin@mysite1.com
ServerAlias www.mysite1.com
DocumentRoot /var/www/mysite1
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/mysite1>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/mysite1.com.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/mysite1.com.access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
Сайт номер 2: (друпал находится в папке site)
ServerAdmin admin@mysite2.com
ServerAlias www.mysite2.com
DocumentRoot /var/www/mysite1/site
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory "/var/www/mysite1/site">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/mysite2.com.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/mysite2.com.access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
В результате сайты работают нормально но только если заходить на один из них, если зайти на сайт 2, то у сайта 1 графика и какой-то контент будет с сайта 2. И наоборот.
Как это исправить, какую ошибку в конфиге я сделал?
Спасибо за любую помощь!
Комментарии
DocumentRoot должен быть одинаковый у обоих сайтов - корневая папка установки Drupal.(/var/www/mysite1)
Индивидуальные настройки сайтов:
в папке DRUPAL_ROOT/sites создаете папки site1.com и site2.com , в них копируете settings.php и правите их как надо (настройки БД, урл сайта, куки-домен) и все работает.
В этих же папочках(site1.com и site2.com) создаете по необходимости папочки modules(для индивидуальных для сайта модулей) , themes(индивидуальные темы) и files(права 777).
Выпей йаду! Кто ж тебе рассказал, что нужны 777 права? В зависимости от настроек сервера 755 или 775.
orion76
Сделал одинаковый DocumentRoot, всё остальное и так настроено. Не помогает
В общем проблема Cache Router + memcache если не указывать префиксы.