Configurar o WordPress Multisite, também conhecido como WordPress MU ou simplesmente WordPress Multiblog, pode em alguns casos ser uma dor de cabeça devido principalmente às configurações dos servidores web que servem os pedidos ao WordPress. Nesta primeira parte da série iremos abordar como facilmente ligar e instalar a opção Multisite do WordPress tentando abordar todo o tipo de configurações que o seu servidor possa deter incluindo diferentes ambientes e servidores. Nesta parte não vamos ainda olhar as soluções para montar ou escalar uma rede com muitos blogs – estamos ainda a dar os passos iniciais!
Durante esta série de tutoriais iremos:
- Ensinar como ligar facilmente a opção de Multisite no WordPress e o que fazer após a instalação do Multisite concluída;
- Abordar soluções de plugins testados que podem ajudá-lo no desenvolvimento do seu projecto para criar facilmente a sua rede de blogues;
- Desenvolver snippets de códigos e mostrar o “canivete suíço” de funções exclusivas do WordPress Multisite;
- Abordar várias soluções de configuração e ambientes de trabalho: desde o servidor web Apache ao servidor Nginx, passando por outras soluções de routeamento estático tais como o servidor lighttpd;
- Abordar as soluções de cache em memória, usando memcached ou APC, assim como soluções de cache persistente estáticas em disco, para acelerar a sua rede e evitar ligações perdidas;
- Aumentar o poder da sua instalação WordPress Multisite de modo a poder aceitar mais ligações simultâneas sem perda de performance dos seus sites;
- Escalar a sua rede para usar multiplas bases de dados e aumentar o poder da sua rede;
- Como estruturar e manter uma rede com mais de 1 milhão de blogues;
- Mostrar soluções encontradas para problemas com o Multisite;
- Desenvolver teoricamente configurações de rede Multisite para várias soluções de mercado;
PARTE 1 – CONFIGURAR A OPÇÃO MULTISITE
Nesta primeira parte da série iremos abordar como facilmente ligar e instalar a opção Multisite do WordPress tentando abordar todo o tipo de configurações que o seu servidor possa deter incluindo diferentes ambientes e servidores. Nesta parte não vamos ainda olhar as soluções para montar ou escalar uma rede com muitos blogs – estamos ainda a dar os passos iniciais. :)
INTRODUÇÃO
Para quem não sabe, o WordPress Multisite é uma funcionalidade que apareceu com a vinda da versão 3 do WordPress. Esta funcionalidade permite ao administrador do WordPress correr vários blogues com nomes, conteúdo, temas e domínios diferentes numa única instalação WordPress. Esta configuração, à qual chamamos de rede, tem sido usada por várias hospedagens de blogues nos últimos dois anos que permitem qualquer um criar o seu próprio blogue em poucos minutos, facilmente e diretamente, sem necessidade de deter um servidor próprio ou ter que mexer em linhas de código. Normalmente o processo é muito simples: realizar uma inscrição onde escolhe o nome do subdomínio e depois é só começar a escrever.
Hospedagens de blogues como o WordPress.com ou o Blogs.com usam o WordPress Multisite como motor da sua rede, rodando vários milhões de blogues em vários servidores Web e MySQL localizados em todo o mundo que regularmente trocam informações entre si, isto tudo com apenas uma única instalação WordPress.
Anteriormente ao WordPress 3.0, existia um projecto chamado WordPress «Miu» que era um fork do WordPress normal, com a diferença de se poder gerir vários blogues em simultâneo na mesma instalação. Na versão 2.9 os dois projectos começaram a fundir-se dando origem ao WordPress 3.0 com a opção Multisite.
COMO INSTALAR UMA REDE DE WORDPRESS MULTISITE
Existem imensos tutoriais na internet, muitos deles dizem que basta mudar uma linha de código, instalar um plugin ou simplesmente copiar um ficheiro e colocá-lo noutro lugar. Desengane-se! Você pode ser dos 20% dos casos em que nada disso irá funcionar, pelo contrário poderá até por em causa a segurança do seu servidor. Na verdade, neste caso como em quase todos, o melhor será ir «à fonte» e ler o guia oficial do WordPress de como criar uma rede de blogues multisite. Este guia resulta para maior parte dos casos. Nós aqui da Escola WordPress decidimos fazer desta primeira parte uma espécie de tradução do que se encontra nesse guia acrescentando também exemplos de várias configurações possíveis.
PASSO 1: PREPARAR PARA A INSTALAÇÃO
Neste tutorial iremos mostrar vários exemplos, tenha em conta que o domínio a-minha-rede.com é fictício e você deve substituir pelo seu domínio em todos os exemplos.
SUBDOMÍNIO VS DIRETORIA
Esta configuração permite que você use os vários blogues na mesma instalação de duas maneiras diferentes: você pode usá-los como diretoria, ou seja subpasta, do blogue principal por exemplo http://a-minha-rede.com/blog1, http://a-minha-rede.com/blog2, etc...
ou então você poderá usar o poderá configurá-los em subdomínio http://blog1.a-minha-rede.com/, http://blog2.a-minha-rede.com/, etc...
.
A opção de subdomínio é a que vamos abordar aqui pois é a que requer mais preocupações na configuração e também é aquela que possibilita-nos ter domínios completamente separados para qualquer um dos blogues configurados na rede.
REQUISITOS
Antes de instalar você deverá em primeiro lugar se perguntar qual vai ser o seu tipo de configuração para a rede: subdomínios ou subdiretorias. A opção de subdiretorias não requer preocupações extra ao nível do servidor, o entanto, se você quiser optar pela configuração subdomínios terá que ver se consegue fazer uma das seguintes instruções no servidor da sua instalação:
- Editar as entradas DNS do seu domínio;
- Usando CPanel, Plesk ou Webmin, criar subdomínios do mesmo domínio que apontem para o mesmo caminho do domínio principal;
- Criar hosts virtuais na configuração do seu Apache de modo que todas apontem para a mesma diretoria de webroot;
Você deve ter que poder realizar pelo menos uma destas acções para poder usufruir da instalação Multisite. Caso nenhuma destas opções esteja disponível ou não as consiga encontrar, contacte o seu fornecedor de hosting e peça-lhe que o guie neste processo. Se nenhuma destas opções estiver disponível você não poderá proceder com esta configuração, sendo que, o melhor será arranjar um serviço de hosting que lhe dê esta possibilidade.
Se você puder fazer qualquer uma destas opções, é preferível usar a primeira, pois não terá que criar hosts virtuais ou indicar no CPanel os subdomínios manualmente.
EDITAR AS ENTRADAS DNS
Para esta opção precisamos apenas de acrescentar uma entrada Wildcard ao domínio, ou seja, uma entrada *.a-minha-rede.com
para que a se possa criar vários subdomínios.
Usando o CPanel:
- Terá que ter acesso à opção Edit DNS Zone (Editar zona DNS), que se encontra listada no conjunto DNS Functions (Ferramentas DNS).
- Clique em Edit DNS Zone. Aparecerá uma lista dos seus domínios configurados. Selecione o domínio que deseja.
- Faça scroll até encontrar Add New Entries Below this Line e escreva o que se encontra na figura, mudando apenas 65.66.67.68 para o IP da sua máquina.
- Guarde as suas definições.
Usando o Plesk
- Vá até DNS Management e selecione o domínio que pretende configurar.
- Configure como está na figura em cima e descrito no procedimento acima.
- Clique em Renew DNS para atualizar as configurações.
CONFIGURAR O APACHE PARA SUBDOMÍNIOS E PERMALINKS
Pode acontecer que a configuração do seu servidor Apache não reúna todas as condições necessárias para procedermos, levando a que puramente a instalação falhe e o site deixe de funcionar.
Neste caso vamos ter que nos preocupar com duas condições:
- Se o mod_rewrite do Apache se encontra ativo, que possibilita a existência de ligações permanentes sem existir “símbolos esquesitos”
- Se o virtual host aceita alias do domínio;
Para resolver o primeiro caso, o melhor será:
A) criar um ficheiro php no root do seu servidor, onde se encontram os ficheiros iniciais do WordPress conjuntamente com as diretorias wp-admin, wp-content e wp-includes. Crie um ficheiro com o nome info.php e inclua o seguinte código:
<?php phpinfo(); ?>
Salve-o e abra-o no browser: http://a-minha-rede.com/info.php. Irá aparecer uma série de informações. Procure por mod_rewrite e se encontrar e a coluna da direita disser active, então poderemos prosseguir. Caso isso não aconteça siga sugiro que instale um servidor XAMPP à parte.
É importante que, assim que terminar a sua pesquisa, você apague esse ficheiro info.php. Ele contém informações muito importantes do seu servidor que, se for cair nas mãos erradas, poderá ser alvo de ataques por crackers.
B) Abra o ficheiro httpd.conf ou equivalente, ou então através do painel de controlo CPanel ou Plesk procure pelas configurações do Servidor Web Apache e dentro do ficheiro httpd.conf edite-o acrescentando o ServerAlias seguinte:
<VirtualHost a-minha-rede.com:80> ... ServerAlias *.a-minha-rede.com ...
PASSO 2: A INSTALAÇÃO DO MULTISITE
Agora que estamos prontos para proceder à instalação vamos então seguir os passos seguintes para criar a nossa rede de blogues:
A) Abra o ficheiro wp-config.php da sua instalação e coloque o seguinte código por baixo da variável $table_prefix:
define('WP_ALLOW_MULTISITE', true);
Salve o ficheiro.
B) Dirija-se à administração do seu WordPress e clique no submenu Rede / Network que se encontra no menu Ferramentas / Tools. Aparecerá uma tela que irá pedir várias informações.
Irá ser perguntado se pretende instalação em subdominio ou em subdiretoria. Escolha subdomínio, pois assim terá mais poder e funcionalidades sobre a rede. Caso a instalação seja feita num localhost, você só poderá usar a funcionalidade de subdiretorias.
Existem também algumas opções que você poderá alterar como o nome que pretende dar à rede e endereço de e-mail do administrador da rede.
Após este passo clique no botão para avançar. Este processo pode demorar algum tempo, pois o WordPress irá refazer a estrutura da base de dados e ter que editar e escrever novo conteúdo. Irá de seguida aparecer uma mensagem a dizer que está tudo pronto. Caso isso não aconteça, então irá aparecer vários blocos de código gerados pelo WordPress. Ele irá pedir para que você crie os ficheiros com os codigos necessários. Neste caso procedemos assim:
- O código do primeiro bloco você deve colar no wp-config.php logo por baixo do código que colocámos anteriormente.
- O segundo bloco é o ficheiro htaccess que é usado para rotear as chamadas ao servidor para os locais específicos. Crie um ficheiro chamado .htaccess no root da instalação, e cole esse código. Caso o ficheiro já exista, remova todo o seu conteúdo anteriormente gerado e cole este novo.
- Crie a diretoria blogs.dir dentro do wp-content e dê-lhe permissões de escrita e leitura a todos os utilizadores. Você poderá fazer isso por linha de comandos ou por FTP usando chmod 777 wp-content/blogs.dir
Após isto concluído volte a logar-se novamente na administração. A sua instalação multisite deverá já estar pronta!
BÔNUS: COMO REMOVER O MULTISITE DE UMA INSTALAÇÃO WORDPRESS
Este é um capítulo bónus para a série e deve ser considerado sempre de alto risco, uma vez que o WordPress com a opção do Multisite ativada não tem nenhum mecanismo para reverter esse processo, no entanto, é possível revertê-lo manualmente seguindo estes passos:
- No menu do administrador da rede, apague todos os sites que se encontram.
- Apague os códigos do wp-config.php que foram incluídos com a instalação do multisite.
- Remova o ficheiro .htaccess.
- Remova o diretório blogs.dir do wp-content, mas tenha em atenção para não apagar conteúdo importante.
- Dirija-se ao banco de dados e remova todas as tabelas dedicadas aos blogues. Estas tabelas estão indicadas com um número a seguir ao prefixo, que corresponde ID do respetivo blogue.
- Apague as tabelas que foram inseridas com a instalação do multisite. São elas: <prefixo>_blogs, <prefixo>_blog_versions, <prefixo>_registration_log, <prefixo>_signups, <prefixo>_site e <prefixo>_sitemeta
Após este processo, poderá dirigir-se novamente ao site e, se tudo correu bem, você terá novamente o seu blogue normal sem a opção do multisite.
Até Já!