Nova morada

Link

Decidi deixar de usar o domínio que usava neste blogue desde o seu inicio em 2005, embora não publique com muita frequência uso o servidor e o domínio para alojar algumas experiências e fazer testes.

Utilizei nestes 11 anos o serviço gratuito do no-ip.com, que nunca me deixou mal! quando criei a conta o domínio no-ip.com ainda fazia parte dos domínios que podia usar nas contas gratuitas, sei que isso já não é possível há alguns anos….

Neste período o blogue esteve offline algumas vezes com motivos como por exemplo, acidentalmente me “fechar” fora da firewall (Iptables) ou quando faltava a corrente eléctrica ou a internet e principalmente quando fazia alterações no servidor (que também me serve para outras coisas!!!) que corriam mal!

Não me esforcei muito para encontrar um novo domínio… substitui apenas o .no-ip.com por .net!!

Para esta alteração ser transparente renomeie o host antoniocampos.no-ip.com do apache para antoniocampos.net e apontei o host antoniocampos.no-ip.com para uma pasta que apenas tem um .htaccess que reencaminha todos os pedidos para o novo domínio exactamente com os mesmo parâmetros!!!

RewriteEngine on
RewriteRule ^(.*)$ http://antoniocampos.net/$1 [R=301,L]

Na configuração do WordPress alterei o domínio nas configurações reiniciei o Apache e parece que funcionou!!!

Como o servidor é fraquinho aproveitei para configurar o serviço cloudflare para me poupar alguma largura de banda e alguns pedidos…

Embora não seja coisa que me preocupa muito… segundo o video do Matt Cutts (da Google) esta alteração não deve afectar a indexação dos motores de busca… nem a “autoridade” (se é que tenho alguma!!) do site…

WordPress não mostra a “Admin Bar”

Hoje depois de atualizar uma das minhas instalações de WordPress para a versão 3.1 a nova barra de admin que aparece quando estamos no site não aparecia, como é um theme feito por mim resolvi investigar o porquê.

A causa para a barra não aparecer é que não estava a implementar corretamente a class do body, para resolver este problema bastou no ficheiro em que abro a tag body, bastou adicionar a seguir à abertura da tag <body> adicionar a função do wordpress que faz echo da class adequada para ser possível a apresentação da dita barra de admin. O código a adicionar é o seguinte <?php body_class($class)?>, pelo que a declaração do body ficará <body <?php body_class($class); ?>>. E basta isto para tornar qualquer theme compatível com a nova barra de admin omnipresente.

WordPress Child Themes

Recentemente depois de actualizar um blogue para o WordPress 3.0, cliquei sem em actualizar Plugins e Temas sem me lembrar que o tema usado estava modificado. Ao actualizar as modificações foram perdidas”¦ para evitar o mesmo erro no futuro decidi criar um Child Theme, e que é um Child Theme???

Um Child Theme é um Theme que deriva de outro Theme, ou seja no Child Theme que podemos chamar Tema Derivado implementamos apenas as modificações ao tema original, se por exemplo quiser-mos alterar algo no ficheiro single.php alteramos apenas esse ficheiro ficando o original do tema intacto, viabilizando assim futuras actualizações, sem comprometer as alterações que fizemos.

A estrutura de um Child Theme é bastante simples, primeiro criamos um directório para alojar os ficheiros modificados, fazemos as alterações que pretendemos, aconselho a copiar o ficheiro original do Theme Parent e fazer ai as alterações. Depois de termos as alterações pretendidas falta apenas criar o ficheiro onde o WordPress vai ler as informações do Tema esse ficheiro tem o nome de Style.css e vai sobrepor o Style.css do tema original á semelhança do que acontece com os outros ficheiros que colocar-mos no nosso Child Theme, este Style.css tem uma particularidade em relação ao original, que é uma tag que informa o WordPress de qual é o tema em que nos baseamos, esta tag é a tag Template. Deixo a seguir o Style.css para um Child Theme baseado no novo tema por defeito do WordPress que é o “Twenty Ten”:

/*
Theme Name:     Nome do Child Theme
Theme URI:      http: //UmUrlQualquer.com/
Description:    Descrição do Child Theme 
Author:         O seu nome
Author URI:     http: //OutroUrlQualquer.com/
Template:       twentyten
Version:        0.0.1
*/

 

Se quisermos usar o css do tema original basta fazer um import do style.css original, que no caso do tema Twenty Ten será:

@import url("../twentyten/style.css");

Podemos ainda no style.css modificar o css original, basta criar os elementos com o mesmo nome e adicionar as nossas personalizações.

Depois do tema criado é só fazer upload para a pasta “wp-content/themes/” e no painel de administração do blogue activar o mesmo. E os problemas com as actualizações do tema principal deixam de ser um  problema.

WordPress comentários muito lentos

De há uns tempos para cá submeter um comentário no meu blogue quase sempre resultava de um timeout, embora o mesmo fosse inserido, ás vezes o timeout demorava quase 1 minuto.

Depois de andar ás voltas a toda a instalação e de ter reinstalado a mesma várias vezes, cheguei á conclusão que a culpa era da configuração de um plugin. O nome do Plugin é “W3 Total Cache”, este plugin faz cache de várias “coisas” do WordPress uma delas é o “database cache”, que faz cache dos queries do WordPress ao MySQL.
Á primeira tentativa para desactivar recebi também um timeout, resolvi investigar, era a pasta “dbcache” do plugin que além de milhares de pastas e ficheiros, tinha um tamanho absurdo para testar renomeie a pasta e criei outra com o mesmo nome, assim consegui desactivar a parte da cache da Base de Dados do W3 Total Cache, com o plugin desactivado o blogue deixou de funcionar devido a uma limitação do meu host, que não deixa um utilizador do MySQL ter mais do que 10 ligações simultaneas ao servidor de Base de Dados.
Baixei então para um valor muito pequeno (120 segundos) a validade da cache dos queries e por agora parece que está tudo a funcionar, alterei também o “Garbage collection interval” para 180 segundos.

Embora seja um plugin que aconselho devido a acelarar bastante a apresentação do site, fica aqui a recomendação!!!

Problema Resolvido

O problema que relatei aqui foi resolvido.

Não encontrei a causa por isso posso continuar á mercê dos hackaros, mas pelo menos para já os sites estão limpos (este blogue está alojado noutro provider e não foi afectado).

O processo de limpeza foi simples mas demorado, comecei por fazer download de todos os ficheiros que tinha na conta afectada, pagar numa instalação “virgem” do WordPress e copiar para cima dos ficheiros já existentes, de cada instalação que tenho do WordPress. Mesmo assim continuava a haver ficheiros infectados. Fiz uma pequena aplicação em C# que pesquisa recursivamente todos os ficheiros pelo código injectado e o apaga copiando para outro directorio os ficheiros “limpos”.

Se alguém padecer do mesmo mal, que esteja á vontade para me solicitar o código que usei para percorrer todos os ficheiros em todos os directórios e sub-directórios e encontrar os ficheiros afectados. Não disponibilizo aqui a aplicação porque está um bocado tosca, para a usar convém ler o código e ajustar á infecção que os ficheiros tiverem.