Obsługa wielu witryn modułów Drupal

Jeśli używasz więcej niż jedno miejsce Drupal, można uprościć zarządzanie i można uaktualnić swoje strony za pomocą funkcji multi-site. Multi-site pozwala na współdzielenie jednej instalacji Drupal (włącznie z kodem rdzenia przyczynił moduły i motywy) spośród kilku miejscach.

Jest to szczególnie przydatne do zarządzania kod ponieważ każde uaktualnienie potrzebuje tylko do zrobienia raz. Każde miejsce ma swoją własną bazę danych i własne ustawienia konfiguracyjne, więc każda strona będzie miała swoją własną treść, ustawienia, włączone moduły oraz pozwoliło tematu. Jednakże, strony dzielą pierwiastek bazowy kod i dokumentów internetowych, więc mogą pojawić się obawy o bezpieczeństwo z wielu administratorów. (Patrz rozdział „dotyczy bezpieczeństwa” poniżej więcej informacji).

hosting

Przegląd procesu

Aby utworzyć nową witrynę za pomocą wspólnej bazy kodu Drupal należy wykonać następujące czynności:

  1. Utworzyć nową bazę danych dla witryny (jeśli istnieje już istniejącej bazy danych można również użyć tego definiując prefiks w procedurze instalacyjnej).
  2. Utwórz nowy podkatalog katalogu „obiekty” z nazwą nowej witryny. Zobacz poniżej lub komentarze w pliku default.settings.php o informacje na temat nazwy podkatalogu.
  3. Skopiuj plik sites / default / default.settings.php do utworzonego w poprzednim kroku podkatalogu. Zmień nazwę nowego pliku do settings.php.
  4. tylko dla Drupal 8: Uaktywnij funkcję multi-site by kopiowania (i zmiany nazwy) z witryn pliku / example.sites.php do stron / sites.php. Nie ma potrzeby, aby edytować plik, chyba że trzeba aliasy witryn. Normalne zasady wyboru strona dotyczy.
  5. Dostosować uprawnienia nowego katalogu witryn i udzielić uprawnień do zapisu w pliku konfiguracyjnym (settings.php).
  6. Jeśli używasz podkatalogu takich jak example.com/subdir a nie subdomeny takie jak subd.example.com prawdopodobnie trzeba utworzyć dowiązania symbolicznego dla każdej witryny. Zobacz podkatalogu sekcji multi-site szczegóły poniżej.
  7. W przeglądarce internetowej przejdź do adresu URL w nowym miejscu i kontynuować standardową procedurą instalacji Drupala (jeśli masz nieskończoną pętlę przekierowania, sprawdź, czy plik istnieje install.php korzeń dokumentu).

Może być również konieczne, aby zmodyfikować plik konfiguracyjny serwera sieci Web (często nazywane httpd.conf Apache), aby umożliwić Drupal, aby zastąpić ustawienia Apache. Odnosi się to do wszystkich instalacji Drupal i nie jest specyficzne dla wielofunkcyjnego miejscu instalacji. Dodatkowe informacje dostępne są w Dobrych Praktyk: Konfiguracja Apache i PHP dla Drupal w sekcji Shared Środowiska Install Guide.

Hosting wiele witryn drupal moduły każdym miejscu, należy rozważyć je

Szczegóły procesu

Domen, adresy i witryn nazwa podkatalogu

Nowy podkatalogu katalogu witryn ma nazwę, która jest wykonana z adresu URL witryny. Na przykład, konfiguracja dla www.example.com byłoby w witrynach / example.com / settings.php. Nie trzeba włączyć „www” jako część nazwy katalogów.

Drupal użyje tych samych stron example.com katalogu / dla każdej subdomeny example.com. w tym www, o ile nie jest alternatywą, dopasowując podkatalogu witryn poddomeny. Na przykład, URL sub.example.com będzie serwowana z witryn / sub.example.com. jeśli istnieje.

Dla podkatalogu zawartości, takich jak example.com/subdir. nazwa podkatalogu witryn następująco: sites / example.com.subdir - i przeczytać rozdział poniżej na uzyskanie podkatalogu wielofunkcyjnego miejsca pracy.

Jeśli instalujesz na niestandardowym porcie, numer portu jest traktowany jako pierwszej części subdomeny. Na przykład, www.example.com:8080 można załadować z witryn / 8080.example.com. Jeśli ten katalog nie istnieje, Drupal będzie wtedy szukać miejsc / example.com. tak jak prawdziwy subdomeny.

Moduły site-specific i motywy

Każda konfiguracja witryny może mieć swoje własne moduły site-specific i tematów oprócz tych, instalowane w standardowych „modułów” i katalogów "tematami. Aby korzystać z modułów site-specific lub tematów, po prostu stworzyć „moduły” lub katalogu „Themes” w katalogu konfiguracyjnym miejscu. Na przykład, jeśli sub.example.com ma motyw niestandardowy i moduł niestandardowych, które nie powinny być dostępne dla innych stron, konfiguracja może wyglądać następująco:

