Konfiguracja wielu witryn jest nieco trudna ze względu na poleganie na tej samej bazie kodu. W tym scenariuszu możesz użyć konfiguracji obejmującej wiele witryn, ale pamiętaj, że uaktualnienie modułu sites/all/modules
wpłynie na wszystkie witryny (chyba że zostanie zastąpione sites/$SITENAME/modules
).
Prowadzi to do potencjalnych problemów, gdy jedna z twoich witryn polega na wersji N modułu, ale chcesz użyć N + 1 w innej witrynie. Moduł, o którym mowa, może nie mieć ścieżki aktualizacji lub może radykalnie zmienić swoją funkcjonalność między wersjami (nie tak rzadkie, jak mogłoby się wydawać, biorąc pod uwagę kulturę Drupala w kierunku głównych wersji).
Ponadto, jeśli podczas aktualizacji modułu potrzebne są krytyczne zmiany bazy danych, okaże się, że musisz usunąć wiele witryn jednocześnie, aby mieć pewność, że działasz update.php
.
W przypadku większości przypadków użycia wiele witryn nie jest dobrym rozwiązaniem. O ile nie masz naprawdę ograniczonej przestrzeni lub masz jakieś dziwne ograniczenia hostingu, które uniemożliwiają mapowanie domeny każdej witryny do osobnego folderu, prawdopodobnie lepiej jest utrzymywać osobne podstawy kodu i używać narzędzi takich jak Drush i kontrola wersji, aby przyspieszyć kod rozlokowanie.
Prototypowy przypadek użycia dla wielu witryn, poza jego wykorzystaniem jako obejścia dla restrykcyjnych hostów, ma miejsce, gdy wdrażasz mnóstwo witryn, które są bardzo podobne. Być może prowadzisz usługę hostingową lub budujesz kilka mikrostron dla firmy lub tego, co masz. W takich przypadkach możesz wdrożyć własną konfigurację dla wielu witryn, ale powinieneś również rozważyć użycie Aegir , który automatyzuje i abstraktuje wiele problemów związanych z uruchomieniem takiej konfiguracji.
Dodawanie nowych witryn do konfiguracji obejmującej wiele witryn jest dość proste: utwórz nowy folder pod sites
, edytuj sites/sites.php
(tylko Drupal 7), skopiuj sites/default/default.settings.php
do settings.php
tego nowego folderu i odwiedź witrynę w przeglądarce. Drupal powinien rozpocząć proces instalacji i użyć nowego folderu. Twoja nowa strona będzie miała dostęp do wszystkich modułów, sites/all/modules
tak jak twoje opuszczające strony.