Запустил Друпал 4.7.3 на сайте скажем drupi.com
Поначалу были проблемы (error 500), но затем разобрался поиском в инете.
Оказалось Confixx переписывает на свой лад конфигурацию Апачи
и подменяет её своими скриптами. Пришлось в Confixx, меню "Установки" -> httpd special
внести для моего домена drupi com записи:
<Directory /var/www/##user##/html/>
php_admin_flag safe_mode Off
php_admin_flag allow_url_fopen On
php_admin_value open_basedir /var/www/##user##/html/:/var/www/##user##/phptmp/:/var/www/##user##/files/:/var/www/##user##/atd/:/var/lib/php5/
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
После чего всё заработало без того, чтобы стирать по варварски .htaccess.
[url]http://www.drupalcenter.de/node/1455?PHPSESSID=33c25ca8249eed62671ad3a4f...
Теперь я попробовал использовать мультисайтовость Друпала, но ничего не получается.
Итак. Я сделал папку "subdomains" и в ней папку "do" (/var/www/web1/html/subdomains/do)
и в Confixx создал сабдомен do.drupi.com, который указывает на созанный выше путь.
Затем согласно install.txt Друпала создал в папке sites поддиректорию do.drupi.com
и скопировал в неё settings.php из папки default (я пока решил отдельную БД для сабдомена не создавать -
потом решу какой вариант лучше - будет отдельная тема).
Согласно install.txt вроде бы этого достаточно для начала.
Однако привызове сабдомена, я получаю сообщение:
"error 403. Доступ к директории невозможен. Либо в папке нет индексного документа либо директория защищена от
доступа".
Это и понятно. Директория на самом деле пустая и просмотр содержимого папки запрещён и не нужен.
Так что же нужно сделать, чтобы друпаловская мультисайтовость заработала в данном случае?
Комментарии
субдомен должен указывать на ту же папку, что и основной домен
Испробовал. Работает. Но только, если я для этого сабдомена инсталирую свою отдельную базу данных.
Иначе естесственно запускается содержимое и форма основного домена.
А как же сделать, чтобы я мог пользоваться одной общей базой для домена и сабдомена?
Роясь в доках я где-то видел указания, что при мультисайтовости драпала возможно применение и общей БД.
[b]А как же сделать, чтобы я мог пользоваться одной общей базой для домена и сабдомена?[/b]
надо для отдельных таблиц сделать префикс, таблицы очевидно node, comments и тд...
Пока не понимаю каким образом Драпал будет знать, что он должен работать с другими таблицами.
Ведь в settings.php указывается только имя БД, имя пользователя,
localhost и пароль. Где почитать об этом?
Или в 2-х словах, если можно.
Там же и префикс указывается. Сам на днях буду пробовать.
А что даёт мультисайтовость кроме общих юзеров?
и возможно ли мультисайтовость организовать на разных доменах?
я завтра буду пробовать... насколько понял самый простой вариант - создать отдельную базу... сайт будет полностью независимым, но работать на одних и тех же скриптах... в моём случае в итоге получится больше 10 порталов, схожих по функциям, так что для меня это идеальный вариант, особенно в периоды выхода новых версий..
Единственное чего бы хотелось это единую базу пользователей, но базы данных будут разные, это обязательно.. Ни у кого нет соображений как сделать одинаковую базу?
Типа drupal id или что-то такое слышал, сможет сам создавать пользователя на всех порталах..
/* Единственное чего бы хотелось это единую базу пользователей, но базы данных будут разные, это обязательно.. Ни у кого нет соображений как сделать одинаковую базу? */
Если узнаешь - поделись.
На официальном сайте были примеры использования общей базы и общих таблиц.
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
Sharing Tables Across Databases
The previous solutions are useful for getting around restrictions on the number of databases
that you can create, but they are less than ideal if no such restriction exists. In general, it is
better to make separate databases for individual Drupal installations, as the portability and
user management issues are greatly simplified.
■Note The solution shown in this section is specific to MySQL databases and will not work on PostgreSQL.
If you have many Drupal sites running from separate databases, you may find cases where
it is useful to share tables among databases. As noted in the previous section, a good example
is the zipcodes table in the Location module (discussed in Chapter 4), which is read-only and
quite large. Importing the zipcodes table into every one of your databases would be wasteful
and redundant. This makes it a perfect candidate for being shared by all of your sites that use
the Location module. The solution involves creating a new database dedicated to the zip code
information. It’s similar to the solution offered in the previous section, but preferred in situations
where it is possible to create multiple databases.
The secret ingredient in this configuration lies in the $db_prefix variable. Instead of using
the prefix as a means for identifying a prefixed table in the same database, it can be used to
change databases altogether, as shown in Listing 6-5.
Listing 6-5. Using Prefixes to Select Databases
$db_prefix = array(
'default' => 'db_site1.',
'zipcodes' => 'db_zipcodes.'
);
CHAPTER 6 ■ MAINTAINING YOUR SITE 199
Listing 6-5 assigns the default prefix to db_site1. (note the period after the database
names). This trick works because MySQL will then look for db_site1.some_table, which, in
effect, says, “Use some_table from the db_site1 database.” The value you use for the prefix
corresponds to the name of the database to be used (plus the dot). This is also the database
part of the $db_url variable in settings.php:
$db_url = 'mysql://username:password@localhost/database';
The caveat is that the db_site1 and db_zipcodes databases will both be accessed with the
same username and password pair; there is currently no method for configuring separate
database connections for individual tables. Use your database administration tool or the following
MySQL command to grant access to the db_zipcodes database for the username that
you use to access the main database:
grant select on db_zipcodes.zipcodes to username@localhost;
Since the db_zipcodes table should be read-only, the SELECT privilege is sufficient. Whenever
the zipcodes table is needed by this site, it will use the db_zipcodes database; in all other
cases, db_site1 will be used.
а что насчёт drupal id?*