korzeń dokument

Jednym z obszarów częstego zamieszania jest to, że w wielu miejscach instalacji Drupal korzeń dokument serwer WWW jest taka sama dla wszystkich witryn. Na przykład z trzech następujących miejsc: example.com, sub.example.com i example.com/site3 będzie pojedynczy katalog Drupal i wszystkie strony będą nazywając ten sam plik index.php.

Niektórzy providerzy automatycznie utworzyć nowy katalog (tj example.com) podczas tworzenia nowej domeny lub subdomeny. W tym przypadku konieczne jest, aby uczynić go dowiązania symbolicznego do głównego katalogu Drupala, albo jeszcze lepiej przy tworzeniu domenę lub subdomenę, ustawić go użyć tego samego korzenia dokumentu w miejscu, w którym został zainstalowany Drupal.

Podkatalogu multi-site

Jeśli próbujesz uzyskać Drupal multi-witryny jest wykonywana przy użyciu podkatalogów URL zamiast subdomenę lub różnych adresów domen, mogą wystąpić problemy. Zaczniesz poprzez katalog takich jak sites / example.com.subdir. i umieszczenie pliku settings.php tam. Jeśli to działa dla Ciebie, to świetnie! Ale to prawdopodobnie nie będzie.

Localhost alias dla lokalnej stacji roboczej

W wielu systemach możliwe jest utworzenie wpisów w pliku „hosts” tworzyć aliasy dla nazwy localhost dla lokalnej stacji roboczej. Poprzez tworzenie aliasów dla localhost możliwe jest stworzenie nazwy, takie jak localdev1.example.com i localdev2.example.com, zarówno dla komputera lokalnego.

Jeśli natomiast używasz podkatalogów w Twoim korzenia internetowej na utworzyć link symboliczny takiego:

i nazwa folderu strona localhost.subdir.

zmiany nazwy domeny

Gdy strona jest w produkcji w danym podkatalogu w katalogu witryn, podkatalog nie powinna zostać zmieniona, nawet jeśli witryna internetowa zmiany adresu URL. To dlatego, że kilka tabel bazy danych (na przykład: system plików) i zawierać odniesienia do „stron / www.mydomain.com”. Zamiast zmiany nazwy katalogu witryn, można utworzyć dowiązania do nowego adresu URL ze starego. Przejdź do katalogu witryn, a następnie użyć następującego polecenia:
$ Ln -s /path/to/drupal/sites/old.domainname.com new.domainname.com

Względy bezpieczeństwa

Czasami warto rozważyć przy użyciu konfiguracji multi-site Drupal, w sytuacjach, w których administratorzy dla wszystkich stron są prowadzone z tego samego kodu bazowego nie są albo ta sama osoba lub mała grupa wysokiego poziomu wzajemnego zaufania. Powodem jest to, że każdy z pełnymi uprawnieniami administratora na stronie Drupal może wykonać dowolny kod PHP w tym miejscu za pomocą różnych środków (nawet bez dostępu do FTP na miejscu), i że dowolny kod PHP może być używany z jednej strony wpływa na inną stronę, jeśli obie strony są w tym samym katalogu dokumentów HTTP i dzielenie tego samego kodu Drupal.

Tak więc, jeśli nie całkowicie zaufać wszystkich administratorów witryn rozważają działa z tego samego kodu bazowego Drupal być kompetentny, ostrożny, a nie złośliwy, warto rozważyć zainstalowanie ich witryn Drupal w całkowicie oddzielnych obszarów serwera WWW że nie są w stanie wpływać na siebie nawzajem poprzez PHP skryptów.

Sporadycznie Drupal podlega luk w zabezpieczeniach. Błędy, które pozwalają na nieautoryzowany dostęp użytkownika do Drupala kod rdzenia. Gdy haker ma dostęp do kodu podstawowego, mają dostęp do wszystkich multisites pośrednictwem jednego ataku. Non-multisites wymagają odrębnych ataków, które mogą zaoferować wystarczającą ilość czasu na podatność być zabezpieczone.

Kiedy na wielu serwerach

Zgodnie z ogólną zasadą, czy do korzystania wielosensorowe instalacje lub nie można powiedzieć:

  • Jeśli strony są do tego samego klienta i to jest uproszczenie zakresu każdym miejscu, rozważyć.
  • Jeśli strony są podobne pod względem funkcjonalności, korzystają z tych samych modułów lub korzystać z tego samego rozkładu Drupal, uważają go.
  • Jeśli masz ograniczone zasoby / personel, ale wiele miejsc do zarządzania i utrzymania, zdecydowanie rozważyć.
  • Jeżeli funkcjonalność lub zakres różnią się, nie używaj wielomiejscowe.
  • Jeśli zarządzanie wieloma dystrybucje, nie używaj wielomiejscowe.
  • Jeśli klienci są różne, nie należy używać wielomiejscowe.

