Multisite - pegadinhas

Depois de muito tempo enrolando, e com a perspectiva de finalmente desenvolver melhor o site da metareciclagem por conta do prêmio de mídias livres, resolvi dar jeito na vida e juntar os três sites que mantenho no slicehost (este blog, o site da rede.metareciclagem e o mutirão da gambiarra) em uma só instalação de multisite. Foi bem fácil, apesar de alguns detalhezinhos, que anoto aqui para quem puder fazer uso no futuro:

  • Tive que fazer uma certa salada de links simbólicos, mas acabei deixando boa parte da instalação separada. Nem o diretório sites nem o arquivo robots.txt fica dentro do root da instalação. Criei um diretório "multisites", e dentro dele coloco as versões inteiras do drupal, além de um diretório sites com as configs, arquivos, temas e módulos de cada um deles, tudo separado. Não deixo nada no "all" pra evitar eventuais conflitos de módulos.
  • É fundamental, por um monte de motivos, especificar o base_url no settings.php
  • Logo que apontei o vhost para o diretório novo e recarreguei a página, o layout veio todo quebrado. Precisei entrar em admin/build/themes para que ele reconstutuísse o cache, ou algo assim.
  • Tive alguns problemas com acesso a views e outras coisas. No site da metareciclagem, tinha habilitado o cacheamento de CSS. Fui ali, desativei, salvei, e ativei de novo.

Tive problemas com URLs absolutas (como o diretório /material dentro do vhost da metareciclagem), que ainda não sei como vou resolver). Já aproveitei e atualizei pra versão mais recente do druipal 5.x. Quando as coisas andarem, vamos atualizar tudo pra 6.x, mas ainda não é a hora. Também editei os scripts que tinha montado pra facilitar a atualização com o drush. Testei, e funcionou 100%. Por exemplo, o script pra atualizar este site é um arquivo texto em /usr/bin/atualiza_efeefe, que contém o abaixo:

#!/bin/sh
cd /diretorio_multisite/htdocs-prod
sudo drush refresh -l efefe.no-ip.org
sudo drush update -l efefe.no-ip.org
sudo drush updatedb -l efefe.no-ip.org