Quando devo usar uma configuração de vários sites?


13

Eu tenho 4 sites Drupal que não têm nada a ver um com o outro, exceto que todos eles são executados no Drupal e todos são gerenciados por mim.

Os módulos que cada site precisa variam, mas provavelmente compartilham um pequeno subconjunto de módulos.

Essa situação é uma boa candidata ao uso da configuração de vários sites?

E se eu quiser adicionar um quinto site? Como eu carregaria o novo, ou como isso funcionaria?

Respostas:


11

As configurações de vários sites são um pouco complicadas devido à dependência na mesma base de código. Você pode usar uma configuração de vários sites nesse cenário, mas lembre-se de que quando você atualizar um módulo sites/all/modules, ele afetará todos os sites (a menos que seja substituído sites/$SITENAME/modules).

Isso leva a possíveis problemas em que um de seus sites depende da versão N de um módulo, mas você deseja usar o N + 1 em outro site. O módulo em questão pode não ter um caminho de atualização ou pode ter mudado drasticamente sua funcionalidade entre versões (não tão incomum quanto você imagina, dada a cultura Drupal em relação às versões principais).

Além disso, se houver alterações críticas no banco de dados necessárias durante a atualização do módulo, você descobrirá que precisa derrubar vários sites ao mesmo tempo para garantir a execução update.php.

Portanto, para a maioria dos casos de uso, os vários sites não são o caminho a seguir. A menos que você esteja precisando de espaço ou tenha alguma restrição de hospedagem estranha que o impeça de mapear o domínio de cada site para uma pasta separada, é melhor manter bases de código separadas e usar ferramentas como Drush e controle de versão para acelerar o código desdobramento, desenvolvimento.

O caso de uso prototípico para vários sites, fora de seu uso como solução alternativa para hosts restritivos, é quando você está implantando vários sites extremamente similares. Você pode estar executando um serviço de hospedagem ou construindo vários micro sites para uma empresa ou o que você tem. Nesses casos, é possível rolar sua própria configuração de vários sites, mas você também deve considerar o uso do Aegir , que automatiza e abstrai muitas das dificuldades de executar essa configuração.

A adição de novos sites a uma configuração de vários sites é bastante simples: crie uma nova pasta em sites, edite sites/sites.php(somente Drupal 7), copie sites/default/default.settings.phppara settings.phpessa nova pasta e visite o site em um navegador. Drupal deve iniciar o processo de instalação e usar a nova pasta. Seu novo site terá acesso a todos os módulos, sites/all/modulesassim como os sites existentes.


Isso é bem legal. Na verdade, isso está relacionado à minha outra pergunta sobre links simbólicos e a pasta modules. Estou cansado de repetir a mesma rotina toda vez que inicio um novo site de teste no meu ambiente de desenvolvimento e também estou cansado de copiar módulos (especialmente módulos personalizados) para vários projetos (complica a atualização). Então, acho que poderia usar a abordagem de vários sites, pelo menos durante o desenvolvimento.
precisa

@sameold O que eu uso no desenvolvimento do Drupal é um repositório git que contém meus módulos obrigatórios como sub-módulos. Então é só uma questão de correr git clone git@my.repository.com:/base.git newsitepara obter um ambiente limpo.

4
Uma alternativa seria um drush make file para a configuração básica. Outra observação secundária, a edição de sites / sites.php é opcional e necessária apenas quando a pesquisa padrão como no D6 não funciona (por exemplo, vários sites com vários domínios para um único site).
Berdir

2

Eu usaria um site Multi, no qual você tem uma oferta de conteúdo relacionado, mas para diferentes públicos.

Por exemplo, nós o usamos em nossa Intranet, que suporta várias marcas. Isso permite que cada marca seja administrada individualmente, com a opção de compartilhar conteúdo / usuários (economia de tempo enorme na redução da duplicação).

Também ter uma interface exclusiva (menus / blocos / temáticos) ajuda bastante a garantir que diferentes departamentos possam acessar facilmente o que é mais importante para eles.

Muitos recursos estão disponíveis usando o Acesso ao Domínio , como permitir que um usuário defina seu site padrão, sites diferentes por subdomínio (para que você possa ter marketing.intranet.local ou engineering.intranet.local etc.), pesquisa entre sites, controle de acesso etc. .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.