Drupalcon Austin (2014) rozmowa / debata na MultiSite gdzie plusy, minusy, a niektóre propozycje są omawiane przez szeroką publiczność perspektywy użytkownika jest dostępny na YouTube.

Wielu serwerach jest popularna kiedy chcesz witryn pozostać jako up-to-date, jak to możliwe, dotyczące aktualizacji zabezpieczeń modułu Drupal, ale gdy masz inną funkcjonalność, jest to trudniejsze do zrobienia, ponieważ to zajmuje więcej czasu, aby przetestować każdą stronę osobno. Jeśli robisz wielomiejscowe, wówczas zmiana musi być uruchomiony w tym samym czasie dla wszystkich stron, które nie zawsze jest to możliwe. Jeśli jest to problemem lub masz bardzo dużą wielomiejscowe ale nadal wspierają podejście, może warto rozważyć zwiedzania wtyczki drush nazwie DSLM że traktuje wielokierunkowego zarządzania trochę inaczej, ale z tymi samymi zaletami.

Miejsca o różnej funkcjonalności zazwyczaj kończy się modernizowane w różnym czasie, ponieważ każdy musi być przetestowany i zarchiwizowane. aktualizacje stron i kopii zapasowych można zautomatyzować z drush z lub bez MultiSite chociaż cel dostępne drush @sites upraszcza luzem Zastosowanie poleceń do multisites.

Zalecane szczegóły konfiguracji wielostanowiskowej

To nie są twarde i szybkie przepisy, ale z pewnością pomoże uniemożliwić malowanie się w kącie z MultiSite.

Użyj Drush do zarządzania aktualizacjami rozmieszczania / SITE

Drush jest potężnym CLI, który pozwala na poleceń skryptowych przeciwko drupal witryn. W połączeniu z multisites, stają się znacznie łatwiejsze do zarządzania w skali. Drush aliasy (które umożliwiają odwołanie zgrupowania miejsc / cele z pojedynczych komend) są niezbędne do skutecznego zarządzania dużymi wielosensorowe wdrożeń. Na przykład, wiele instytucji edukacyjnych uruchomić multisites z ponad 100 do 1000 miejsc zjechania jednego wielomiejscowe.

Użyj sites.php zarządzać witryn

Użyj dołączonego sites / sites.php (Drupal) lub 7.x sites / sites.example.php (Drupal 8.x.x) odwołać witryn w wielu miejscach zamiast adresu oparte. Pozwoli to łatwiej migrować między wdrożeń (np. dev, scena, prod). Tradycyjna konfiguracja wielu serwerach miałoby tworzyć katalogi jak sites / my.new.domain.address / settings.php ale nie trzeba używać domeny jako nazwę folderu do jego pracy. W sites.php można zrobić odniesienie podobnego „my.new.domain.address” => „projektu / version1”. W ten sposób możesz dokonać można użyć mapowania sites.php na dev, które wyglądają bardziej jak our.dev.address i nadal mają wskazywać na projekt / version1 jako swój cel.

Obejrzyj ten film!

Powiązane artykuły

Obsługa wielu witryn Drupal stronyIstnieje wiele powodów, dla których administrator systemów lub deweloper może wybrać do obsługi wielu witryn na tym samym serwerze w konfiguracji wielostanowiskowej. Na przykład, taka konfiguracja może ...
Wielu witryn Drupal hostingJeśli używasz więcej niż jedno miejsce Drupal, można uprościć zarządzanie i można uaktualnić swoje strony za pomocą funkcji multi-site. Multi-site pozwala na współdzielenie jednego Drupal ...
Hosting wiele witryn DrupalIstnieje wiele powodów, dla których administrator systemów lub deweloper może wybrać do obsługi wielu witryn na tym samym serwerze w konfiguracji wielostanowiskowej. Na przykład, taka konfiguracja może ...
Zainstalować open publikuje na hosting DrupalWprowadzenie Drupal to darmowy system zarządzania treścią o publicznie dostępnym kodzie źródłowym (CMS) oprogramowanie, które pozwala osobom lub społeczności użytkowników łatwo publikować, zarządzać i organizować różnorodne treści ...
Obsługa wielu witryn Drupal poradnikMutlisite cecha Drupal brzmi jak Święty Graal dla ilekroć chcesz uruchomić wiele witryn Drupal. Jednak odpowiedź na pytanie „Czy mogę używać Multisites?” najlepiej jest odkryta przez wiedząc, co ...