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.
git clone [email protected]:/base.git newsite
aby uzyskać czyste środowisko.Korzystałbym z witryny Multi, w której masz powiązaną ofertę treści, ale dla różnych odbiorców.
Na przykład używamy go w naszym intranecie, który obsługuje wiele marek. Pozwala to na zarządzanie każdą marką indywidualnie z opcją udostępniania treści / użytkowników (ogromna oszczędność czasu na zmniejszeniu duplikacji).
Posiadanie unikalnego interfejsu (menu / bloki / tematyka) znacznie ułatwia zapewnienie różnym działom dostępu do tego, co jest dla nich najważniejsze.
Dostęp do domeny zapewnia wiele funkcji, takich jak umożliwienie użytkownikowi ustawienia domyślnej witryny, różnych witryn według subdomeny (więc możesz mieć marketing.intranet.local lub engineering.intranet.local itp.), Wyszukiwanie między witrynami, kontrolę dostępu itp. .
źródło